Files
git.stella-ops.org/docs/features/unchecked/sbomservice/sbom-lineage-ndjson-streaming-export.md

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 returns application/x-ndjson content type with deterministic line ordering
  • Tests: src/SbomService/StellaOps.SbomService.Tests/ResolverFeedExportTests.cs -- Export_returns_ndjson_in_deterministic_order test 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-ndjson content 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