{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://itworx.local/pulse/specs/probe.schema.json", "title": "Service probe definition", "type": "object", "additionalProperties": false, "required": [ "schemaVersion", "id", "name", "type", "target", "intervalSeconds", "timeoutSeconds", "enabled" ], "properties": { "schemaVersion": { "type": "integer", "minimum": 1 }, "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "minLength": 1, "maxLength": 160 }, "type": { "type": "string", "enum": [ "http", "tcp", "dns", "icmp", "tls" ] }, "target": { "type": "object", "additionalProperties": false, "required": [ "host" ], "properties": { "scheme": { "type": [ "string", "null" ], "enum": [ "http", "https", null ] }, "host": { "type": "string", "minLength": 1, "maxLength": 253 }, "port": { "type": [ "integer", "null" ], "minimum": 1, "maximum": 65535 }, "path": { "type": [ "string", "null" ], "maxLength": 2048 } } }, "intervalSeconds": { "type": "integer", "minimum": 5, "maximum": 86400 }, "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 120 }, "enabled": { "type": "boolean" }, "expectedStatusCodes": { "type": "array", "maxItems": 20, "items": { "type": "integer", "minimum": 100, "maximum": 599 } }, "followRedirects": { "type": "boolean" }, "verifyTls": { "type": "boolean" }, "contentAssertion": { "type": [ "object", "null" ], "maxProperties": 10 }, "secretReference": { "type": [ "string", "null" ], "maxLength": 255 }, "networkPolicyId": { "type": [ "string", "null" ], "format": "uuid" } } }