Add tests and implement timeline ingestion options with NATS and Redis subscribers
- Introduced `BinaryReachabilityLifterTests` to validate binary lifting functionality. - Created `PackRunWorkerOptions` for configuring worker paths and execution persistence. - Added `TimelineIngestionOptions` for configuring NATS and Redis ingestion transports. - Implemented `NatsTimelineEventSubscriber` for subscribing to NATS events. - Developed `RedisTimelineEventSubscriber` for reading from Redis Streams. - Added `TimelineEnvelopeParser` to normalize incoming event envelopes. - Created unit tests for `TimelineEnvelopeParser` to ensure correct field mapping. - Implemented `TimelineAuthorizationAuditSink` for logging authorization outcomes.
This commit is contained in:
47
docs/modules/sbomservice/fixtures/lnm-v1/catalog.json
Normal file
47
docs/modules/sbomservice/fixtures/lnm-v1/catalog.json
Normal file
@@ -0,0 +1,47 @@
|
||||
[
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-api",
|
||||
"sbomVersion": "2025.11.16.1",
|
||||
"digest": "sha256:112",
|
||||
"license": "MIT",
|
||||
"scope": "runtime",
|
||||
"assetTags": {
|
||||
"owner": "payments",
|
||||
"criticality": "high",
|
||||
"env": "prod"
|
||||
},
|
||||
"createdAt": "2025-11-16T12:00:00Z",
|
||||
"projectionHash": "sha256:proj112",
|
||||
"evaluationMetadata": "eval:passed:v1"
|
||||
},
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-api",
|
||||
"sbomVersion": "2025.11.15.1",
|
||||
"digest": "sha256:111",
|
||||
"license": "MIT",
|
||||
"scope": "runtime",
|
||||
"assetTags": {
|
||||
"owner": "payments",
|
||||
"criticality": "high",
|
||||
"env": "prod"
|
||||
},
|
||||
"createdAt": "2025-11-15T12:00:00Z",
|
||||
"projectionHash": "sha256:proj111",
|
||||
"evaluationMetadata": "eval:passed:v1"
|
||||
},
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-worker",
|
||||
"sbomVersion": "2025.11.12.0",
|
||||
"digest": "sha256:222",
|
||||
"license": "Apache-2.0",
|
||||
"scope": "runtime",
|
||||
"assetTags": {
|
||||
"owner": "platform",
|
||||
"criticality": "medium",
|
||||
"env": "staging"
|
||||
},
|
||||
"createdAt": "2025-11-12T08:00:00Z",
|
||||
"projectionHash": "sha256:proj222",
|
||||
"evaluationMetadata": "eval:pending:v1"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,38 @@
|
||||
[
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-api",
|
||||
"purl": "pkg:npm/lodash@4.17.21",
|
||||
"neighborPurl": "pkg:npm/express@4.18.2",
|
||||
"relationship": "DEPENDS_ON",
|
||||
"license": "MIT",
|
||||
"scope": "runtime",
|
||||
"runtimeFlag": true
|
||||
},
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-api",
|
||||
"purl": "pkg:npm/lodash@4.17.21",
|
||||
"neighborPurl": "pkg:npm/rollup@3.0.0",
|
||||
"relationship": "DEPENDS_ON",
|
||||
"license": "MIT",
|
||||
"scope": "build",
|
||||
"runtimeFlag": false
|
||||
},
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-api",
|
||||
"purl": "pkg:npm/lodash@4.17.21",
|
||||
"neighborPurl": "pkg:npm/react@18.2.0",
|
||||
"relationship": "DEPENDS_ON",
|
||||
"license": "MIT",
|
||||
"scope": "runtime",
|
||||
"runtimeFlag": true
|
||||
},
|
||||
{
|
||||
"artifact": "ghcr.io/stellaops/sample-worker",
|
||||
"purl": "pkg:nuget/Newtonsoft.Json@13.0.2",
|
||||
"neighborPurl": "pkg:nuget/StellaOps.Core@1.0.0",
|
||||
"relationship": "DEPENDS_ON",
|
||||
"license": "Apache-2.0",
|
||||
"scope": "runtime",
|
||||
"runtimeFlag": true
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user