6.2 KiB
6.2 KiB
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 documentationStellaOps.Integrations.WebService/- Main serviceProgram.cs,IntegrationService.cs,IntegrationEndpoints.csIntegrationPluginLoader.cs,appsettings.jsonInfrastructure/Abstractions.cs,Infrastructure/DefaultImplementations.cs
__Libraries/StellaOps.Integrations.Core/- Core modelsIntegration.cs,IntegrationEnums.cs,IntegrationModels.cs
__Libraries/StellaOps.Integrations.Contracts/- Plugin contractsIIntegrationConnectorPlugin.cs,IntegrationDtos.cs
__Libraries/StellaOps.Integrations.Persistence/- Data accessIIntegrationRepository.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 definitionsRepositories/IRegistrySourceRepository.cs- Repository interfacesRepositories/RegistrySourceRepositories.cs- In-memory implementationsServices/RegistrySourceService.cs- Business logicServices/RegistryWebhookService.cs- Webhook processingServices/RegistryDiscoveryService.cs- Registry discoveryServices/ScanJobEmitterService.cs- Scanner integrationControllers/RegistrySourceController.cs- REST APIControllers/RegistryWebhookController.cs- Webhook endpoints
src/Web/StellaOps.Web/src/app/features/integration-hub/
integration-hub.component.ts- Hub containerintegration-list.component.ts- List viewintegration-detail.component.ts- Detail viewintegration-activity.component.ts- Activity timeline
Files Modified
src/SbomService/StellaOps.SbomService/Program.cs- DI registrationssrc/Web/StellaOps.Web/src/app/app.routes.ts- Integration routesdocs/modules/sbomservice/architecture.md- Section 8.1 addeddocs/modules/ui/architecture.md- Section 3.10 addeddocs/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
- Integration Catalog in dedicated service:
src/Integrations/NOT Gateway (Gateway is HTTP routing only) - Plugin architecture for connectors: Each provider implements
IIntegrationConnectorPlugin - AuthRef for all credentials: No raw credentials in code or config
- OCI Distribution Spec compliance: Standard registry API for discovery
- Webhook signature validation: HMAC-SHA256 with provider-specific patterns
- Offline Kit v1 alias in Scanner: Alias routes added directly in Scanner endpoints for backward compatibility