{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "additionalProperties": false, "required": ["namespace", "images", "secrets", "replicas", "resources"], "properties": { "namespace": {"type": "string", "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"}, "images": { "type": "object", "additionalProperties": false, "required": ["backend", "runner", "frontend", "migrator"], "properties": { "backend": {"$ref": "#/$defs/digestImage"}, "runner": {"$ref": "#/$defs/digestImage"}, "frontend": {"$ref": "#/$defs/digestImage"}, "migrator": {"$ref": "#/$defs/digestImage"} } }, "secrets": { "type": "object", "additionalProperties": false, "required": ["database", "neo4j", "minio"], "properties": { "database": {"$ref": "#/$defs/secretRef"}, "neo4j": {"$ref": "#/$defs/secretRef"}, "minio": {"$ref": "#/$defs/secretRef"} } }, "replicas": { "type": "object", "additionalProperties": false, "required": ["backend", "runner"], "properties": {"backend": {"type": "integer", "minimum": 2}, "runner": {"type": "integer", "minimum": 2}} }, "resources": {"type": "object", "required": ["requests", "limits"]} }, "$defs": { "digestImage": {"type": "string", "pattern": "^.+@sha256:[a-f0-9]{64}$"}, "secretRef": {"type": "string", "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"} } }