{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "type": "object" }, "spec": { "properties": { "client": { "properties": { "headers": { "additionalProperties": { "type": "string" }, "type": "object" }, "preferIngress": { "nullable": true, "type": "boolean" }, "timeout": { "nullable": true, "type": "integer" }, "tls": { "properties": { "certSecretRef": { "properties": { "name": { "type": "string" }, "namespace": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "insecureSkipVerify": { "type": "boolean" } }, "type": "object", "x-kubernetes-validations": [ { "message": "insecureSkipVerify and certSecretRef cannot be set at the same time", "rule": "(has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))" } ] }, "useKubeAuth": { "type": "boolean" } }, "type": "object" }, "config": { "additionalProperties": { "additionalProperties": { "type": "string" }, "type": "object" }, "type": "object", "x-kubernetes-preserve-unknown-fields": true }, "deployment": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "spec": { "properties": { "minReadySeconds": { "format": "int32", "type": "integer" }, "paused": { "type": "boolean" }, "progressDeadlineSeconds": { "format": "int32", "type": "integer" }, "replicas": { "format": "int32", "type": "integer" }, "revisionHistoryLimit": { "format": "int32", "type": "integer" }, "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" }, "strategy": { "properties": { "rollingUpdate": { "properties": { "maxSurge": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "maxUnavailable": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "type": "object" }, "type": { "type": "string" } }, "type": "object" }, "template": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "spec": { "properties": { "activeDeadlineSeconds": { "format": "int64", "type": "integer" }, "affinity": { "properties": { "nodeAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "preference": { "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" }, "matchFields": { "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" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "preference", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "properties": { "nodeSelectorTerms": { "items": { "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" }, "matchFields": { "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" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "nodeSelectorTerms" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "podAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "podAffinityTerm": { "properties": { "labelSelector": { "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" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "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" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "podAffinityTerm", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "labelSelector": { "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" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "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" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "podAntiAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "podAffinityTerm": { "properties": { "labelSelector": { "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" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "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" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "podAffinityTerm", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "labelSelector": { "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" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "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" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" } }, "type": "object" }, "automountServiceAccountToken": { "type": "boolean" }, "containers": { "items": { "properties": { "args": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "env": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "valueFrom": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fileKeyRef": { "properties": { "key": { "type": "string" }, "optional": { "default": false, "type": "boolean" }, "path": { "type": "string" }, "volumeName": { "type": "string" } }, "required": [ "key", "path", "volumeName" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "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 }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "envFrom": { "items": { "properties": { "configMapRef": { "properties": { "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "prefix": { "type": "string" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "image": { "type": "string" }, "imagePullPolicy": { "type": "string" }, "lifecycle": { "properties": { "postStart": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "sleep": { "properties": { "seconds": { "format": "int64", "type": "integer" } }, "required": [ "seconds" ], "type": "object" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" } }, "type": "object" }, "preStop": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "sleep": { "properties": { "seconds": { "format": "int64", "type": "integer" } }, "required": [ "seconds" ], "type": "object" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" } }, "type": "object" }, "stopSignal": { "type": "string" } }, "type": "object" }, "livenessProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "name": { "type": "string" }, "ports": { "items": { "properties": { "containerPort": { "format": "int32", "type": "integer" }, "hostIP": { "type": "string" }, "hostPort": { "format": "int32", "type": "integer" }, "name": { "type": "string" }, "protocol": { "default": "TCP", "type": "string" } }, "required": [ "containerPort" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "containerPort", "protocol" ], "x-kubernetes-list-type": "map" }, "readinessProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "resizePolicy": { "items": { "properties": { "resourceName": { "type": "string" }, "restartPolicy": { "type": "string" } }, "required": [ "resourceName", "restartPolicy" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "resources": { "properties": { "claims": { "items": { "properties": { "name": { "type": "string" }, "request": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "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" }, "restartPolicy": { "type": "string" }, "restartPolicyRules": { "items": { "properties": { "action": { "type": "string" }, "exitCodes": { "properties": { "operator": { "type": "string" }, "values": { "items": { "format": "int32", "type": "integer" }, "type": "array", "x-kubernetes-list-type": "set" } }, "required": [ "operator" ], "type": "object" } }, "required": [ "action" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "securityContext": { "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "appArmorProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "capabilities": { "properties": { "add": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "drop": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "privileged": { "type": "boolean" }, "procMount": { "type": "string" }, "readOnlyRootFilesystem": { "type": "boolean" }, "runAsGroup": { "format": "int64", "type": "integer" }, "runAsNonRoot": { "type": "boolean" }, "runAsUser": { "format": "int64", "type": "integer" }, "seLinuxOptions": { "properties": { "level": { "type": "string" }, "role": { "type": "string" }, "type": { "type": "string" }, "user": { "type": "string" } }, "type": "object" }, "seccompProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "windowsOptions": { "properties": { "gmsaCredentialSpec": { "type": "string" }, "gmsaCredentialSpecName": { "type": "string" }, "hostProcess": { "type": "boolean" }, "runAsUserName": { "type": "string" } }, "type": "object" } }, "type": "object" }, "startupProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "stdin": { "type": "boolean" }, "stdinOnce": { "type": "boolean" }, "terminationMessagePath": { "type": "string" }, "terminationMessagePolicy": { "type": "string" }, "tty": { "type": "boolean" }, "volumeDevices": { "items": { "properties": { "devicePath": { "type": "string" }, "name": { "type": "string" } }, "required": [ "devicePath", "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "devicePath" ], "x-kubernetes-list-type": "map" }, "volumeMounts": { "items": { "properties": { "mountPath": { "type": "string" }, "mountPropagation": { "type": "string" }, "name": { "type": "string" }, "readOnly": { "type": "boolean" }, "recursiveReadOnly": { "type": "string" }, "subPath": { "type": "string" }, "subPathExpr": { "type": "string" } }, "required": [ "mountPath", "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "mountPath" ], "x-kubernetes-list-type": "map" }, "workingDir": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "dnsConfig": { "properties": { "nameservers": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "options": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "searches": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "dnsPolicy": { "type": "string" }, "enableServiceLinks": { "type": "boolean" }, "ephemeralContainers": { "items": { "properties": { "args": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "env": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "valueFrom": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fileKeyRef": { "properties": { "key": { "type": "string" }, "optional": { "default": false, "type": "boolean" }, "path": { "type": "string" }, "volumeName": { "type": "string" } }, "required": [ "key", "path", "volumeName" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "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 }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "envFrom": { "items": { "properties": { "configMapRef": { "properties": { "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "prefix": { "type": "string" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "image": { "type": "string" }, "imagePullPolicy": { "type": "string" }, "lifecycle": { "properties": { "postStart": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "sleep": { "properties": { "seconds": { "format": "int64", "type": "integer" } }, "required": [ "seconds" ], "type": "object" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" } }, "type": "object" }, "preStop": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "sleep": { "properties": { "seconds": { "format": "int64", "type": "integer" } }, "required": [ "seconds" ], "type": "object" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" } }, "type": "object" }, "stopSignal": { "type": "string" } }, "type": "object" }, "livenessProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "name": { "type": "string" }, "ports": { "items": { "properties": { "containerPort": { "format": "int32", "type": "integer" }, "hostIP": { "type": "string" }, "hostPort": { "format": "int32", "type": "integer" }, "name": { "type": "string" }, "protocol": { "default": "TCP", "type": "string" } }, "required": [ "containerPort" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "containerPort", "protocol" ], "x-kubernetes-list-type": "map" }, "readinessProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "resizePolicy": { "items": { "properties": { "resourceName": { "type": "string" }, "restartPolicy": { "type": "string" } }, "required": [ "resourceName", "restartPolicy" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "resources": { "properties": { "claims": { "items": { "properties": { "name": { "type": "string" }, "request": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "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" }, "restartPolicy": { "type": "string" }, "restartPolicyRules": { "items": { "properties": { "action": { "type": "string" }, "exitCodes": { "properties": { "operator": { "type": "string" }, "values": { "items": { "format": "int32", "type": "integer" }, "type": "array", "x-kubernetes-list-type": "set" } }, "required": [ "operator" ], "type": "object" } }, "required": [ "action" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "securityContext": { "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "appArmorProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "capabilities": { "properties": { "add": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "drop": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "privileged": { "type": "boolean" }, "procMount": { "type": "string" }, "readOnlyRootFilesystem": { "type": "boolean" }, "runAsGroup": { "format": "int64", "type": "integer" }, "runAsNonRoot": { "type": "boolean" }, "runAsUser": { "format": "int64", "type": "integer" }, "seLinuxOptions": { "properties": { "level": { "type": "string" }, "role": { "type": "string" }, "type": { "type": "string" }, "user": { "type": "string" } }, "type": "object" }, "seccompProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "windowsOptions": { "properties": { "gmsaCredentialSpec": { "type": "string" }, "gmsaCredentialSpecName": { "type": "string" }, "hostProcess": { "type": "boolean" }, "runAsUserName": { "type": "string" } }, "type": "object" } }, "type": "object" }, "startupProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "stdin": { "type": "boolean" }, "stdinOnce": { "type": "boolean" }, "targetContainerName": { "type": "string" }, "terminationMessagePath": { "type": "string" }, "terminationMessagePolicy": { "type": "string" }, "tty": { "type": "boolean" }, "volumeDevices": { "items": { "properties": { "devicePath": { "type": "string" }, "name": { "type": "string" } }, "required": [ "devicePath", "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "devicePath" ], "x-kubernetes-list-type": "map" }, "volumeMounts": { "items": { "properties": { "mountPath": { "type": "string" }, "mountPropagation": { "type": "string" }, "name": { "type": "string" }, "readOnly": { "type": "boolean" }, "recursiveReadOnly": { "type": "string" }, "subPath": { "type": "string" }, "subPathExpr": { "type": "string" } }, "required": [ "mountPath", "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "mountPath" ], "x-kubernetes-list-type": "map" }, "workingDir": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "hostAliases": { "items": { "properties": { "hostnames": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "ip": { "type": "string" } }, "required": [ "ip" ], "type": "object" }, "type": "array" }, "hostIPC": { "type": "boolean" }, "hostNetwork": { "type": "boolean" }, "hostPID": { "type": "boolean" }, "hostUsers": { "type": "boolean" }, "hostname": { "type": "string" }, "imagePullSecrets": { "items": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array" }, "initContainers": { "items": { "properties": { "args": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "env": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "valueFrom": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fileKeyRef": { "properties": { "key": { "type": "string" }, "optional": { "default": false, "type": "boolean" }, "path": { "type": "string" }, "volumeName": { "type": "string" } }, "required": [ "key", "path", "volumeName" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "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 }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "envFrom": { "items": { "properties": { "configMapRef": { "properties": { "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "prefix": { "type": "string" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "image": { "type": "string" }, "imagePullPolicy": { "type": "string" }, "lifecycle": { "properties": { "postStart": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "sleep": { "properties": { "seconds": { "format": "int64", "type": "integer" } }, "required": [ "seconds" ], "type": "object" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" } }, "type": "object" }, "preStop": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "sleep": { "properties": { "seconds": { "format": "int64", "type": "integer" } }, "required": [ "seconds" ], "type": "object" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" } }, "type": "object" }, "stopSignal": { "type": "string" } }, "type": "object" }, "livenessProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "name": { "type": "string" }, "ports": { "items": { "properties": { "containerPort": { "format": "int32", "type": "integer" }, "hostIP": { "type": "string" }, "hostPort": { "format": "int32", "type": "integer" }, "name": { "type": "string" }, "protocol": { "default": "TCP", "type": "string" } }, "required": [ "containerPort" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "containerPort", "protocol" ], "x-kubernetes-list-type": "map" }, "readinessProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "resizePolicy": { "items": { "properties": { "resourceName": { "type": "string" }, "restartPolicy": { "type": "string" } }, "required": [ "resourceName", "restartPolicy" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "resources": { "properties": { "claims": { "items": { "properties": { "name": { "type": "string" }, "request": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "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" }, "restartPolicy": { "type": "string" }, "restartPolicyRules": { "items": { "properties": { "action": { "type": "string" }, "exitCodes": { "properties": { "operator": { "type": "string" }, "values": { "items": { "format": "int32", "type": "integer" }, "type": "array", "x-kubernetes-list-type": "set" } }, "required": [ "operator" ], "type": "object" } }, "required": [ "action" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "securityContext": { "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "appArmorProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "capabilities": { "properties": { "add": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "drop": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "privileged": { "type": "boolean" }, "procMount": { "type": "string" }, "readOnlyRootFilesystem": { "type": "boolean" }, "runAsGroup": { "format": "int64", "type": "integer" }, "runAsNonRoot": { "type": "boolean" }, "runAsUser": { "format": "int64", "type": "integer" }, "seLinuxOptions": { "properties": { "level": { "type": "string" }, "role": { "type": "string" }, "type": { "type": "string" }, "user": { "type": "string" } }, "type": "object" }, "seccompProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "windowsOptions": { "properties": { "gmsaCredentialSpec": { "type": "string" }, "gmsaCredentialSpecName": { "type": "string" }, "hostProcess": { "type": "boolean" }, "runAsUserName": { "type": "string" } }, "type": "object" } }, "type": "object" }, "startupProbe": { "properties": { "exec": { "properties": { "command": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "failureThreshold": { "format": "int32", "type": "integer" }, "grpc": { "properties": { "port": { "format": "int32", "type": "integer" }, "service": { "default": "", "type": "string" } }, "required": [ "port" ], "type": "object" }, "httpGet": { "properties": { "host": { "type": "string" }, "httpHeaders": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "scheme": { "type": "string" } }, "required": [ "port" ], "type": "object" }, "initialDelaySeconds": { "format": "int32", "type": "integer" }, "periodSeconds": { "format": "int32", "type": "integer" }, "successThreshold": { "format": "int32", "type": "integer" }, "tcpSocket": { "properties": { "host": { "type": "string" }, "port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "port" ], "type": "object" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "timeoutSeconds": { "format": "int32", "type": "integer" } }, "type": "object" }, "stdin": { "type": "boolean" }, "stdinOnce": { "type": "boolean" }, "terminationMessagePath": { "type": "string" }, "terminationMessagePolicy": { "type": "string" }, "tty": { "type": "boolean" }, "volumeDevices": { "items": { "properties": { "devicePath": { "type": "string" }, "name": { "type": "string" } }, "required": [ "devicePath", "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "devicePath" ], "x-kubernetes-list-type": "map" }, "volumeMounts": { "items": { "properties": { "mountPath": { "type": "string" }, "mountPropagation": { "type": "string" }, "name": { "type": "string" }, "readOnly": { "type": "boolean" }, "recursiveReadOnly": { "type": "string" }, "subPath": { "type": "string" }, "subPathExpr": { "type": "string" } }, "required": [ "mountPath", "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "mountPath" ], "x-kubernetes-list-type": "map" }, "workingDir": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "nodeName": { "type": "string" }, "nodeSelector": { "additionalProperties": { "type": "string" }, "type": "object", "x-kubernetes-map-type": "atomic" }, "os": { "properties": { "name": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "overhead": { "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" }, "preemptionPolicy": { "type": "string" }, "priority": { "format": "int32", "type": "integer" }, "priorityClassName": { "type": "string" }, "readinessGates": { "items": { "properties": { "conditionType": { "type": "string" } }, "required": [ "conditionType" ], "type": "object" }, "type": "array" }, "restartPolicy": { "type": "string" }, "runtimeClassName": { "type": "string" }, "schedulerName": { "type": "string" }, "securityContext": { "properties": { "appArmorProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "fsGroup": { "format": "int64", "type": "integer" }, "fsGroupChangePolicy": { "type": "string" }, "runAsGroup": { "format": "int64", "type": "integer" }, "runAsNonRoot": { "type": "boolean" }, "runAsUser": { "format": "int64", "type": "integer" }, "seLinuxChangePolicy": { "type": "string" }, "seLinuxOptions": { "properties": { "level": { "type": "string" }, "role": { "type": "string" }, "type": { "type": "string" }, "user": { "type": "string" } }, "type": "object" }, "seccompProfile": { "properties": { "localhostProfile": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type" ], "type": "object" }, "supplementalGroups": { "items": { "format": "int64", "type": "integer" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "supplementalGroupsPolicy": { "type": "string" }, "sysctls": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "windowsOptions": { "properties": { "gmsaCredentialSpec": { "type": "string" }, "gmsaCredentialSpecName": { "type": "string" }, "hostProcess": { "type": "boolean" }, "runAsUserName": { "type": "string" } }, "type": "object" } }, "type": "object" }, "serviceAccount": { "type": "string" }, "serviceAccountName": { "type": "string" }, "setHostnameAsFQDN": { "type": "boolean" }, "shareProcessNamespace": { "type": "boolean" }, "subdomain": { "type": "string" }, "terminationGracePeriodSeconds": { "format": "int64", "type": "integer" }, "tolerations": { "items": { "properties": { "effect": { "type": "string" }, "key": { "type": "string" }, "operator": { "type": "string" }, "tolerationSeconds": { "format": "int64", "type": "integer" }, "value": { "type": "string" } }, "type": "object" }, "type": "array" }, "topologySpreadConstraints": { "items": { "properties": { "labelSelector": { "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" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "maxSkew": { "format": "int32", "type": "integer" }, "minDomains": { "format": "int32", "type": "integer" }, "nodeAffinityPolicy": { "type": "string" }, "nodeTaintsPolicy": { "type": "string" }, "topologyKey": { "type": "string" }, "whenUnsatisfiable": { "type": "string" } }, "required": [ "maxSkew", "topologyKey", "whenUnsatisfiable" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "topologyKey", "whenUnsatisfiable" ], "x-kubernetes-list-type": "map" }, "volumes": { "items": { "properties": { "awsElasticBlockStore": { "properties": { "fsType": { "type": "string" }, "partition": { "format": "int32", "type": "integer" }, "readOnly": { "type": "boolean" }, "volumeID": { "type": "string" } }, "required": [ "volumeID" ], "type": "object" }, "azureDisk": { "properties": { "cachingMode": { "type": "string" }, "diskName": { "type": "string" }, "diskURI": { "type": "string" }, "fsType": { "default": "ext4", "type": "string" }, "kind": { "type": "string" }, "readOnly": { "default": false, "type": "boolean" } }, "required": [ "diskName", "diskURI" ], "type": "object" }, "azureFile": { "properties": { "readOnly": { "type": "boolean" }, "secretName": { "type": "string" }, "shareName": { "type": "string" } }, "required": [ "secretName", "shareName" ], "type": "object" }, "cephfs": { "properties": { "monitors": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "path": { "type": "string" }, "readOnly": { "type": "boolean" }, "secretFile": { "type": "string" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "user": { "type": "string" } }, "required": [ "monitors" ], "type": "object" }, "cinder": { "properties": { "fsType": { "type": "string" }, "readOnly": { "type": "boolean" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "volumeID": { "type": "string" } }, "required": [ "volumeID" ], "type": "object" }, "configMap": { "properties": { "defaultMode": { "format": "int32", "type": "integer" }, "items": { "items": { "properties": { "key": { "type": "string" }, "mode": { "format": "int32", "type": "integer" }, "path": { "type": "string" } }, "required": [ "key", "path" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "csi": { "properties": { "driver": { "type": "string" }, "fsType": { "type": "string" }, "nodePublishSecretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "readOnly": { "type": "boolean" }, "volumeAttributes": { "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "driver" ], "type": "object" }, "downwardAPI": { "properties": { "defaultMode": { "format": "int32", "type": "integer" }, "items": { "items": { "properties": { "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "mode": { "format": "int32", "type": "integer" }, "path": { "type": "string" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "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 }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "path" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "emptyDir": { "properties": { "medium": { "type": "string" }, "sizeLimit": { "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" }, "ephemeral": { "properties": { "volumeClaimTemplate": { "properties": { "metadata": { "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" } }, "required": [ "spec" ], "type": "object" } }, "type": "object" }, "fc": { "properties": { "fsType": { "type": "string" }, "lun": { "format": "int32", "type": "integer" }, "readOnly": { "type": "boolean" }, "targetWWNs": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "wwids": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "flexVolume": { "properties": { "driver": { "type": "string" }, "fsType": { "type": "string" }, "options": { "additionalProperties": { "type": "string" }, "type": "object" }, "readOnly": { "type": "boolean" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "driver" ], "type": "object" }, "flocker": { "properties": { "datasetName": { "type": "string" }, "datasetUUID": { "type": "string" } }, "type": "object" }, "gcePersistentDisk": { "properties": { "fsType": { "type": "string" }, "partition": { "format": "int32", "type": "integer" }, "pdName": { "type": "string" }, "readOnly": { "type": "boolean" } }, "required": [ "pdName" ], "type": "object" }, "gitRepo": { "properties": { "directory": { "type": "string" }, "repository": { "type": "string" }, "revision": { "type": "string" } }, "required": [ "repository" ], "type": "object" }, "glusterfs": { "properties": { "endpoints": { "type": "string" }, "path": { "type": "string" }, "readOnly": { "type": "boolean" } }, "required": [ "endpoints", "path" ], "type": "object" }, "hostPath": { "properties": { "path": { "type": "string" }, "type": { "type": "string" } }, "required": [ "path" ], "type": "object" }, "image": { "properties": { "pullPolicy": { "type": "string" }, "reference": { "type": "string" } }, "type": "object" }, "iscsi": { "properties": { "chapAuthDiscovery": { "type": "boolean" }, "chapAuthSession": { "type": "boolean" }, "fsType": { "type": "string" }, "initiatorName": { "type": "string" }, "iqn": { "type": "string" }, "iscsiInterface": { "default": "default", "type": "string" }, "lun": { "format": "int32", "type": "integer" }, "portals": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "readOnly": { "type": "boolean" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "targetPortal": { "type": "string" } }, "required": [ "iqn", "lun", "targetPortal" ], "type": "object" }, "name": { "type": "string" }, "nfs": { "properties": { "path": { "type": "string" }, "readOnly": { "type": "boolean" }, "server": { "type": "string" } }, "required": [ "path", "server" ], "type": "object" }, "persistentVolumeClaim": { "properties": { "claimName": { "type": "string" }, "readOnly": { "type": "boolean" } }, "required": [ "claimName" ], "type": "object" }, "photonPersistentDisk": { "properties": { "fsType": { "type": "string" }, "pdID": { "type": "string" } }, "required": [ "pdID" ], "type": "object" }, "portworxVolume": { "properties": { "fsType": { "type": "string" }, "readOnly": { "type": "boolean" }, "volumeID": { "type": "string" } }, "required": [ "volumeID" ], "type": "object" }, "projected": { "properties": { "defaultMode": { "format": "int32", "type": "integer" }, "sources": { "items": { "properties": { "clusterTrustBundle": { "properties": { "labelSelector": { "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" }, "name": { "type": "string" }, "optional": { "type": "boolean" }, "path": { "type": "string" }, "signerName": { "type": "string" } }, "required": [ "path" ], "type": "object" }, "configMap": { "properties": { "items": { "items": { "properties": { "key": { "type": "string" }, "mode": { "format": "int32", "type": "integer" }, "path": { "type": "string" } }, "required": [ "key", "path" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "downwardAPI": { "properties": { "items": { "items": { "properties": { "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "mode": { "format": "int32", "type": "integer" }, "path": { "type": "string" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "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 }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "path" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "podCertificate": { "properties": { "certificateChainPath": { "type": "string" }, "credentialBundlePath": { "type": "string" }, "keyPath": { "type": "string" }, "keyType": { "type": "string" }, "maxExpirationSeconds": { "format": "int32", "type": "integer" }, "signerName": { "type": "string" }, "userAnnotations": { "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "keyType", "signerName" ], "type": "object" }, "secret": { "properties": { "items": { "items": { "properties": { "key": { "type": "string" }, "mode": { "format": "int32", "type": "integer" }, "path": { "type": "string" } }, "required": [ "key", "path" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "serviceAccountToken": { "properties": { "audience": { "type": "string" }, "expirationSeconds": { "format": "int64", "type": "integer" }, "path": { "type": "string" } }, "required": [ "path" ], "type": "object" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "quobyte": { "properties": { "group": { "type": "string" }, "readOnly": { "type": "boolean" }, "registry": { "type": "string" }, "tenant": { "type": "string" }, "user": { "type": "string" }, "volume": { "type": "string" } }, "required": [ "registry", "volume" ], "type": "object" }, "rbd": { "properties": { "fsType": { "type": "string" }, "image": { "type": "string" }, "keyring": { "default": "/etc/ceph/keyring", "type": "string" }, "monitors": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "pool": { "default": "rbd", "type": "string" }, "readOnly": { "type": "boolean" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "user": { "default": "admin", "type": "string" } }, "required": [ "image", "monitors" ], "type": "object" }, "scaleIO": { "properties": { "fsType": { "default": "xfs", "type": "string" }, "gateway": { "type": "string" }, "protectionDomain": { "type": "string" }, "readOnly": { "type": "boolean" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "sslEnabled": { "type": "boolean" }, "storageMode": { "default": "ThinProvisioned", "type": "string" }, "storagePool": { "type": "string" }, "system": { "type": "string" }, "volumeName": { "type": "string" } }, "required": [ "gateway", "secretRef", "system" ], "type": "object" }, "secret": { "properties": { "defaultMode": { "format": "int32", "type": "integer" }, "items": { "items": { "properties": { "key": { "type": "string" }, "mode": { "format": "int32", "type": "integer" }, "path": { "type": "string" } }, "required": [ "key", "path" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "optional": { "type": "boolean" }, "secretName": { "type": "string" } }, "type": "object" }, "storageos": { "properties": { "fsType": { "type": "string" }, "readOnly": { "type": "boolean" }, "secretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "volumeName": { "type": "string" }, "volumeNamespace": { "type": "string" } }, "type": "object" }, "vsphereVolume": { "properties": { "fsType": { "type": "string" }, "storagePolicyID": { "type": "string" }, "storagePolicyName": { "type": "string" }, "volumePath": { "type": "string" } }, "required": [ "volumePath" ], "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "type": "object" } }, "type": "object" }, "disableDefaultAdminSecret": { "type": "boolean" }, "disableDefaultSecurityContext": { "enum": [ "Pod", "Container", "All" ], "type": "string" }, "external": { "properties": { "adminPassword": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "adminUser": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "apiKey": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "tenantNamespace": { "default": "default", "type": "string", "x-kubernetes-validations": [ { "message": "Value is immutable", "rule": "self == oldSelf" } ] }, "tls": { "properties": { "certSecretRef": { "properties": { "name": { "type": "string" }, "namespace": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "insecureSkipVerify": { "type": "boolean" } }, "type": "object", "x-kubernetes-validations": [ { "message": "insecureSkipVerify and certSecretRef cannot be set at the same time", "rule": "(has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))" } ] }, "url": { "pattern": "^https?://.+$", "type": "string" } }, "required": [ "url" ], "type": "object" }, "httpRoute": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "spec": { "properties": { "hostnames": { "items": { "maxLength": 253, "minLength": 1, "pattern": "^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "atomic" }, "parentRefs": { "items": { "properties": { "group": { "default": "gateway.networking.k8s.io", "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "default": "Gateway", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" }, "namespace": { "maxLength": 63, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" }, "sectionName": { "maxLength": 253, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" } }, "required": [ "name" ], "type": "object" }, "maxItems": 32, "type": "array", "x-kubernetes-list-type": "atomic" }, "rules": { "items": { "properties": { "backendRefs": { "items": { "properties": { "filters": { "items": { "properties": { "cors": { "properties": { "allowCredentials": { "type": "boolean" }, "allowHeaders": { "items": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set", "x-kubernetes-validations": [ { "message": "AllowHeaders cannot contain '*' alongside other methods", "rule": "!('*' in self && self.size() > 1)" } ] }, "allowMethods": { "items": { "enum": [ "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH", "*" ], "type": "string" }, "maxItems": 9, "type": "array", "x-kubernetes-list-type": "set", "x-kubernetes-validations": [ { "message": "AllowMethods cannot contain '*' alongside other methods", "rule": "!('*' in self && self.size() > 1)" } ] }, "allowOrigins": { "items": { "maxLength": 253, "minLength": 1, "pattern": "(^\\*$)|(^(http(s)?):\\/\\/(((\\*\\.)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9-]+|\\*)(:([0-9]{1,5}))?)$)", "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set", "x-kubernetes-validations": [ { "message": "AllowOrigins cannot contain '*' alongside other origins", "rule": "!('*' in self && self.size() > 1)" } ] }, "exposeHeaders": { "items": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" }, "maxAge": { "default": 5, "format": "int32", "minimum": 1, "type": "integer" } }, "type": "object" }, "extensionRef": { "properties": { "group": { "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" } }, "required": [ "group", "kind", "name" ], "type": "object" }, "externalAuth": { "properties": { "backendRef": { "properties": { "group": { "default": "", "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "default": "Service", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" }, "namespace": { "maxLength": 63, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" } }, "required": [ "name" ], "type": "object", "x-kubernetes-validations": [ { "message": "Must have port for Service reference", "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true" } ] }, "forwardBody": { "properties": { "maxSize": { "type": "integer" } }, "type": "object" }, "grpc": { "properties": { "allowedHeaders": { "items": { "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" } }, "type": "object" }, "http": { "properties": { "allowedHeaders": { "items": { "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" }, "allowedResponseHeaders": { "items": { "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" }, "path": { "maxLength": 1024, "pattern": "^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$", "type": "string" } }, "type": "object" }, "protocol": { "enum": [ "HTTP", "GRPC" ], "type": "string" } }, "required": [ "backendRef", "protocol" ], "type": "object", "x-kubernetes-validations": [ { "message": "grpc must be specified when protocol is set to 'GRPC'", "rule": "self.protocol == 'GRPC' ? has(self.grpc) : true" }, { "message": "protocol must be 'GRPC' when grpc is set", "rule": "has(self.grpc) ? self.protocol == 'GRPC' : true" }, { "message": "http must be specified when protocol is set to 'HTTP'", "rule": "self.protocol == 'HTTP' ? has(self.http) : true" }, { "message": "protocol must be 'HTTP' when http is set", "rule": "has(self.http) ? self.protocol == 'HTTP' : true" } ] }, "requestHeaderModifier": { "properties": { "add": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "remove": { "items": { "type": "string" }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "set" }, "set": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" } }, "type": "object" }, "requestMirror": { "properties": { "backendRef": { "properties": { "group": { "default": "", "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "default": "Service", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" }, "namespace": { "maxLength": 63, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" } }, "required": [ "name" ], "type": "object", "x-kubernetes-validations": [ { "message": "Must have port for Service reference", "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true" } ] }, "fraction": { "properties": { "denominator": { "default": 100, "format": "int32", "minimum": 1, "type": "integer" }, "numerator": { "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "numerator" ], "type": "object", "x-kubernetes-validations": [ { "message": "numerator must be less than or equal to denominator", "rule": "self.numerator <= self.denominator" } ] }, "percent": { "format": "int32", "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "backendRef" ], "type": "object", "x-kubernetes-validations": [ { "message": "Only one of percent or fraction may be specified in HTTPRequestMirrorFilter", "rule": "!(has(self.percent) && has(self.fraction))" } ] }, "requestRedirect": { "properties": { "hostname": { "maxLength": 253, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "path": { "properties": { "replaceFullPath": { "maxLength": 1024, "type": "string" }, "replacePrefixMatch": { "maxLength": 1024, "type": "string" }, "type": { "enum": [ "ReplaceFullPath", "ReplacePrefixMatch" ], "type": "string" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'", "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true" }, { "message": "type must be 'ReplaceFullPath' when replaceFullPath is set", "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true" }, { "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'", "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true" }, { "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set", "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true" } ] }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" }, "scheme": { "enum": [ "http", "https" ], "type": "string" }, "statusCode": { "default": 302, "enum": [ 301, 302, 303, 307, 308 ], "type": "integer" } }, "type": "object" }, "responseHeaderModifier": { "properties": { "add": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "remove": { "items": { "type": "string" }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "set" }, "set": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" } }, "type": "object" }, "type": { "enum": [ "RequestHeaderModifier", "ResponseHeaderModifier", "RequestMirror", "RequestRedirect", "URLRewrite", "ExtensionRef", "CORS" ], "type": "string" }, "urlRewrite": { "properties": { "hostname": { "maxLength": 253, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "path": { "properties": { "replaceFullPath": { "maxLength": 1024, "type": "string" }, "replacePrefixMatch": { "maxLength": 1024, "type": "string" }, "type": { "enum": [ "ReplaceFullPath", "ReplacePrefixMatch" ], "type": "string" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'", "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true" }, { "message": "type must be 'ReplaceFullPath' when replaceFullPath is set", "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true" }, { "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'", "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true" }, { "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set", "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true" } ] } }, "type": "object" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "filter.cors must be nil if the filter.type is not CORS", "rule": "!(has(self.cors) && self.type != 'CORS')" }, { "message": "filter.cors must be specified for CORS filter.type", "rule": "!(!has(self.cors) && self.type == 'CORS')" }, { "message": "filter.requestHeaderModifier must be nil if the filter.type is not RequestHeaderModifier", "rule": "!(has(self.requestHeaderModifier) && self.type != 'RequestHeaderModifier')" }, { "message": "filter.requestHeaderModifier must be specified for RequestHeaderModifier filter.type", "rule": "!(!has(self.requestHeaderModifier) && self.type == 'RequestHeaderModifier')" }, { "message": "filter.responseHeaderModifier must be nil if the filter.type is not ResponseHeaderModifier", "rule": "!(has(self.responseHeaderModifier) && self.type != 'ResponseHeaderModifier')" }, { "message": "filter.responseHeaderModifier must be specified for ResponseHeaderModifier filter.type", "rule": "!(!has(self.responseHeaderModifier) && self.type == 'ResponseHeaderModifier')" }, { "message": "filter.requestMirror must be nil if the filter.type is not RequestMirror", "rule": "!(has(self.requestMirror) && self.type != 'RequestMirror')" }, { "message": "filter.requestMirror must be specified for RequestMirror filter.type", "rule": "!(!has(self.requestMirror) && self.type == 'RequestMirror')" }, { "message": "filter.requestRedirect must be nil if the filter.type is not RequestRedirect", "rule": "!(has(self.requestRedirect) && self.type != 'RequestRedirect')" }, { "message": "filter.requestRedirect must be specified for RequestRedirect filter.type", "rule": "!(!has(self.requestRedirect) && self.type == 'RequestRedirect')" }, { "message": "filter.urlRewrite must be nil if the filter.type is not URLRewrite", "rule": "!(has(self.urlRewrite) && self.type != 'URLRewrite')" }, { "message": "filter.urlRewrite must be specified for URLRewrite filter.type", "rule": "!(!has(self.urlRewrite) && self.type == 'URLRewrite')" }, { "message": "filter.extensionRef must be nil if the filter.type is not ExtensionRef", "rule": "!(has(self.extensionRef) && self.type != 'ExtensionRef')" }, { "message": "filter.extensionRef must be specified for ExtensionRef filter.type", "rule": "!(!has(self.extensionRef) && self.type == 'ExtensionRef')" } ] }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", "rule": "!(self.exists(f, f.type == 'RequestRedirect') && self.exists(f, f.type == 'URLRewrite'))" }, { "message": "CORS filter cannot be repeated", "rule": "self.filter(f, f.type == 'CORS').size() <= 1" }, { "message": "RequestHeaderModifier filter cannot be repeated", "rule": "self.filter(f, f.type == 'RequestHeaderModifier').size() <= 1" }, { "message": "ResponseHeaderModifier filter cannot be repeated", "rule": "self.filter(f, f.type == 'ResponseHeaderModifier').size() <= 1" }, { "message": "RequestRedirect filter cannot be repeated", "rule": "self.filter(f, f.type == 'RequestRedirect').size() <= 1" }, { "message": "URLRewrite filter cannot be repeated", "rule": "self.filter(f, f.type == 'URLRewrite').size() <= 1" } ] }, "group": { "default": "", "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "default": "Service", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" }, "namespace": { "maxLength": 63, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" }, "weight": { "default": 1, "format": "int32", "maximum": 1000000, "minimum": 0, "type": "integer" } }, "required": [ "name" ], "type": "object", "x-kubernetes-validations": [ { "message": "Must have port for Service reference", "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true" } ] }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "atomic" }, "filters": { "items": { "properties": { "cors": { "properties": { "allowCredentials": { "type": "boolean" }, "allowHeaders": { "items": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set", "x-kubernetes-validations": [ { "message": "AllowHeaders cannot contain '*' alongside other methods", "rule": "!('*' in self && self.size() > 1)" } ] }, "allowMethods": { "items": { "enum": [ "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH", "*" ], "type": "string" }, "maxItems": 9, "type": "array", "x-kubernetes-list-type": "set", "x-kubernetes-validations": [ { "message": "AllowMethods cannot contain '*' alongside other methods", "rule": "!('*' in self && self.size() > 1)" } ] }, "allowOrigins": { "items": { "maxLength": 253, "minLength": 1, "pattern": "(^\\*$)|(^(http(s)?):\\/\\/(((\\*\\.)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9-]+|\\*)(:([0-9]{1,5}))?)$)", "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set", "x-kubernetes-validations": [ { "message": "AllowOrigins cannot contain '*' alongside other origins", "rule": "!('*' in self && self.size() > 1)" } ] }, "exposeHeaders": { "items": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" }, "maxAge": { "default": 5, "format": "int32", "minimum": 1, "type": "integer" } }, "type": "object" }, "extensionRef": { "properties": { "group": { "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" } }, "required": [ "group", "kind", "name" ], "type": "object" }, "externalAuth": { "properties": { "backendRef": { "properties": { "group": { "default": "", "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "default": "Service", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" }, "namespace": { "maxLength": 63, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" } }, "required": [ "name" ], "type": "object", "x-kubernetes-validations": [ { "message": "Must have port for Service reference", "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true" } ] }, "forwardBody": { "properties": { "maxSize": { "type": "integer" } }, "type": "object" }, "grpc": { "properties": { "allowedHeaders": { "items": { "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" } }, "type": "object" }, "http": { "properties": { "allowedHeaders": { "items": { "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" }, "allowedResponseHeaders": { "items": { "type": "string" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "set" }, "path": { "maxLength": 1024, "pattern": "^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$", "type": "string" } }, "type": "object" }, "protocol": { "enum": [ "HTTP", "GRPC" ], "type": "string" } }, "required": [ "backendRef", "protocol" ], "type": "object", "x-kubernetes-validations": [ { "message": "grpc must be specified when protocol is set to 'GRPC'", "rule": "self.protocol == 'GRPC' ? has(self.grpc) : true" }, { "message": "protocol must be 'GRPC' when grpc is set", "rule": "has(self.grpc) ? self.protocol == 'GRPC' : true" }, { "message": "http must be specified when protocol is set to 'HTTP'", "rule": "self.protocol == 'HTTP' ? has(self.http) : true" }, { "message": "protocol must be 'HTTP' when http is set", "rule": "has(self.http) ? self.protocol == 'HTTP' : true" } ] }, "requestHeaderModifier": { "properties": { "add": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "remove": { "items": { "type": "string" }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "set" }, "set": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" } }, "type": "object" }, "requestMirror": { "properties": { "backendRef": { "properties": { "group": { "default": "", "maxLength": 253, "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { "default": "Service", "maxLength": 63, "minLength": 1, "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", "type": "string" }, "name": { "maxLength": 253, "minLength": 1, "type": "string" }, "namespace": { "maxLength": 63, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" } }, "required": [ "name" ], "type": "object", "x-kubernetes-validations": [ { "message": "Must have port for Service reference", "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true" } ] }, "fraction": { "properties": { "denominator": { "default": 100, "format": "int32", "minimum": 1, "type": "integer" }, "numerator": { "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "numerator" ], "type": "object", "x-kubernetes-validations": [ { "message": "numerator must be less than or equal to denominator", "rule": "self.numerator <= self.denominator" } ] }, "percent": { "format": "int32", "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "backendRef" ], "type": "object", "x-kubernetes-validations": [ { "message": "Only one of percent or fraction may be specified in HTTPRequestMirrorFilter", "rule": "!(has(self.percent) && has(self.fraction))" } ] }, "requestRedirect": { "properties": { "hostname": { "maxLength": 253, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "path": { "properties": { "replaceFullPath": { "maxLength": 1024, "type": "string" }, "replacePrefixMatch": { "maxLength": 1024, "type": "string" }, "type": { "enum": [ "ReplaceFullPath", "ReplacePrefixMatch" ], "type": "string" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'", "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true" }, { "message": "type must be 'ReplaceFullPath' when replaceFullPath is set", "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true" }, { "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'", "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true" }, { "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set", "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true" } ] }, "port": { "format": "int32", "maximum": 65535, "minimum": 1, "type": "integer" }, "scheme": { "enum": [ "http", "https" ], "type": "string" }, "statusCode": { "default": 302, "enum": [ 301, 302, 303, 307, 308 ], "type": "integer" } }, "type": "object" }, "responseHeaderModifier": { "properties": { "add": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "remove": { "items": { "type": "string" }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "set" }, "set": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" } }, "type": "object" }, "type": { "enum": [ "RequestHeaderModifier", "ResponseHeaderModifier", "RequestMirror", "RequestRedirect", "URLRewrite", "ExtensionRef", "CORS" ], "type": "string" }, "urlRewrite": { "properties": { "hostname": { "maxLength": 253, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "path": { "properties": { "replaceFullPath": { "maxLength": 1024, "type": "string" }, "replacePrefixMatch": { "maxLength": 1024, "type": "string" }, "type": { "enum": [ "ReplaceFullPath", "ReplacePrefixMatch" ], "type": "string" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'", "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true" }, { "message": "type must be 'ReplaceFullPath' when replaceFullPath is set", "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true" }, { "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'", "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true" }, { "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set", "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true" } ] } }, "type": "object" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "filter.cors must be nil if the filter.type is not CORS", "rule": "!(has(self.cors) && self.type != 'CORS')" }, { "message": "filter.cors must be specified for CORS filter.type", "rule": "!(!has(self.cors) && self.type == 'CORS')" }, { "message": "filter.requestHeaderModifier must be nil if the filter.type is not RequestHeaderModifier", "rule": "!(has(self.requestHeaderModifier) && self.type != 'RequestHeaderModifier')" }, { "message": "filter.requestHeaderModifier must be specified for RequestHeaderModifier filter.type", "rule": "!(!has(self.requestHeaderModifier) && self.type == 'RequestHeaderModifier')" }, { "message": "filter.responseHeaderModifier must be nil if the filter.type is not ResponseHeaderModifier", "rule": "!(has(self.responseHeaderModifier) && self.type != 'ResponseHeaderModifier')" }, { "message": "filter.responseHeaderModifier must be specified for ResponseHeaderModifier filter.type", "rule": "!(!has(self.responseHeaderModifier) && self.type == 'ResponseHeaderModifier')" }, { "message": "filter.requestMirror must be nil if the filter.type is not RequestMirror", "rule": "!(has(self.requestMirror) && self.type != 'RequestMirror')" }, { "message": "filter.requestMirror must be specified for RequestMirror filter.type", "rule": "!(!has(self.requestMirror) && self.type == 'RequestMirror')" }, { "message": "filter.requestRedirect must be nil if the filter.type is not RequestRedirect", "rule": "!(has(self.requestRedirect) && self.type != 'RequestRedirect')" }, { "message": "filter.requestRedirect must be specified for RequestRedirect filter.type", "rule": "!(!has(self.requestRedirect) && self.type == 'RequestRedirect')" }, { "message": "filter.urlRewrite must be nil if the filter.type is not URLRewrite", "rule": "!(has(self.urlRewrite) && self.type != 'URLRewrite')" }, { "message": "filter.urlRewrite must be specified for URLRewrite filter.type", "rule": "!(!has(self.urlRewrite) && self.type == 'URLRewrite')" }, { "message": "filter.extensionRef must be nil if the filter.type is not ExtensionRef", "rule": "!(has(self.extensionRef) && self.type != 'ExtensionRef')" }, { "message": "filter.extensionRef must be specified for ExtensionRef filter.type", "rule": "!(!has(self.extensionRef) && self.type == 'ExtensionRef')" } ] }, "maxItems": 16, "type": "array", "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", "rule": "!(self.exists(f, f.type == 'RequestRedirect') && self.exists(f, f.type == 'URLRewrite'))" }, { "message": "CORS filter cannot be repeated", "rule": "self.filter(f, f.type == 'CORS').size() <= 1" }, { "message": "RequestHeaderModifier filter cannot be repeated", "rule": "self.filter(f, f.type == 'RequestHeaderModifier').size() <= 1" }, { "message": "ResponseHeaderModifier filter cannot be repeated", "rule": "self.filter(f, f.type == 'ResponseHeaderModifier').size() <= 1" }, { "message": "RequestRedirect filter cannot be repeated", "rule": "self.filter(f, f.type == 'RequestRedirect').size() <= 1" }, { "message": "URLRewrite filter cannot be repeated", "rule": "self.filter(f, f.type == 'URLRewrite').size() <= 1" } ] }, "matches": { "default": [ { "path": { "type": "PathPrefix", "value": "/" } } ], "items": { "properties": { "headers": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "type": { "default": "Exact", "enum": [ "Exact", "RegularExpression" ], "type": "string" }, "value": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "method": { "enum": [ "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH" ], "type": "string" }, "path": { "default": { "type": "PathPrefix", "value": "/" }, "properties": { "type": { "default": "PathPrefix", "enum": [ "Exact", "PathPrefix", "RegularExpression" ], "type": "string" }, "value": { "default": "/", "maxLength": 1024, "type": "string" } }, "type": "object", "x-kubernetes-validations": [ { "message": "value must be an absolute path and start with '/' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? self.value.startsWith('/') : true" }, { "message": "must not contain '//' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('//') : true" }, { "message": "must not contain '/./' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('/./') : true" }, { "message": "must not contain '/../' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('/../') : true" }, { "message": "must not contain '%2f' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('%2f') : true" }, { "message": "must not contain '%2F' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('%2F') : true" }, { "message": "must not contain '#' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('#') : true" }, { "message": "must not end with '/..' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.endsWith('/..') : true" }, { "message": "must not end with '/.' when type one of ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.endsWith('/.') : true" }, { "message": "type must be one of ['Exact', 'PathPrefix', 'RegularExpression']", "rule": "self.type in ['Exact','PathPrefix'] || self.type == 'RegularExpression'" }, { "message": "must only contain valid characters (matching ^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$) for types ['Exact', 'PathPrefix']", "rule": "(self.type in ['Exact','PathPrefix']) ? self.value.matches(r\"\"\"^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$\"\"\") : true" } ] }, "queryParams": { "items": { "properties": { "name": { "maxLength": 256, "minLength": 1, "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$", "type": "string" }, "type": { "default": "Exact", "enum": [ "Exact", "RegularExpression" ], "type": "string" }, "value": { "maxLength": 1024, "minLength": 1, "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "maxItems": 16, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" } }, "type": "object" }, "maxItems": 64, "type": "array", "x-kubernetes-list-type": "atomic" }, "name": { "maxLength": 253, "minLength": 1, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "retry": { "properties": { "attempts": { "type": "integer" }, "backoff": { "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$", "type": "string" }, "codes": { "items": { "maximum": 599, "minimum": 400, "type": "integer" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "sessionPersistence": { "properties": { "absoluteTimeout": { "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$", "type": "string" }, "cookieConfig": { "properties": { "lifetimeType": { "default": "Session", "enum": [ "Permanent", "Session" ], "type": "string" } }, "type": "object" }, "idleTimeout": { "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$", "type": "string" }, "sessionName": { "maxLength": 128, "type": "string" }, "type": { "default": "Cookie", "enum": [ "Cookie", "Header" ], "type": "string" } }, "type": "object", "x-kubernetes-validations": [ { "message": "AbsoluteTimeout must be specified when cookie lifetimeType is Permanent", "rule": "!has(self.cookieConfig) || !has(self.cookieConfig.lifetimeType) || self.cookieConfig.lifetimeType != 'Permanent' || has(self.absoluteTimeout)" }, { "message": "cookieConfig can only be set with type Cookie", "rule": "!has(self.cookieConfig) || self.type == 'Cookie'" } ] }, "timeouts": { "properties": { "backendRequest": { "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$", "type": "string" }, "request": { "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$", "type": "string" } }, "type": "object", "x-kubernetes-validations": [ { "message": "backendRequest timeout cannot be longer than request timeout", "rule": "!(has(self.request) && has(self.backendRequest) && duration(self.request) != duration('0s') && duration(self.backendRequest) > duration(self.request))" } ] } }, "type": "object", "x-kubernetes-validations": [ { "message": "RequestRedirect filter must not be used together with backendRefs", "rule": "(has(self.backendRefs) && size(self.backendRefs) > 0) ? (!has(self.filters) || self.filters.all(f, !has(f.requestRedirect))): true" }, { "message": "When using RequestRedirect filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified", "rule": "(has(self.filters) && self.filters.exists_one(f, has(f.requestRedirect) && has(f.requestRedirect.path) && f.requestRedirect.path.type == 'ReplacePrefixMatch' && has(f.requestRedirect.path.replacePrefixMatch))) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true" }, { "message": "When using URLRewrite filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified", "rule": "(has(self.filters) && self.filters.exists_one(f, has(f.urlRewrite) && has(f.urlRewrite.path) && f.urlRewrite.path.type == 'ReplacePrefixMatch' && has(f.urlRewrite.path.replacePrefixMatch))) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true" }, { "message": "Within backendRefs, when using RequestRedirect filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified", "rule": "(has(self.backendRefs) && self.backendRefs.exists_one(b, (has(b.filters) && b.filters.exists_one(f, has(f.requestRedirect) && has(f.requestRedirect.path) && f.requestRedirect.path.type == 'ReplacePrefixMatch' && has(f.requestRedirect.path.replacePrefixMatch))) )) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true" }, { "message": "Within backendRefs, When using URLRewrite filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified", "rule": "(has(self.backendRefs) && self.backendRefs.exists_one(b, (has(b.filters) && b.filters.exists_one(f, has(f.urlRewrite) && has(f.urlRewrite.path) && f.urlRewrite.path.type == 'ReplacePrefixMatch' && has(f.urlRewrite.path.replacePrefixMatch))) )) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true" } ] }, "maxItems": 16, "minItems": 1, "type": "array", "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less than 128", "rule": "(self.size() > 0 ? self[0].matches.size() : 0) + (self.size() > 1 ? self[1].matches.size() : 0) + (self.size() > 2 ? self[2].matches.size() : 0) + (self.size() > 3 ? self[3].matches.size() : 0) + (self.size() > 4 ? self[4].matches.size() : 0) + (self.size() > 5 ? self[5].matches.size() : 0) + (self.size() > 6 ? self[6].matches.size() : 0) + (self.size() > 7 ? self[7].matches.size() : 0) + (self.size() > 8 ? self[8].matches.size() : 0) + (self.size() > 9 ? self[9].matches.size() : 0) + (self.size() > 10 ? self[10].matches.size() : 0) + (self.size() > 11 ? self[11].matches.size() : 0) + (self.size() > 12 ? self[12].matches.size() : 0) + (self.size() > 13 ? self[13].matches.size() : 0) + (self.size() > 14 ? self[14].matches.size() : 0) + (self.size() > 15 ? self[15].matches.size() : 0) <= 128" } ] }, "useDefaultGateways": { "enum": [ "All", "None" ], "type": "string" } }, "type": "object" } }, "type": "object" }, "ingress": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "spec": { "properties": { "defaultBackend": { "properties": { "resource": { "properties": { "apiGroup": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" } }, "required": [ "kind", "name" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "service": { "properties": { "name": { "type": "string" }, "port": { "properties": { "name": { "type": "string" }, "number": { "format": "int32", "type": "integer" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "name" ], "type": "object" } }, "type": "object" }, "ingressClassName": { "type": "string" }, "rules": { "items": { "properties": { "host": { "type": "string" }, "http": { "properties": { "paths": { "items": { "properties": { "backend": { "properties": { "resource": { "properties": { "apiGroup": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" } }, "required": [ "kind", "name" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "service": { "properties": { "name": { "type": "string" }, "port": { "properties": { "name": { "type": "string" }, "number": { "format": "int32", "type": "integer" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "name" ], "type": "object" } }, "type": "object" }, "path": { "type": "string" }, "pathType": { "type": "string" } }, "required": [ "backend", "pathType" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "paths" ], "type": "object" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "tls": { "items": { "properties": { "hosts": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "secretName": { "type": "string" } }, "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" } }, "type": "object" }, "jsonnet": { "properties": { "libraryLabelSelector": { "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" } }, "type": "object" }, "persistentVolumeClaim": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "spec": { "properties": { "accessModes": { "items": { "type": "string" }, "type": "array" }, "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" } }, "required": [ "kind", "name" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "resources": { "properties": { "claims": { "items": { "properties": { "name": { "type": "string" }, "request": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "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" }, "volumeMode": { "type": "string" }, "volumeName": { "type": "string" } }, "type": "object" } }, "type": "object" }, "preferences": { "properties": { "homeDashboardUid": { "type": "string" } }, "type": "object" }, "route": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "spec": { "properties": { "alternateBackends": { "items": { "properties": { "kind": { "default": "Service", "enum": [ "Service", "" ], "type": "string" }, "name": { "minLength": 1, "type": "string" }, "weight": { "default": 100, "format": "int32", "maximum": 256, "minimum": 0, "type": "integer" } }, "required": [ "kind", "name" ], "type": "object" }, "type": "array" }, "host": { "type": "string" }, "path": { "type": "string" }, "port": { "properties": { "targetPort": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "required": [ "targetPort" ], "type": "object" }, "subdomain": { "type": "string" }, "tls": { "properties": { "caCertificate": { "type": "string" }, "certificate": { "type": "string" }, "destinationCACertificate": { "type": "string" }, "externalCertificate": { "properties": { "name": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "insecureEdgeTerminationPolicy": { "enum": [ "Allow", "None", "Redirect", "" ], "type": "string" }, "key": { "type": "string" }, "termination": { "enum": [ "edge", "reencrypt", "passthrough" ], "type": "string" } }, "required": [ "termination" ], "type": "object", "x-kubernetes-validations": [ { "message": "cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow", "rule": "has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination=='passthrough') && (self.insecureEdgeTerminationPolicy=='Allow')) : true" } ] }, "to": { "properties": { "kind": { "default": "Service", "enum": [ "Service", "" ], "type": "string" }, "name": { "minLength": 1, "type": "string" }, "weight": { "default": 100, "format": "int32", "maximum": 256, "minimum": 0, "type": "integer" } }, "required": [ "kind", "name" ], "type": "object" }, "wildcardPolicy": { "type": "string" } }, "type": "object" } }, "type": "object" }, "service": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "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" }, "serviceAccount": { "properties": { "automountServiceAccountToken": { "type": "boolean" }, "imagePullSecrets": { "items": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array" }, "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "secrets": { "items": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array" } }, "type": "object" }, "suspend": { "type": "boolean" }, "version": { "type": "string" } }, "type": "object" }, "status": { "properties": { "adminUrl": { "type": "string" }, "alertRuleGroups": { "items": { "type": "string" }, "type": "array" }, "conditions": { "items": { "properties": { "lastTransitionTime": { "format": "date-time", "type": "string" }, "message": { "maxLength": 32768, "type": "string" }, "observedGeneration": { "format": "int64", "minimum": 0, "type": "integer" }, "reason": { "maxLength": 1024, "minLength": 1, "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", "type": "string" }, "status": { "enum": [ "True", "False", "Unknown" ], "type": "string" }, "type": { "maxLength": 316, "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", "type": "string" } }, "required": [ "lastTransitionTime", "message", "reason", "status", "type" ], "type": "object" }, "type": "array" }, "contactPoints": { "items": { "type": "string" }, "type": "array" }, "dashboards": { "items": { "type": "string" }, "type": "array" }, "datasources": { "items": { "type": "string" }, "type": "array" }, "folders": { "items": { "type": "string" }, "type": "array" }, "lastMessage": { "type": "string" }, "libraryPanels": { "items": { "type": "string" }, "type": "array" }, "manifests": { "items": { "type": "string" }, "type": "array" }, "muteTimings": { "items": { "type": "string" }, "type": "array" }, "notificationTemplates": { "items": { "type": "string" }, "type": "array" }, "serviceaccounts": { "items": { "type": "string" }, "type": "array" }, "stage": { "type": "string" }, "stageStatus": { "type": "string" }, "version": { "type": "string" } }, "type": "object" } }, "required": [ "spec" ], "type": "object" }