31 lines
2.1 KiB
Markdown
31 lines
2.1 KiB
Markdown
# Toolchain-Agnostic Integrations (SCM/CI/Registry)
|
|
|
|
## Module
|
|
Integrations
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## 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
|
|
- [ ] Verify plugin loader discovers connectors for SCM, CI, and Registry types
|
|
- [ ] Test GitHub App and GitLab connectors through unified interface
|
|
- [ ] Verify Harbor and InMemory registry connectors work interchangeably
|
|
- [ ] Test integration management API handles all connector types
|
|
- [ ] Verify toolchain-agnostic contract allows adding new connector plugins
|