Skip to content

Subscription schema

{
    "$schema": "http://json-schema.org/draft/2019-09/schema#",
    "title": "JSON SCHEMA for opentestfactory.org/v1alpha1 Subscription manifests",
    "type": "object",

    "properties": {
        "apiVersion": { "const": "opentestfactory.org/v1alpha1" },
        "kind": { "const": "Subscription" },
        "metadata": {
            "type": "object",
            "properties": { "name": { "type": "string" } },
            "additionalProperties": true,
            "required": [ "name" ]
        },
        "spec": {
            "type": "object",
            "properties": {
                "selector": {
                    "type": "object",
                    "properties": {
                        "matchKind": { "type": "string" },
                        "matchLabels": {
                            "type": "object",
                            "patternProperties": {
                                "^([a-zA-Z0-9-.]+/)?[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$": {
                                    "type": "string"
                                }
                            },
                            "minProperties": 1,
                            "additionalProperties": false
                        },
                        "matchFields": {
                            "type": "object",
                            "patternProperties": {
                                "^[a-z]([a-zA-Z0-9-.]*[a-zA-Z0-9])?$": {
                                    "type": "string"
                                }
                            },
                            "minProperties": 1,
                            "additionalProperties": false
                        }
                    },
                    "minProperties": 1,
                    "additionalProperties": false
                },
                "subscriber": {
                    "type": "object",
                    "properties": {
                        "endpoint": { "type": "string" },
                        "insecure-skip-tls-verify": { "type": "boolean" }
                    },
                    "additionalProperties": false,
                    "required": [ "endpoint" ]
                }
            },
            "required": [ "subscriber" ],
            "additionalProperties": false
        }
    },
    "required": [ "apiVersion", "kind", "metadata", "spec" ],
    "additionalProperties": false
}