38 lines
1.4 KiB
JSON
38 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://stella-ops.org/notify/schemas/rule.schema.json",
|
|
"title": "Notify Rule",
|
|
"type": "object",
|
|
"required": [
|
|
"schema_version",
|
|
"tenant_id",
|
|
"rule_id",
|
|
"name",
|
|
"sources",
|
|
"predicates",
|
|
"actions",
|
|
"approvals_required"
|
|
],
|
|
"properties": {
|
|
"schema_version": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+$" },
|
|
"tenant_id": { "type": "string", "minLength": 1 },
|
|
"rule_id": { "type": "string", "pattern": "^[A-Z0-9_-]{4,64}$" },
|
|
"name": { "type": "string", "minLength": 1 },
|
|
"description": { "type": "string" },
|
|
"severity": { "type": "string", "enum": ["info", "low", "medium", "high", "critical"] },
|
|
"sources": { "type": "array", "items": { "type": "string" }, "minItems": 1 },
|
|
"predicates": { "type": "array", "items": { "type": "object" }, "minItems": 1 },
|
|
"actions": {
|
|
"type": "array",
|
|
"items": { "type": "object" },
|
|
"minItems": 1
|
|
},
|
|
"approvals_required": { "type": "integer", "minimum": 0, "maximum": 3 },
|
|
"quiet_hours": { "type": "array", "items": { "type": "string" } },
|
|
"simulation_required": { "type": "boolean", "default": true },
|
|
"created_at": { "type": "string", "format": "date-time" },
|
|
"updated_at": { "type": "string", "format": "date-time" }
|
|
},
|
|
"additionalProperties": false
|
|
}
|