generated from coulomb/repo-seed
57 lines
1.9 KiB
JSON
57 lines
1.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://netkingdom.local/schemas/playbook-capability-declaration_v0.1.schema.json",
|
|
"title": "NetKingdom Playbook Capability Declaration v0.1",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["apiVersion", "kind", "metadata", "spec"],
|
|
"properties": {
|
|
"apiVersion": {
|
|
"type": "string",
|
|
"const": "netkingdom.io/playbook-capability/v0.1"
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"const": "PlaybookCapabilityDeclaration"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["id", "name", "owner", "repo", "domain", "contract_version"],
|
|
"properties": {
|
|
"id": {"type": "string", "minLength": 1},
|
|
"name": {"type": "string", "minLength": 1},
|
|
"owner": {"type": "string", "minLength": 1},
|
|
"repo": {"type": "string", "minLength": 1},
|
|
"domain": {"type": "string", "minLength": 1},
|
|
"contract_version": {"type": "string", "const": "0.1"},
|
|
"source_links": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["label", "path"],
|
|
"properties": {
|
|
"label": {"type": "string", "minLength": 1},
|
|
"path": {"type": "string", "minLength": 1}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"spec": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["playbook", "capabilities", "parameters", "responsibilities", "trust", "catalog"],
|
|
"properties": {
|
|
"playbook": {"type": "object"},
|
|
"capabilities": {"type": "array", "minItems": 1},
|
|
"parameters": {"type": "array"},
|
|
"responsibilities": {"type": "array", "minItems": 1},
|
|
"trust": {"type": "object"},
|
|
"catalog": {"type": "object"}
|
|
}
|
|
}
|
|
}
|
|
}
|