Frontend gaps fill work. Testing fixes work. Auditing in progress.

This commit is contained in:
StellaOps Bot
2025-12-30 01:22:58 +02:00
parent 1dc4bcbf10
commit 7a5210e2aa
928 changed files with 183942 additions and 3941 deletions

View File

@@ -0,0 +1,84 @@
# Integrations Module Agent Instructions
## Module Identity
**Module:** Integrations
**Purpose:** Canonical integration catalog for registries, SCM providers, CI systems, repo sources, and runtime hosts.
**Deployable:** `src/Integrations/StellaOps.Integrations.WebService`
---
## Directory Layout
```
src/Integrations/
├── StellaOps.Integrations.WebService/ # ASP.NET Core host
├── __Libraries/
│ ├── StellaOps.Integrations.Core/ # Domain models, enums, events
│ ├── StellaOps.Integrations.Contracts/ # Plugin contracts and DTOs
│ ├── StellaOps.Integrations.Plugins.Abstractions/ # IIntegrationConnectorPlugin
│ ├── StellaOps.Integrations.Persistence/ # PostgreSQL repositories
│ └── StellaOps.Integrations.Testing/ # Shared test fixtures
├── __Plugins/
│ ├── StellaOps.Integrations.Plugin.GitHubApp/
│ ├── StellaOps.Integrations.Plugin.GitLab/
│ ├── StellaOps.Integrations.Plugin.Harbor/
│ ├── StellaOps.Integrations.Plugin.Ecr/
│ ├── StellaOps.Integrations.Plugin.Gcr/
│ ├── StellaOps.Integrations.Plugin.Acr/
│ └── StellaOps.Integrations.Plugin.InMemory/ # Testing / dev
└── __Tests/
└── StellaOps.Integrations.Tests/
```
---
## Roles & Responsibilities
| Role | Expectations |
| --- | --- |
| Backend Engineer | Implement core catalog, plugin loader, API endpoints, event publisher |
| Plugin Author | Implement `IIntegrationConnectorPlugin` for new providers |
| QA Engineer | Cover plugin loading, test-connection, health polling, CRUD scenarios |
| PM/Architect | Keep plugin contracts stable; coordinate cross-module dependencies |
---
## Plugin Contract
All connectors implement `IIntegrationConnectorPlugin : IAvailabilityPlugin`:
```csharp
public interface IIntegrationConnectorPlugin : IAvailabilityPlugin
{
IntegrationType Type { get; }
IntegrationProvider Provider { get; }
Task<TestConnectionResult> TestConnectionAsync(IntegrationConfig config, CancellationToken ct);
Task<HealthCheckResult> CheckHealthAsync(IntegrationConfig config, CancellationToken ct);
}
```
---
## Required Reading
- `docs/modules/platform/architecture-overview.md`
- `docs/architecture/integrations.md`
- `docs/modules/authority/architecture.md` (AuthRef handling)
---
## Constraints
1. **No raw secrets:** All credentials use AuthRef URIs resolved at runtime.
2. **Determinism:** Stable ordering in listings; UTC timestamps.
3. **Offline-first:** All plugin test-connection and health must handle network failure gracefully.
4. **Event emission:** Lifecycle events go to Scheduler/Signals via message queue.
---
## Test Coverage
- Unit tests in `__Tests/StellaOps.Integrations.Tests`
- Each plugin has its own test class mocking external APIs
- Integration tests use `StellaOps.Integrations.Plugin.InMemory`