{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://stellaops.local/concelier/schemas/offline-advisory-bundle.schema.json", "title": "Concelier Offline Advisory Bundle", "type": "object", "additionalProperties": false, "required": [ "bundleId", "tenant", "exportKind", "snapshot", "manifest", "hashes", "signatures", "createdAt" ], "properties": { "bundleId": { "type": "string", "pattern": "^bundle:[A-Za-z0-9._:-]+$" }, "tenant": { "type": "string", "minLength": 1 }, "exportKind": { "type": "string", "enum": ["json", "trivydb"] }, "createdAt": { "type": "string", "format": "date-time" }, "snapshot": { "type": "object", "additionalProperties": false, "required": ["windowStart", "windowEnd", "sources"], "properties": { "windowStart": { "type": "string", "format": "date-time" }, "windowEnd": { "type": "string", "format": "date-time" }, "stalenessHours": { "type": "integer", "minimum": 0 }, "sources": { "type": "array", "items": { "type": "object", "required": ["name", "cursor", "hash"], "additionalProperties": false, "properties": { "name": { "type": "string" }, "cursor": { "type": "string" }, "hash": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" }, "snapshotUri": { "type": "string", "format": "uri" } } }, "uniqueItems": true } } }, "manifest": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["path", "sha256", "size"], "properties": { "path": { "type": "string" }, "sha256": { "type": "string", "pattern": "^[A-Fa-f0-9]{64}$" }, "size": { "type": "integer", "minimum": 0 }, "contentType": { "type": "string" } } }, "uniqueItems": true }, "hashes": { "type": "object", "additionalProperties": false, "patternProperties": { "^sha256$": { "type": "string", "pattern": "^[A-Fa-f0-9]{64}$" } } }, "signatures": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["type", "keyId", "signature"], "properties": { "type": { "type": "string", "enum": ["dsse-inline", "detached"] }, "keyId": { "type": "string" }, "signature": { "type": "string" }, "envelopeDigest": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" }, "rekor": { "type": "object", "additionalProperties": false, "properties": { "logIndex": { "type": "integer", "minimum": 0 }, "uuid": { "type": "string" }, "integratedTime": { "type": "integer", "minimum": 0 } } } } } }, "determinism": { "type": "object", "additionalProperties": false, "properties": { "contentHash": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" }, "idempotencyKey": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "canonVersion": { "type": "string", "default": "1" } } } } }