2.1 KiB
2.1 KiB
SBOM Lineage NDJSON Streaming Export
Module
SbomService
Status
IMPLEMENTED
Description
NDJSON (newline-delimited JSON) streaming export for SBOM lineage graphs. Enables efficient bulk export of lineage data for offline analysis, air-gap transfer, and integration with external tools that consume streaming JSON formats.
Implementation Details
- Export service interface:
src/SbomService/StellaOps.SbomService/Services/ILineageExportService.cs-- export contract - Export service implementation:
src/SbomService/StellaOps.SbomService/Services/LineageExportService.cs-- generates signed evidence packs in NDJSON format; 50MB max export size; includes SBOM diff, VEX deltas, reachability diffs, and attestations; optional keyless signing - Export models:
src/SbomService/StellaOps.SbomService/Models/LineageExportModels.cs--LineageExportRequest,LineageExportResponse,EvidencePack(NDJSON structured); configurable includes (SbomDiff, VexDeltas, ReachabilityDiff, Attestations) - NDJSON endpoint:
src/SbomService/StellaOps.SbomService/Program.cs-- endpoint returnsapplication/x-ndjsoncontent type with deterministic line ordering - Tests:
src/SbomService/StellaOps.SbomService.Tests/ResolverFeedExportTests.cs--Export_returns_ndjson_in_deterministic_ordertest verifying NDJSON output and content type - Frontend export UI:
src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-export-buttons/lineage-export-buttons.component.ts,lineage-export-dialog/lineage-export-dialog.component.ts,export-dialog/export-dialog.component.ts - Frontend export service:
src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts - Source: BATCH_20251229_BE_COMPLETION_SUMMARY.md (SBOM Lineage API sprint section)
E2E Test Plan
- Verify NDJSON export endpoint returns
application/x-ndjsoncontent type - Test deterministic ordering of export lines
- Verify 50MB export size limit is enforced
- Test configurable include flags (SbomDiff, VexDeltas, ReachabilityDiff, Attestations)
- Verify export works through frontend export dialog UI