{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://git.add-ideas.de/add-ideas/govoplan/src/branch/main/docs/capability-fit-proof-authority-keyring.schema.json", "title": "GovOPlaN capability-fit proof authority keyring", "type": "object", "additionalProperties": false, "required": ["schema_version", "purpose", "keys"], "properties": { "$schema": { "type": "string", "format": "uri-reference" }, "schema_version": { "const": "0.1.0" }, "purpose": { "const": "govoplan.capability-fit-proof-authorities" }, "keys": { "type": "array", "maxItems": 64, "items": { "$ref": "#/$defs/key" } } }, "$defs": { "opaque_id": { "type": "string", "minLength": 1, "maxLength": 160, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$" }, "key": { "type": "object", "additionalProperties": false, "required": ["key_id", "status", "public_key", "allowed_scopes"], "properties": { "key_id": { "$ref": "#/$defs/opaque_id" }, "status": { "enum": ["active", "next", "revoked", "disabled", "retired"] }, "public_key": { "type": "string", "minLength": 1, "maxLength": 256, "contentEncoding": "base64" }, "allowed_scopes": { "type": "array", "minItems": 1, "maxItems": 3, "uniqueItems": true, "items": { "enum": [ "target_environment", "external_providers", "production_approval" ] } }, "not_before": { "type": "string", "format": "date-time" }, "not_after": { "type": "string", "format": "date-time" } } } } }