Frontend gaps fill work. Testing fixes work. Auditing in progress.
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user