{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "type": "object" }, "spec": { "properties": { "http": { "properties": { "service": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "finalizers": { "items": { "type": "string" }, "type": "array" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "namespace": { "type": "string" } }, "type": "object" }, "spec": { "properties": { "allocateLoadBalancerNodePorts": { "type": "boolean" }, "clusterIP": { "type": "string" }, "clusterIPs": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "externalIPs": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "externalName": { "type": "string" }, "externalTrafficPolicy": { "type": "string" }, "healthCheckNodePort": { "format": "int32", "type": "integer" }, "internalTrafficPolicy": { "type": "string" }, "ipFamilies": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "ipFamilyPolicy": { "type": "string" }, "loadBalancerClass": { "type": "string" }, "loadBalancerIP": { "type": "string" }, "loadBalancerSourceRanges": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "ports": { "items": { "properties": { "appProtocol": { "type": "string" }, "name": { "type": "string" }, "nodePort": { "format": "int32", "type": "integer" }, "port": { "format": "int32", "type": "integer" }, "protocol": { "default": "TCP", "type": "string" }, "targetPort": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "port", "protocol" ], "x-kubernetes-list-type": "map" }, "publishNotReadyAddresses": { "type": "boolean" }, "selector": { "additionalProperties": { "type": "string" }, "type": "object", "x-kubernetes-map-type": "atomic" }, "sessionAffinity": { "type": "string" }, "sessionAffinityConfig": { "properties": { "clientIP": { "properties": { "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" } }, "type": "object" }, "trafficDistribution": { "type": "string" }, "type": { "type": "string" } }, "type": "object" } }, "type": "object" }, "tls": { "properties": { "certificate": { "properties": { "secretName": { "type": "string" } }, "type": "object" }, "selfSignedCertificate": { "properties": { "disabled": { "type": "boolean" }, "subjectAltNames": { "items": { "properties": { "dns": { "type": "string" }, "ip": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "type": "object" }, "image": { "type": "string" }, "nodeSets": { "items": { "properties": { "config": { "type": "object" }, "count": { "format": "int32", "minimum": 1, "type": "integer" }, "name": { "maxLength": 23, "pattern": "[a-zA-Z0-9-]+", "type": "string" }, "podTemplate": { "type": "object" }, "volumeClaimTemplates": { "items": { "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "finalizers": { "items": { "type": "string" }, "type": "array" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "namespace": { "type": "string" } }, "type": "object" }, "spec": { "properties": { "accessModes": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "dataSource": { "properties": { "apiGroup": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" } }, "required": [ "kind", "name" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "dataSourceRef": { "properties": { "apiGroup": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" } }, "required": [ "kind", "name" ], "type": "object" }, "resources": { "properties": { "limits": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "type": "object" }, "requests": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "type": "object" } }, "type": "object" }, "selector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "storageClassName": { "type": "string" }, "volumeAttributesClassName": { "type": "string" }, "volumeMode": { "type": "string" }, "volumeName": { "type": "string" } }, "type": "object" } }, "type": "object" }, "type": "array" } }, "required": [ "count", "name" ], "type": "object" }, "minItems": 1, "type": "array" }, "podDisruptionBudget": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "finalizers": { "items": { "type": "string" }, "type": "array" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "namespace": { "type": "string" } }, "type": "object" }, "spec": { "properties": { "maxUnavailable": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "minAvailable": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "selector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "unhealthyPodEvictionPolicy": { "type": "string" } }, "type": "object" } }, "type": "object" }, "secureSettings": { "items": { "properties": { "entries": { "items": { "properties": { "key": { "type": "string" }, "path": { "type": "string" } }, "required": [ "key" ], "type": "object" }, "type": "array" }, "secretName": { "type": "string" } }, "required": [ "secretName" ], "type": "object" }, "type": "array" }, "updateStrategy": { "properties": { "changeBudget": { "properties": { "maxSurge": { "format": "int32", "type": "integer" }, "maxUnavailable": { "format": "int32", "type": "integer" } }, "type": "object" } }, "type": "object" }, "version": { "type": "string" } }, "required": [ "nodeSets" ], "type": "object" }, "status": { "properties": { "availableNodes": { "format": "int32", "type": "integer" }, "health": { "type": "string" }, "phase": { "type": "string" } }, "type": "object" } }, "type": "object" }