Files
git.stella-ops.org/docs/features/unchecked/integrations/toolchain-agnostic-integrations.md

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