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,128 @@
# Sprint Completion Summary - December 30, 2025
## Completed Sprints
### SPRINT_20251229_009_PLATFORM_ui_control_gap_report
- **Status**: COMPLETE (all 4 tasks DONE)
- **Scope**: UI control coverage audit and gap report
- **Evidence**: Gap report appendix with 11 new sprints mapped
### SPRINT_20251229_010_PLATFORM_integration_catalog_core
- **Status**: COMPLETE (all 9 tasks DONE)
- **Scope**: Integration Catalog service with plugin architecture
- **Location**: `src/Integrations/`
- **Key Deliverables**:
- Integration entity schema (type, provider, auth, status, metadata)
- CRUD endpoints with pagination
- AuthRef secret reference integration
- Test-connection and health polling contracts
- Plugin architecture with `IIntegrationConnectorPlugin`
- Connector plugins: InMemory, Harbor, GitHubApp
- Integration lifecycle events
### SPRINT_20251229_011_FE_integration_hub_ui
- **Status**: CORE COMPLETE (tasks 001-009 DONE, P1/P2 items 010-016 deferred)
- **Scope**: Integration Hub UI components
- **Location**: `src/Web/StellaOps.Web/src/app/features/integration-hub/`
- **Key Deliverables**:
- Integration list view with filters and status badges
- Integration detail view with health and activity tabs
- Connection test UI
- Activity log timeline with filtering and stats
- Routes wired to Angular app
- UI architecture doc updated (section 3.10)
### SPRINT_20251229_012_SBOMSVC_registry_sources
- **Status**: COMPLETE (all 8 tasks DONE)
- **Scope**: Registry source management for container registries
- **Location**: `src/SbomService/StellaOps.SbomService/`
- **Key Deliverables**:
- Registry source schema (RegistrySourceModels.cs)
- CRUD/test/trigger/pause/resume endpoints (RegistrySourceController.cs)
- AuthRef credential integration
- Webhook ingestion (RegistryWebhookService.cs, RegistryWebhookController.cs)
- Supports: Harbor, DockerHub, ACR, ECR, GCR, GHCR
- HMAC-SHA256 signature validation
- Auto-provider detection from headers
- Repository/tag discovery (RegistryDiscoveryService.cs)
- OCI Distribution Spec compliant
- Allowlist/denylist filtering
- Pagination via Link headers
- Scan job emission (ScanJobEmitterService.cs)
- Batch submission with rate limiting
- Deduplication
- Scanner API integration
- Architecture doc updated (section 8.1)
## Files Created
### src/Integrations/
- `AGENTS.md` - Module documentation
- `StellaOps.Integrations.WebService/` - Main service
- `Program.cs`, `IntegrationService.cs`, `IntegrationEndpoints.cs`
- `IntegrationPluginLoader.cs`, `appsettings.json`
- `Infrastructure/Abstractions.cs`, `Infrastructure/DefaultImplementations.cs`
- `__Libraries/StellaOps.Integrations.Core/` - Core models
- `Integration.cs`, `IntegrationEnums.cs`, `IntegrationModels.cs`
- `__Libraries/StellaOps.Integrations.Contracts/` - Plugin contracts
- `IIntegrationConnectorPlugin.cs`, `IntegrationDtos.cs`
- `__Libraries/StellaOps.Integrations.Persistence/` - Data access
- `IIntegrationRepository.cs`, `IntegrationDbContext.cs`, `PostgresIntegrationRepository.cs`
- `__Plugins/StellaOps.Integrations.Plugin.InMemory/` - Test connector
- `__Plugins/StellaOps.Integrations.Plugin.Harbor/` - Harbor connector
- `__Plugins/StellaOps.Integrations.Plugin.GitHubApp/` - GitHub App connector
### src/SbomService/StellaOps.SbomService/
- `Models/RegistrySourceModels.cs` - Entity and enum definitions
- `Repositories/IRegistrySourceRepository.cs` - Repository interfaces
- `Repositories/RegistrySourceRepositories.cs` - In-memory implementations
- `Services/RegistrySourceService.cs` - Business logic
- `Services/RegistryWebhookService.cs` - Webhook processing
- `Services/RegistryDiscoveryService.cs` - Registry discovery
- `Services/ScanJobEmitterService.cs` - Scanner integration
- `Controllers/RegistrySourceController.cs` - REST API
- `Controllers/RegistryWebhookController.cs` - Webhook endpoints
### src/Web/StellaOps.Web/src/app/features/integration-hub/
- `integration-hub.component.ts` - Hub container
- `integration-list.component.ts` - List view
- `integration-detail.component.ts` - Detail view
- `integration-activity.component.ts` - Activity timeline
## Files Modified
- `src/SbomService/StellaOps.SbomService/Program.cs` - DI registrations
- `src/Web/StellaOps.Web/src/app/app.routes.ts` - Integration routes
- `docs/modules/sbomservice/architecture.md` - Section 8.1 added
- `docs/modules/ui/architecture.md` - Section 3.10 added
- `docs/architecture/integrations.md` - Plugin architecture section
## Archived Sprints
All completed sprints moved to `docs/implplan/archived/2025-12-29-completed-sprints/`:
- SPRINT_20251229_009_PLATFORM_ui_control_gap_report.md
- SPRINT_20251229_010_PLATFORM_integration_catalog_core.md
- SPRINT_20251229_011_FE_integration_hub_ui.md
- SPRINT_20251229_012_SBOMSVC_registry_sources.md
### SPRINT_20251229_026_PLATFORM_offline_kit_integration
- **Status**: COMPLETE (all 12 tasks DONE)
- **Scope**: Offline Kit integration for air-gapped operation
- **Location**: `src/Scanner/StellaOps.Scanner.WebService/` + `src/Web/StellaOps.Web/`
- **Key Deliverables**:
- FE: OfflineModeService with health check and state management
- FE: ManifestValidatorComponent with drag-drop and validation
- FE: BundleFreshnessWidget with age indicators
- FE: OfflineBannerComponent and ReadOnlyGuard
- FE: OfflineVerificationComponent with evidence chain visualization
- FE: offline-kit feature with dashboard, bundles, verification, JWKS views
- BE: OfflineKitManifestService with GetManifestAsync and ValidateManifest
- BE: /api/offline-kit/manifest and /api/offline-kit/validate endpoints
- BE: /api/v1/offline-kit/* alias routes for backward compatibility
- E2E tests for manifest, validate, and v1 alias endpoints
## Architecture Decisions
1. **Integration Catalog in dedicated service**: `src/Integrations/` NOT Gateway (Gateway is HTTP routing only)
2. **Plugin architecture for connectors**: Each provider implements `IIntegrationConnectorPlugin`
3. **AuthRef for all credentials**: No raw credentials in code or config
4. **OCI Distribution Spec compliance**: Standard registry API for discovery
5. **Webhook signature validation**: HMAC-SHA256 with provider-specific patterns
6. **Offline Kit v1 alias in Scanner**: Alias routes added directly in Scanner endpoints for backward compatibility