76 lines
2.4 KiB
JSON
76 lines
2.4 KiB
JSON
{
|
|
"$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 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|