feat: add deployment profile generation slice

This commit is contained in:
Eve
2026-05-08 12:23:02 +08:00
parent 36bc00cc3f
commit de2d5d97b8
6 changed files with 409 additions and 2 deletions

View File

@@ -0,0 +1,75 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://cowbay.org/schemas/reporting-governance/deployment-profile.schema.json",
"title": "Reporting Governance Deployment Profile",
"type": "object",
"additionalProperties": false,
"required": ["apiVersion", "kind", "metadata", "spec"],
"properties": {
"apiVersion": {
"type": "string",
"const": "reporting-governance/v1alpha1"
},
"kind": {
"type": "string",
"const": "DeploymentProfile"
},
"metadata": {
"type": "object",
"additionalProperties": true,
"required": ["id", "version", "runtime"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"title": { "type": "string", "minLength": 1 },
"version": { "type": "string", "minLength": 1 },
"runtime": { "type": "string", "minLength": 1 },
"summary": { "type": "string", "minLength": 1 }
}
},
"spec": {
"type": "object",
"additionalProperties": true,
"required": ["package", "adapters", "notifications", "audit", "capability_expectations"],
"properties": {
"package": {
"type": "object",
"additionalProperties": true,
"required": ["pluginVersion"],
"properties": {
"pluginVersion": { "type": "string", "minLength": 1 }
}
},
"adapters": {
"type": "object",
"additionalProperties": true,
"required": ["watchdog", "queue", "dispatcher", "bridge", "sender", "orchestrator"]
},
"notifications": {
"type": "object",
"additionalProperties": true,
"required": ["operatorVisibleRecoveryRequired", "allowedTerminalStates"]
},
"audit": {
"type": "object",
"additionalProperties": true,
"required": ["portableArtifactsRequired", "requiredArtifacts"]
},
"capability_expectations": {
"type": "object",
"additionalProperties": true,
"required": ["required"],
"properties": {
"required": {
"type": "array",
"items": { "type": "string", "minLength": 1 }
},
"preferred": {
"type": "array",
"items": { "type": "string", "minLength": 1 }
}
}
}
}
}
}
}