30 lines
2.0 KiB
Markdown
30 lines
2.0 KiB
Markdown
# SBOM Service Lineage Projection API
|
|
|
|
## Module
|
|
SbomService
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
REST API for querying SBOM lineage projections including component lookup, version history, and dependency graph traversal with LNM v1 schema support.
|
|
|
|
## Implementation Details
|
|
- **Projection models**: `src/SbomService/StellaOps.SbomService/Models/SbomProjectionModels.cs` -- `SbomProjectionResult` record with SnapshotId, TenantId, Projection (JsonElement), ProjectionHash, SchemaVersion
|
|
- **Path models**: `src/SbomService/StellaOps.SbomService/Models/SbomPathModels.cs` -- graph path traversal models for lineage queries
|
|
- **Projection repository interface**: `src/SbomService/StellaOps.SbomService/Repositories/IProjectionRepository.cs` -- projection storage contract
|
|
- **File projection repository**: `src/SbomService/StellaOps.SbomService/Repositories/FileProjectionRepository.cs` -- file-backed projection storage
|
|
- **Postgres projection repository**: `src/SbomService/__Libraries/StellaOps.SbomService.Persistence/Postgres/Repositories/PostgresProjectionRepository.cs` -- PostgreSQL-backed projection storage
|
|
- **Query service**: `src/SbomService/StellaOps.SbomService/Services/ISbomQueryService.cs`, `InMemorySbomQueryService.cs` -- SBOM query with projection support
|
|
- **Lineage domain models**: `src/SbomService/__Libraries/StellaOps.SbomService.Lineage/Domain/LineageModels.cs` -- lineage domain with projection relationships
|
|
- **Observability**: `src/SbomService/StellaOps.SbomService/Observability/SbomMetrics.cs` -- projection query metrics
|
|
- **Tests**: `src/SbomService/StellaOps.SbomService.Tests/ProjectionEndpointTests.cs` -- projection endpoint tests
|
|
- **Source**: SPRINT_0142_0001_0001_sbomservice.md
|
|
|
|
## E2E Test Plan
|
|
- [ ] Verify projection API returns valid SbomProjectionResult with correct schema version
|
|
- [ ] Test component lookup queries through projection API
|
|
- [ ] Verify version history queries return ordered results
|
|
- [ ] Test dependency graph traversal across lineage projections
|
|
- [ ] Verify projection hash integrity for deterministic outputs
|