36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
# Toolchain-Agnostic Integrations (SCM/CI/Registry)
|
|
|
|
## Module
|
|
Integrations
|
|
|
|
## Status
|
|
VERIFIED
|
|
|
|
## Description
|
|
Plugin-based integration architecture with connector plugins, integration hub UI, and setup wizard is implemented.
|
|
|
|
## Implementation Details
|
|
- **Plugin contract**: `src/Integrations/__Libraries/StellaOps.Integrations.Contracts/IIntegrationConnectorPlugin.cs` -- toolchain-agnostic connector interface
|
|
- **Plugin loader**: `src/Integrations/StellaOps.Integrations.WebService/IntegrationPluginLoader.cs` -- dynamic plugin loading for SCM/CI/Registry connectors
|
|
- **Built-in plugins**: GitHub App (`StellaOps.Integrations.Plugin.GitHubApp/`), GitLab (`StellaOps.Integrations.Plugin.GitLab/`), Harbor (`StellaOps.Integrations.Plugin.Harbor/`), InMemory (`StellaOps.Integrations.Plugin.InMemory/`)
|
|
- **Integration service**: `src/Integrations/StellaOps.Integrations.WebService/IntegrationService.cs` -- manages plugin lifecycle
|
|
- **Integration endpoints**: `src/Integrations/StellaOps.Integrations.WebService/IntegrationEndpoints.cs` -- REST API for managing integrations
|
|
- **SCM annotations**: `src/Integrations/__Libraries/StellaOps.Integrations.Contracts/ScmAnnotationContracts.cs` -- SCM-agnostic annotation interface
|
|
- **Integration core**: `src/Integrations/__Libraries/StellaOps.Integrations.Core/` -- `Integration.cs`, `IntegrationModels.cs`, `IntegrationEnums.cs`
|
|
- **Persistence**: `src/Integrations/__Libraries/StellaOps.Integrations.Persistence/PostgresIntegrationRepository.cs`
|
|
- **Frontend**: Integration hub wizard UI and detail views in `src/Web/`
|
|
- **Tests**: `src/Integrations/__Tests/StellaOps.Integrations.Tests/IntegrationServiceTests.cs`, `IntegrationPluginLoaderTests.cs`, `StellaOps.Integrations.Plugin.Tests/InMemoryConnectorPluginTests.cs`
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- [x] Verify plugin loader discovers connectors for SCM, CI, and Registry types
|
|
- [x] Test GitHub App and GitLab connectors through unified interface
|
|
- [x] Verify Harbor and InMemory registry connectors work interchangeably
|
|
- [x] Test integration management API handles all connector types
|
|
- [x] Verify toolchain-agnostic contract allows adding new connector plugins
|
|
|
|
## Verification
|
|
- Run ID: run-002
|
|
- Date: 2026-02-12
|
|
- Result: pass (46/46 tests, Tier 0+1+2d verified)
|