{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/akri/refs/heads/main/json-schema/akri-akri-configuration-schema.json", "title": "AkriConfiguration", "description": "Akri Configuration custom resource (configurations.akri.sh) that specifies device discovery settings and optional broker workload deployment specifications.", "type": "object", "properties": { "apiVersion": { "type": "string", "description": "API version of the Akri Configuration resource", "example": "akri.sh/v0" }, "kind": { "type": "string", "description": "Resource kind", "example": "Configuration" }, "metadata": { "type": "object", "description": "Kubernetes object metadata", "properties": { "name": { "type": "string", "description": "Name of the configuration", "example": "onvif-camera" }, "namespace": { "type": "string", "description": "Kubernetes namespace", "example": "default" } } }, "spec": { "type": "object", "description": "Configuration specification", "properties": { "discoveryHandler": { "type": "object", "description": "Discovery Handler settings for device discovery", "properties": { "name": { "type": "string", "description": "Name of the Discovery Handler to use", "example": "onvif" }, "discoveryDetails": { "type": "string", "description": "Protocol-specific discovery details as a string", "example": "ipAddresses:\\n action: Exclude\\n items:\\n - 10.0.0.1" }, "discoveryProperties": { "type": "array", "description": "Additional key-value properties for Discovery Handler", "items": { "type": "object", "properties": { "name": { "type": "string", "example": "USERNAME_LIST" }, "value": { "type": "string", "example": "admin" } } } } } }, "capacity": { "type": "integer", "description": "Maximum number of broker replicas per device", "example": 1 } } } } }