{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Log Alert configuration schema", "type": "object", "required": ["log-fetchers", "alert-managers", "alerting-rules"], "properties": { "log-fetchers": { "type": "object", "additionalProperties": { "type": "object", "required": ["type", "config"], "properties": { "type": { "type": "string", "enum": ["loki"] }, "config": { "type": "object" } } } }, "alert-managers": { "type": "object", "additionalProperties": { "type": "object", "required": ["type", "config"], "properties": { "type": { "type": "string", "enum": ["gotify"] }, "config": { "type": "object" } } } }, "alerting-rules": { "type": "object", "additionalProperties": { "type": "object", "required": ["check-interval", "log-fetcher", "filters", "alert-manager"], "properties": { "check-interval": { "type": "number", "minimum": 0 }, "log-fetcher": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string" } } }, "filters": { "type": "array", "items": { "type": "object", "required": ["type", "config"], "properties": { "type": { "type": "string", "enum": ["regexp", "geolocation"] }, "config": { "type": "object" } } } }, "alert-manager": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string" } } } } } } } }