From baa3b146cf827840178eb35a84c0ab71b7d368bb Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Tue, 15 Apr 2025 14:40:23 -0400 Subject: [PATCH 1/9] Don't prettify chart values JSON schema --- codegen/render/funcs.go | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/codegen/render/funcs.go b/codegen/render/funcs.go index 9ab05155d..9dbc0067e 100644 --- a/codegen/render/funcs.go +++ b/codegen/render/funcs.go @@ -693,7 +693,7 @@ func toJSONSchema(values values.UserHelmValues) string { panic(err) } - return indentJson(string(jsonSchema)) + return string(jsonSchema) } type customTypeMapper func(reflect.Type, *jsonschema.Schema) *jsonschema.Schema @@ -1039,15 +1039,6 @@ func nestSchemaAtPath(schema *jsonschema.Schema, path ...string) *jsonschema.Sch return schema } -func indentJson(src string) string { - var buf bytes.Buffer - err := json.Indent(&buf, []byte(src), "", " ") - if err != nil { - panic(err) - } - return buf.String() -} - // reverse mutates a slice of strings to reverse the order. func reverse(s []string) { for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 { From f9725a40e2d440d5cd3cab5740ff38c79876fb60 Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Tue, 15 Apr 2025 14:41:17 -0400 Subject: [PATCH 2/9] Changelog --- changelog/v0.43.2/helm-minify-json-schems.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 changelog/v0.43.2/helm-minify-json-schems.yaml diff --git a/changelog/v0.43.2/helm-minify-json-schems.yaml b/changelog/v0.43.2/helm-minify-json-schems.yaml new file mode 100644 index 000000000..163801ff7 --- /dev/null +++ b/changelog/v0.43.2/helm-minify-json-schems.yaml @@ -0,0 +1,9 @@ +changelog: +- type: FIX + issueLink: https://github.com/solo-io/gloo-mesh-enterprise/issues/20411 + description: > + With this change, the `values.schema.json` file generated as part of the Helm chart generation is no longer + prettified. This drastically reduces the size of the file and minimizes the changes of the new maximum file size + limit [introduced by Helm](https://github.com/helm/helm/commit/e4da49785aa6e6ee2b86efd5dd9e43400318262b) in `v3.17.3`. + There are no functional changes. Human users can still prettify the file using external tools (e.g. `jq`) if necessary. + resolvesIssue: false From 1d17d008780761e5f315a1a6c34be17a86de466e Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Tue, 15 Apr 2025 14:43:25 -0400 Subject: [PATCH 3/9] Make linter happy Remove unused functions Add default switch clause --- codegen/render/funcs.go | 39 ++------------------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/codegen/render/funcs.go b/codegen/render/funcs.go index 9dbc0067e..84fd83627 100644 --- a/codegen/render/funcs.go +++ b/codegen/render/funcs.go @@ -24,7 +24,6 @@ import ( "github.com/BurntSushi/toml" "github.com/Masterminds/sprig/v3" - "github.com/golang/protobuf/protoc-gen-go/descriptor" "github.com/iancoleman/orderedmap" "github.com/iancoleman/strcase" "github.com/solo-io/skv2/codegen/model" @@ -208,42 +207,6 @@ func opVar(op model.Operator) string { return opVar } -/* -Find the proto messages for a given set of descriptors which need proto_deepcopoy funcs and whose types are not in -the API root package - -return true if the descriptor corresponds to the Spec or the Status field -*/ -func shouldDeepCopyExternalMessage(resources []model.Resource, desc *descriptor.DescriptorProto) bool { - for _, resource := range resources { - if resource.Spec.Type.Name == desc.GetName() || - (resource.Status != nil && resource.Status.Type.Name == desc.GetName()) { - return true - } - } - return false -} - -/* -Find the proto messages for a given set of descriptors which need proto_deepcopoy funcs. -The two cases are as follows: - -1. One of the subfields has an external type -2. There is a oneof present -*/ -func shouldDeepCopyInternalMessage(packageName string, desc *descriptor.DescriptorProto) bool { - var shouldGenerate bool - // case 1 above - for _, v := range desc.GetField() { - if v.TypeName != nil && !strings.Contains(v.GetTypeName(), packageName) { - shouldGenerate = true - break - } - } - // case 2 above - return len(desc.GetOneofDecl()) > 0 || shouldGenerate -} - // toYAML takes an interface, marshals it to yaml, and returns a string. It will // always return a string, even on marshal error (empty string). // @@ -406,6 +369,8 @@ func (yc *yamlCommenter) addYamlComments( nextValue = value.MapIndex(mapKeysByName[keyNode.Value]) } + default: + // nothing to do } // continue traversing the object From 95fa5c8cdfad90865e5a8a084bae59c1a777e424 Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Tue, 15 Apr 2025 14:45:08 -0400 Subject: [PATCH 4/9] Move changelog --- changelog/{v0.43.2 => v0.43.3}/helm-minify-json-schems.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog/{v0.43.2 => v0.43.3}/helm-minify-json-schems.yaml (100%) diff --git a/changelog/v0.43.2/helm-minify-json-schems.yaml b/changelog/v0.43.3/helm-minify-json-schems.yaml similarity index 100% rename from changelog/v0.43.2/helm-minify-json-schems.yaml rename to changelog/v0.43.3/helm-minify-json-schems.yaml From 921c50ebdd48ce535062f0e28d4419c0c5ce2dbb Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Wed, 16 Apr 2025 14:52:45 -0400 Subject: [PATCH 5/9] Codegen --- codegen/test/chart/values.schema.json | 9764 +------------------------ 1 file changed, 1 insertion(+), 9763 deletions(-) diff --git a/codegen/test/chart/values.schema.json b/codegen/test/chart/values.schema.json index ecd4fce58..d722f6e86 100644 --- a/codegen/test/chart/values.schema.json +++ b/codegen/test/chart/values.schema.json @@ -1,9763 +1 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "properties": { - "customField1": { - "type": "string" - }, - "painter": { - "properties": { - "image": { - "properties": { - "tag": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "pullPolicy": { - "type": "string" - }, - "pullSecret": { - "type": "string" - } - }, - "type": "object" - }, - "env": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "valueFrom": { - "anyOf": [ - { - "properties": { - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "configMapKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "extraEnvs": { - "properties": {}, - "type": "object" - }, - "resources": { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "claims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "request": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "securityContext": { - "anyOf": [ - { - "properties": { - "capabilities": { - "properties": { - "add": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "drop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "privileged": { - "type": "boolean" - }, - "seLinuxOptions": { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - "windowsOptions": { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "runAsUser": { - "type": "integer" - }, - "runAsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "type": "boolean" - }, - "allowPrivilegeEscalation": { - "type": "boolean" - }, - "procMount": { - "type": "string" - }, - "seccompProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "appArmorProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "boolean", - "const": false - } - ] - }, - "sidecars": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "properties": { - "image": { - "properties": { - "tag": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "pullPolicy": { - "type": "string" - }, - "pullSecret": { - "type": "string" - } - }, - "type": "object" - }, - "env": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "valueFrom": { - "anyOf": [ - { - "properties": { - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "configMapKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "extraEnvs": { - "properties": {}, - "type": "object" - }, - "resources": { - "anyOf": [ - { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "claims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "request": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "securityContext": { - "anyOf": [ - { - "properties": { - "capabilities": { - "properties": { - "add": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "drop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "privileged": { - "type": "boolean" - }, - "seLinuxOptions": { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - "windowsOptions": { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "runAsUser": { - "type": "integer" - }, - "runAsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "type": "boolean" - }, - "allowPrivilegeEscalation": { - "type": "boolean" - }, - "procMount": { - "type": "string" - }, - "seccompProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "appArmorProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "boolean", - "const": false - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "floatingUserId": { - "type": "boolean" - }, - "runAsUser": { - "type": "integer" - }, - "serviceType": { - "type": "string" - }, - "ports": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "podSecurityContext": { - "anyOf": [ - { - "properties": { - "seLinuxOptions": { - "anyOf": [ - { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "windowsOptions": { - "anyOf": [ - { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "runAsUser": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "runAsGroup": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "runAsNonRoot": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "supplementalGroups": { - "anyOf": [ - { - "items": { - "type": "integer" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "supplementalGroupsPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "fsGroup": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "sysctls": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "fsGroupChangePolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "seccompProfile": { - "anyOf": [ - { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "appArmorProfile": { - "anyOf": [ - { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "seLinuxChangePolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "deploymentOverrides": { - "anyOf": [ - { - "properties": { - "kind": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "metadata": { - "properties": { - "name": { - "type": "string" - }, - "generateName": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "selfLink": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "resourceVersion": { - "type": "string" - }, - "generation": { - "type": "integer" - }, - "creationTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "labels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "annotations": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "ownerReferences": { - "anyOf": [ - { - "items": { - "properties": { - "apiVersion": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "controller": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "blockOwnerDeletion": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "finalizers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "managedFields": { - "anyOf": [ - { - "items": { - "properties": { - "manager": { - "type": "string" - }, - "operation": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "fieldsType": { - "type": "string" - }, - "fieldsV1": { - "anyOf": [ - { - "properties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "subresource": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "spec": { - "properties": { - "replicas": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "selector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "template": { - "properties": { - "metadata": { - "properties": { - "name": { - "type": "string" - }, - "generateName": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "selfLink": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "resourceVersion": { - "type": "string" - }, - "generation": { - "type": "integer" - }, - "creationTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "labels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "annotations": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "ownerReferences": { - "anyOf": [ - { - "items": { - "properties": { - "apiVersion": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "controller": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "blockOwnerDeletion": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "finalizers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "managedFields": { - "anyOf": [ - { - "items": { - "properties": { - "manager": { - "type": "string" - }, - "operation": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "fieldsType": { - "type": "string" - }, - "fieldsV1": { - "anyOf": [ - { - "properties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "subresource": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "spec": { - "properties": { - "volumes": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "hostPath": { - "properties": { - "path": { - "type": "string" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "emptyDir": { - "properties": { - "medium": { - "type": "string" - }, - "sizeLimit": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - "gcePersistentDisk": { - "properties": { - "pdName": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "partition": { - "type": "integer" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "awsElasticBlockStore": { - "properties": { - "volumeID": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "partition": { - "type": "integer" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "gitRepo": { - "properties": { - "repository": { - "type": "string" - }, - "revision": { - "type": "string" - }, - "directory": { - "type": "string" - } - }, - "type": "object" - }, - "secret": { - "properties": { - "secretName": { - "type": "string" - }, - "items": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "path": { - "type": "string" - }, - "mode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "defaultMode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "nfs": { - "properties": { - "server": { - "type": "string" - }, - "path": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "iscsi": { - "properties": { - "targetPortal": { - "type": "string" - }, - "iqn": { - "type": "string" - }, - "lun": { - "type": "integer" - }, - "iscsiInterface": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "portals": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "chapAuthDiscovery": { - "type": "boolean" - }, - "chapAuthSession": { - "type": "boolean" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "initiatorName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "glusterfs": { - "properties": { - "endpoints": { - "type": "string" - }, - "path": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "persistentVolumeClaim": { - "properties": { - "claimName": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "rbd": { - "properties": { - "monitors": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "image": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "pool": { - "type": "string" - }, - "user": { - "type": "string" - }, - "keyring": { - "type": "string" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "flexVolume": { - "properties": { - "driver": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "readOnly": { - "type": "boolean" - }, - "options": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "cinder": { - "properties": { - "volumeID": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "cephfs": { - "properties": { - "monitors": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": "string" - }, - "user": { - "type": "string" - }, - "secretFile": { - "type": "string" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "flocker": { - "properties": { - "datasetName": { - "type": "string" - }, - "datasetUUID": { - "type": "string" - } - }, - "type": "object" - }, - "downwardAPI": { - "properties": { - "items": { - "anyOf": [ - { - "items": { - "properties": { - "path": { - "type": "string" - }, - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "mode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "defaultMode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "fc": { - "properties": { - "targetWWNs": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "lun": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "fsType": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "wwids": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "azureFile": { - "properties": { - "secretName": { - "type": "string" - }, - "shareName": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "configMap": { - "properties": { - "name": { - "type": "string" - }, - "items": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "path": { - "type": "string" - }, - "mode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "defaultMode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "vsphereVolume": { - "properties": { - "volumePath": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "storagePolicyName": { - "type": "string" - }, - "storagePolicyID": { - "type": "string" - } - }, - "type": "object" - }, - "quobyte": { - "properties": { - "registry": { - "type": "string" - }, - "volume": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "user": { - "type": "string" - }, - "group": { - "type": "string" - }, - "tenant": { - "type": "string" - } - }, - "type": "object" - }, - "azureDisk": { - "properties": { - "diskName": { - "type": "string" - }, - "diskURI": { - "type": "string" - }, - "cachingMode": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "fsType": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "readOnly": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "photonPersistentDisk": { - "properties": { - "pdID": { - "type": "string" - }, - "fsType": { - "type": "string" - } - }, - "type": "object" - }, - "projected": { - "properties": { - "sources": { - "anyOf": [ - { - "items": { - "properties": { - "secret": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "items": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "path": { - "type": "string" - }, - "mode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "downwardAPI": { - "anyOf": [ - { - "properties": { - "items": { - "anyOf": [ - { - "items": { - "properties": { - "path": { - "type": "string" - }, - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "mode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "configMap": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "items": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "path": { - "type": "string" - }, - "mode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "serviceAccountToken": { - "anyOf": [ - { - "properties": { - "audience": { - "type": "string" - }, - "expirationSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "clusterTrustBundle": { - "anyOf": [ - { - "properties": { - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "signerName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "labelSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "defaultMode": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "portworxVolume": { - "properties": { - "volumeID": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "scaleIO": { - "properties": { - "gateway": { - "type": "string" - }, - "system": { - "type": "string" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sslEnabled": { - "type": "boolean" - }, - "protectionDomain": { - "type": "string" - }, - "storagePool": { - "type": "string" - }, - "storageMode": { - "type": "string" - }, - "volumeName": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "storageos": { - "properties": { - "volumeName": { - "type": "string" - }, - "volumeNamespace": { - "type": "string" - }, - "fsType": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "csi": { - "properties": { - "driver": { - "type": "string" - }, - "readOnly": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "fsType": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "volumeAttributes": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "nodePublishSecretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "ephemeral": { - "properties": { - "volumeClaimTemplate": { - "anyOf": [ - { - "properties": { - "metadata": { - "properties": { - "name": { - "type": "string" - }, - "generateName": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "selfLink": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "resourceVersion": { - "type": "string" - }, - "generation": { - "type": "integer" - }, - "creationTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "labels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "annotations": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "ownerReferences": { - "anyOf": [ - { - "items": { - "properties": { - "apiVersion": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "controller": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "blockOwnerDeletion": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "finalizers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "managedFields": { - "anyOf": [ - { - "items": { - "properties": { - "manager": { - "type": "string" - }, - "operation": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "fieldsType": { - "type": "string" - }, - "fieldsV1": { - "anyOf": [ - { - "properties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "subresource": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "spec": { - "properties": { - "accessModes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "selector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resources": { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "volumeName": { - "type": "string" - }, - "storageClassName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "volumeMode": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "dataSource": { - "anyOf": [ - { - "properties": { - "apiGroup": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "dataSourceRef": { - "anyOf": [ - { - "properties": { - "apiGroup": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "namespace": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "volumeAttributesClassName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "image": { - "properties": { - "reference": { - "type": "string" - }, - "pullPolicy": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "initContainers": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "image": { - "type": "string" - }, - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "args": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "workingDir": { - "type": "string" - }, - "ports": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "hostPort": { - "type": "integer" - }, - "containerPort": { - "type": "integer" - }, - "protocol": { - "type": "string" - }, - "hostIP": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "envFrom": { - "anyOf": [ - { - "items": { - "properties": { - "prefix": { - "type": "string" - }, - "configMapRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "env": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "valueFrom": { - "anyOf": [ - { - "properties": { - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "configMapKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "resources": { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "claims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "request": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "resizePolicy": { - "anyOf": [ - { - "items": { - "properties": { - "resourceName": { - "type": "string" - }, - "restartPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "restartPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "volumeMounts": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "recursiveReadOnly": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "mountPath": { - "type": "string" - }, - "subPath": { - "type": "string" - }, - "mountPropagation": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subPathExpr": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "volumeDevices": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "devicePath": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "livenessProbe": { - "anyOf": [ - { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "readinessProbe": { - "anyOf": [ - { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "startupProbe": { - "anyOf": [ - { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "lifecycle": { - "anyOf": [ - { - "properties": { - "postStart": { - "anyOf": [ - { - "properties": { - "exec": { - "anyOf": [ - { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "httpGet": { - "anyOf": [ - { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "tcpSocket": { - "anyOf": [ - { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sleep": { - "anyOf": [ - { - "properties": { - "seconds": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "preStop": { - "anyOf": [ - { - "properties": { - "exec": { - "anyOf": [ - { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "httpGet": { - "anyOf": [ - { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "tcpSocket": { - "anyOf": [ - { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sleep": { - "anyOf": [ - { - "properties": { - "seconds": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "terminationMessagePath": { - "type": "string" - }, - "terminationMessagePolicy": { - "type": "string" - }, - "imagePullPolicy": { - "type": "string" - }, - "securityContext": { - "anyOf": [ - { - "properties": { - "capabilities": { - "properties": { - "add": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "drop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "privileged": { - "type": "boolean" - }, - "seLinuxOptions": { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - "windowsOptions": { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "runAsUser": { - "type": "integer" - }, - "runAsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "type": "boolean" - }, - "allowPrivilegeEscalation": { - "type": "boolean" - }, - "procMount": { - "type": "string" - }, - "seccompProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "appArmorProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "boolean", - "const": false - } - ] - }, - "stdin": { - "type": "boolean" - }, - "stdinOnce": { - "type": "boolean" - }, - "tty": { - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "containers": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "image": { - "type": "string" - }, - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "args": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "workingDir": { - "type": "string" - }, - "ports": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "hostPort": { - "type": "integer" - }, - "containerPort": { - "type": "integer" - }, - "protocol": { - "type": "string" - }, - "hostIP": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "envFrom": { - "anyOf": [ - { - "items": { - "properties": { - "prefix": { - "type": "string" - }, - "configMapRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "env": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "valueFrom": { - "anyOf": [ - { - "properties": { - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "configMapKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "resources": { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "claims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "request": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "resizePolicy": { - "anyOf": [ - { - "items": { - "properties": { - "resourceName": { - "type": "string" - }, - "restartPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "restartPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "volumeMounts": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "recursiveReadOnly": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "mountPath": { - "type": "string" - }, - "subPath": { - "type": "string" - }, - "mountPropagation": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subPathExpr": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "volumeDevices": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "devicePath": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "livenessProbe": { - "anyOf": [ - { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "readinessProbe": { - "anyOf": [ - { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "startupProbe": { - "anyOf": [ - { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "lifecycle": { - "anyOf": [ - { - "properties": { - "postStart": { - "anyOf": [ - { - "properties": { - "exec": { - "anyOf": [ - { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "httpGet": { - "anyOf": [ - { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "tcpSocket": { - "anyOf": [ - { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sleep": { - "anyOf": [ - { - "properties": { - "seconds": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "preStop": { - "anyOf": [ - { - "properties": { - "exec": { - "anyOf": [ - { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "httpGet": { - "anyOf": [ - { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "tcpSocket": { - "anyOf": [ - { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sleep": { - "anyOf": [ - { - "properties": { - "seconds": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "terminationMessagePath": { - "type": "string" - }, - "terminationMessagePolicy": { - "type": "string" - }, - "imagePullPolicy": { - "type": "string" - }, - "securityContext": { - "anyOf": [ - { - "properties": { - "capabilities": { - "properties": { - "add": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "drop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "privileged": { - "type": "boolean" - }, - "seLinuxOptions": { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - "windowsOptions": { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "runAsUser": { - "type": "integer" - }, - "runAsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "type": "boolean" - }, - "allowPrivilegeEscalation": { - "type": "boolean" - }, - "procMount": { - "type": "string" - }, - "seccompProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "appArmorProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "boolean", - "const": false - } - ] - }, - "stdin": { - "type": "boolean" - }, - "stdinOnce": { - "type": "boolean" - }, - "tty": { - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "ephemeralContainers": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "image": { - "type": "string" - }, - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "args": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "workingDir": { - "type": "string" - }, - "ports": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "hostPort": { - "type": "integer" - }, - "containerPort": { - "type": "integer" - }, - "protocol": { - "type": "string" - }, - "hostIP": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "envFrom": { - "anyOf": [ - { - "items": { - "properties": { - "prefix": { - "type": "string" - }, - "configMapRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "env": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "valueFrom": { - "anyOf": [ - { - "properties": { - "fieldRef": { - "anyOf": [ - { - "properties": { - "apiVersion": { - "type": "string" - }, - "fieldPath": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "resourceFieldRef": { - "anyOf": [ - { - "properties": { - "containerName": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "configMapKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "secretKeyRef": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - }, - "key": { - "type": "string" - }, - "optional": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "resources": { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "claims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "request": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "resizePolicy": { - "anyOf": [ - { - "items": { - "properties": { - "resourceName": { - "type": "string" - }, - "restartPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "restartPolicy": { - "type": "string" - }, - "volumeMounts": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "readOnly": { - "type": "boolean" - }, - "recursiveReadOnly": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "mountPath": { - "type": "string" - }, - "subPath": { - "type": "string" - }, - "mountPropagation": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subPathExpr": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "volumeDevices": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "devicePath": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "livenessProbe": { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "readinessProbe": { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "startupProbe": { - "properties": { - "exec": { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "httpGet": { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "tcpSocket": { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - "grpc": { - "properties": { - "port": { - "type": "integer" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "lifecycle": { - "properties": { - "postStart": { - "anyOf": [ - { - "properties": { - "exec": { - "anyOf": [ - { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "httpGet": { - "anyOf": [ - { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "tcpSocket": { - "anyOf": [ - { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sleep": { - "anyOf": [ - { - "properties": { - "seconds": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "preStop": { - "anyOf": [ - { - "properties": { - "exec": { - "anyOf": [ - { - "properties": { - "command": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "httpGet": { - "anyOf": [ - { - "properties": { - "path": { - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - }, - "scheme": { - "type": "string" - }, - "httpHeaders": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "tcpSocket": { - "anyOf": [ - { - "properties": { - "port": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "host": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "sleep": { - "anyOf": [ - { - "properties": { - "seconds": { - "type": "integer" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "terminationMessagePath": { - "type": "string" - }, - "terminationMessagePolicy": { - "type": "string" - }, - "imagePullPolicy": { - "type": "string" - }, - "securityContext": { - "anyOf": [ - { - "properties": { - "capabilities": { - "properties": { - "add": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "drop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "privileged": { - "type": "boolean" - }, - "seLinuxOptions": { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - "windowsOptions": { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "runAsUser": { - "type": "integer" - }, - "runAsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "type": "boolean" - }, - "allowPrivilegeEscalation": { - "type": "boolean" - }, - "procMount": { - "type": "string" - }, - "seccompProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "appArmorProfile": { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "boolean", - "const": false - } - ] - }, - "stdin": { - "type": "boolean" - }, - "stdinOnce": { - "type": "boolean" - }, - "tty": { - "type": "boolean" - }, - "targetContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "restartPolicy": { - "type": "string" - }, - "terminationGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "activeDeadlineSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "dnsPolicy": { - "type": "string" - }, - "nodeSelector": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "serviceAccountName": { - "type": "string" - }, - "serviceAccount": { - "type": "string" - }, - "automountServiceAccountToken": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "nodeName": { - "type": "string" - }, - "hostNetwork": { - "type": "boolean" - }, - "hostPID": { - "type": "boolean" - }, - "hostIPC": { - "type": "boolean" - }, - "shareProcessNamespace": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "securityContext": { - "anyOf": [ - { - "properties": { - "seLinuxOptions": { - "anyOf": [ - { - "properties": { - "user": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "type": "string" - }, - "level": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "windowsOptions": { - "anyOf": [ - { - "properties": { - "gmsaCredentialSpecName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "gmsaCredentialSpec": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "runAsUserName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hostProcess": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "runAsUser": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "runAsGroup": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "runAsNonRoot": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "supplementalGroups": { - "anyOf": [ - { - "items": { - "type": "integer" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "supplementalGroupsPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "fsGroup": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "sysctls": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "fsGroupChangePolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "seccompProfile": { - "anyOf": [ - { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "appArmorProfile": { - "anyOf": [ - { - "properties": { - "type": { - "type": "string" - }, - "localhostProfile": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "seLinuxChangePolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "imagePullSecrets": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "hostname": { - "type": "string" - }, - "subdomain": { - "type": "string" - }, - "affinity": { - "anyOf": [ - { - "properties": { - "nodeAffinity": { - "anyOf": [ - { - "properties": { - "requiredDuringSchedulingIgnoredDuringExecution": { - "anyOf": [ - { - "properties": { - "nodeSelectorTerms": { - "anyOf": [ - { - "items": { - "properties": { - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "matchFields": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "preferredDuringSchedulingIgnoredDuringExecution": { - "anyOf": [ - { - "items": { - "properties": { - "weight": { - "type": "integer" - }, - "preference": { - "properties": { - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "matchFields": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "podAffinity": { - "anyOf": [ - { - "properties": { - "requiredDuringSchedulingIgnoredDuringExecution": { - "anyOf": [ - { - "items": { - "properties": { - "labelSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "namespaces": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "topologyKey": { - "type": "string" - }, - "namespaceSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mismatchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "preferredDuringSchedulingIgnoredDuringExecution": { - "anyOf": [ - { - "items": { - "properties": { - "weight": { - "type": "integer" - }, - "podAffinityTerm": { - "properties": { - "labelSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "namespaces": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "topologyKey": { - "type": "string" - }, - "namespaceSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mismatchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "podAntiAffinity": { - "anyOf": [ - { - "properties": { - "requiredDuringSchedulingIgnoredDuringExecution": { - "anyOf": [ - { - "items": { - "properties": { - "labelSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "namespaces": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "topologyKey": { - "type": "string" - }, - "namespaceSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mismatchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "preferredDuringSchedulingIgnoredDuringExecution": { - "anyOf": [ - { - "items": { - "properties": { - "weight": { - "type": "integer" - }, - "podAffinityTerm": { - "properties": { - "labelSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "namespaces": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "topologyKey": { - "type": "string" - }, - "namespaceSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mismatchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "schedulerName": { - "type": "string" - }, - "tolerations": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "value": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "tolerationSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "hostAliases": { - "anyOf": [ - { - "items": { - "properties": { - "ip": { - "type": "string" - }, - "hostnames": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "priorityClassName": { - "type": "string" - }, - "priority": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "dnsConfig": { - "anyOf": [ - { - "properties": { - "nameservers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "searches": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "options": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "readinessGates": { - "anyOf": [ - { - "items": { - "properties": { - "conditionType": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "runtimeClassName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "enableServiceLinks": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "preemptionPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "overhead": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "topologySpreadConstraints": { - "anyOf": [ - { - "items": { - "properties": { - "maxSkew": { - "type": "integer" - }, - "topologyKey": { - "type": "string" - }, - "whenUnsatisfiable": { - "type": "string" - }, - "labelSelector": { - "anyOf": [ - { - "properties": { - "matchLabels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "matchExpressions": { - "anyOf": [ - { - "items": { - "properties": { - "key": { - "type": "string" - }, - "operator": { - "type": "string" - }, - "values": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "minDomains": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "nodeAffinityPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "nodeTaintsPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matchLabelKeys": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "setHostnameAsFQDN": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "os": { - "anyOf": [ - { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "hostUsers": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "schedulingGates": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "resourceClaims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "resourceClaimName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "resourceClaimTemplateName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "resources": { - "anyOf": [ - { - "properties": { - "limits": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "requests": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "claims": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "request": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - "strategy": { - "properties": { - "type": { - "type": "string" - }, - "rollingUpdate": { - "anyOf": [ - { - "properties": { - "maxUnavailable": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "maxSurge": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "minReadySeconds": { - "type": "integer" - }, - "revisionHistoryLimit": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "paused": { - "type": "boolean" - }, - "progressDeadlineSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "status": { - "properties": { - "observedGeneration": { - "type": "integer" - }, - "replicas": { - "type": "integer" - }, - "updatedReplicas": { - "type": "integer" - }, - "readyReplicas": { - "type": "integer" - }, - "availableReplicas": { - "type": "integer" - }, - "unavailableReplicas": { - "type": "integer" - }, - "conditions": { - "anyOf": [ - { - "items": { - "properties": { - "type": { - "type": "string" - }, - "status": { - "type": "string" - }, - "lastUpdateTime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "lastTransitionTime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "reason": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "collisionCount": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "serviceOverrides": { - "anyOf": [ - { - "properties": { - "kind": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "metadata": { - "properties": { - "name": { - "type": "string" - }, - "generateName": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "selfLink": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "resourceVersion": { - "type": "string" - }, - "generation": { - "type": "integer" - }, - "creationTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionTimestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "deletionGracePeriodSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "labels": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "annotations": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "ownerReferences": { - "anyOf": [ - { - "items": { - "properties": { - "apiVersion": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "controller": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "blockOwnerDeletion": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "finalizers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "managedFields": { - "anyOf": [ - { - "items": { - "properties": { - "manager": { - "type": "string" - }, - "operation": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "fieldsType": { - "type": "string" - }, - "fieldsV1": { - "anyOf": [ - { - "properties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "subresource": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "spec": { - "properties": { - "ports": { - "anyOf": [ - { - "items": { - "properties": { - "name": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "appProtocol": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "port": { - "type": "integer" - }, - "targetPort": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "nodePort": { - "type": "integer" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "selector": { - "anyOf": [ - { - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "clusterIP": { - "type": "string" - }, - "clusterIPs": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "type": { - "type": "string" - }, - "externalIPs": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "sessionAffinity": { - "type": "string" - }, - "loadBalancerIP": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "externalName": { - "type": "string" - }, - "externalTrafficPolicy": { - "type": "string" - }, - "healthCheckNodePort": { - "type": "integer" - }, - "publishNotReadyAddresses": { - "type": "boolean" - }, - "sessionAffinityConfig": { - "anyOf": [ - { - "properties": { - "clientIP": { - "anyOf": [ - { - "properties": { - "timeoutSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "ipFamilies": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "ipFamilyPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "allocateLoadBalancerNodePorts": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "loadBalancerClass": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "internalTrafficPolicy": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "trafficDistribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "status": { - "properties": { - "loadBalancer": { - "properties": { - "ingress": { - "anyOf": [ - { - "items": { - "properties": { - "ip": { - "type": "string" - }, - "hostname": { - "type": "string" - }, - "ipMode": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "ports": { - "anyOf": [ - { - "items": { - "properties": { - "port": { - "type": "integer" - }, - "protocol": { - "type": "string" - }, - "error": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "conditions": { - "anyOf": [ - { - "items": { - "properties": { - "type": { - "type": "string" - }, - "status": { - "type": "string" - }, - "observedGeneration": { - "type": "integer" - }, - "lastTransitionTime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "reason": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "customField2_renamed": { - "type": "number" - } - }, - "type": "object" - } - } -} \ No newline at end of file +{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"customField1":{"type":"string"},"painter":{"properties":{"image":{"properties":{"tag":{"type":"string"},"repository":{"type":"string"},"registry":{"type":"string"},"pullPolicy":{"type":"string"},"pullSecret":{"type":"string"}},"type":"object"},"env":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"},"valueFrom":{"anyOf":[{"properties":{"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"configMapKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"extraEnvs":{"properties":{},"type":"object"},"resources":{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"claims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"request":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"securityContext":{"anyOf":[{"properties":{"capabilities":{"properties":{"add":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"drop":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"privileged":{"type":"boolean"},"seLinuxOptions":{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},"windowsOptions":{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"runAsUser":{"type":"integer"},"runAsGroup":{"type":"integer"},"runAsNonRoot":{"type":"boolean"},"readOnlyRootFilesystem":{"type":"boolean"},"allowPrivilegeEscalation":{"type":"boolean"},"procMount":{"type":"string"},"seccompProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"appArmorProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"boolean","const":false}]},"sidecars":{"anyOf":[{"patternProperties":{".*":{"properties":{"image":{"properties":{"tag":{"type":"string"},"repository":{"type":"string"},"registry":{"type":"string"},"pullPolicy":{"type":"string"},"pullSecret":{"type":"string"}},"type":"object"},"env":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"},"valueFrom":{"anyOf":[{"properties":{"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"configMapKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"extraEnvs":{"properties":{},"type":"object"},"resources":{"anyOf":[{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"claims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"request":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"securityContext":{"anyOf":[{"properties":{"capabilities":{"properties":{"add":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"drop":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"privileged":{"type":"boolean"},"seLinuxOptions":{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},"windowsOptions":{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"runAsUser":{"type":"integer"},"runAsGroup":{"type":"integer"},"runAsNonRoot":{"type":"boolean"},"readOnlyRootFilesystem":{"type":"boolean"},"allowPrivilegeEscalation":{"type":"boolean"},"procMount":{"type":"string"},"seccompProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"appArmorProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"boolean","const":false}]}},"type":"object"}},"type":"object"},{"type":"null"}]},"floatingUserId":{"type":"boolean"},"runAsUser":{"type":"integer"},"serviceType":{"type":"string"},"ports":{"anyOf":[{"patternProperties":{".*":{"type":"integer"}},"type":"object"},{"type":"null"}]},"podSecurityContext":{"anyOf":[{"properties":{"seLinuxOptions":{"anyOf":[{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},{"type":"null"}]},"windowsOptions":{"anyOf":[{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"runAsUser":{"anyOf":[{"type":"integer"},{"type":"null"}]},"runAsGroup":{"anyOf":[{"type":"integer"},{"type":"null"}]},"runAsNonRoot":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"supplementalGroups":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}]},"supplementalGroupsPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"fsGroup":{"anyOf":[{"type":"integer"},{"type":"null"}]},"sysctls":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"fsGroupChangePolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"seccompProfile":{"anyOf":[{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"appArmorProfile":{"anyOf":[{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"seLinuxChangePolicy":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"deploymentOverrides":{"anyOf":[{"properties":{"kind":{"type":"string"},"apiVersion":{"type":"string"},"metadata":{"properties":{"name":{"type":"string"},"generateName":{"type":"string"},"namespace":{"type":"string"},"selfLink":{"type":"string"},"uid":{"type":"string"},"resourceVersion":{"type":"string"},"generation":{"type":"integer"},"creationTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"labels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"annotations":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"ownerReferences":{"anyOf":[{"items":{"properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"},"controller":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"blockOwnerDeletion":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"finalizers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"managedFields":{"anyOf":[{"items":{"properties":{"manager":{"type":"string"},"operation":{"type":"string"},"apiVersion":{"type":"string"},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"fieldsType":{"type":"string"},"fieldsV1":{"anyOf":[{"properties":{},"type":"object"},{"type":"null"}]},"subresource":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"spec":{"properties":{"replicas":{"anyOf":[{"type":"integer"},{"type":"null"}]},"selector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"template":{"properties":{"metadata":{"properties":{"name":{"type":"string"},"generateName":{"type":"string"},"namespace":{"type":"string"},"selfLink":{"type":"string"},"uid":{"type":"string"},"resourceVersion":{"type":"string"},"generation":{"type":"integer"},"creationTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"labels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"annotations":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"ownerReferences":{"anyOf":[{"items":{"properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"},"controller":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"blockOwnerDeletion":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"finalizers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"managedFields":{"anyOf":[{"items":{"properties":{"manager":{"type":"string"},"operation":{"type":"string"},"apiVersion":{"type":"string"},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"fieldsType":{"type":"string"},"fieldsV1":{"anyOf":[{"properties":{},"type":"object"},{"type":"null"}]},"subresource":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"spec":{"properties":{"volumes":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"hostPath":{"properties":{"path":{"type":"string"},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"emptyDir":{"properties":{"medium":{"type":"string"},"sizeLimit":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},"gcePersistentDisk":{"properties":{"pdName":{"type":"string"},"fsType":{"type":"string"},"partition":{"type":"integer"},"readOnly":{"type":"boolean"}},"type":"object"},"awsElasticBlockStore":{"properties":{"volumeID":{"type":"string"},"fsType":{"type":"string"},"partition":{"type":"integer"},"readOnly":{"type":"boolean"}},"type":"object"},"gitRepo":{"properties":{"repository":{"type":"string"},"revision":{"type":"string"},"directory":{"type":"string"}},"type":"object"},"secret":{"properties":{"secretName":{"type":"string"},"items":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"path":{"type":"string"},"mode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"defaultMode":{"anyOf":[{"type":"integer"},{"type":"null"}]},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"nfs":{"properties":{"server":{"type":"string"},"path":{"type":"string"},"readOnly":{"type":"boolean"}},"type":"object"},"iscsi":{"properties":{"targetPortal":{"type":"string"},"iqn":{"type":"string"},"lun":{"type":"integer"},"iscsiInterface":{"type":"string"},"fsType":{"type":"string"},"readOnly":{"type":"boolean"},"portals":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"chapAuthDiscovery":{"type":"boolean"},"chapAuthSession":{"type":"boolean"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"initiatorName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"glusterfs":{"properties":{"endpoints":{"type":"string"},"path":{"type":"string"},"readOnly":{"type":"boolean"}},"type":"object"},"persistentVolumeClaim":{"properties":{"claimName":{"type":"string"},"readOnly":{"type":"boolean"}},"type":"object"},"rbd":{"properties":{"monitors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"image":{"type":"string"},"fsType":{"type":"string"},"pool":{"type":"string"},"user":{"type":"string"},"keyring":{"type":"string"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"readOnly":{"type":"boolean"}},"type":"object"},"flexVolume":{"properties":{"driver":{"type":"string"},"fsType":{"type":"string"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"readOnly":{"type":"boolean"},"options":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]}},"type":"object"},"cinder":{"properties":{"volumeID":{"type":"string"},"fsType":{"type":"string"},"readOnly":{"type":"boolean"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]}},"type":"object"},"cephfs":{"properties":{"monitors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"path":{"type":"string"},"user":{"type":"string"},"secretFile":{"type":"string"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"readOnly":{"type":"boolean"}},"type":"object"},"flocker":{"properties":{"datasetName":{"type":"string"},"datasetUUID":{"type":"string"}},"type":"object"},"downwardAPI":{"properties":{"items":{"anyOf":[{"items":{"properties":{"path":{"type":"string"},"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"mode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"defaultMode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"fc":{"properties":{"targetWWNs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"lun":{"anyOf":[{"type":"integer"},{"type":"null"}]},"fsType":{"type":"string"},"readOnly":{"type":"boolean"},"wwids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"azureFile":{"properties":{"secretName":{"type":"string"},"shareName":{"type":"string"},"readOnly":{"type":"boolean"}},"type":"object"},"configMap":{"properties":{"name":{"type":"string"},"items":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"path":{"type":"string"},"mode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"defaultMode":{"anyOf":[{"type":"integer"},{"type":"null"}]},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"vsphereVolume":{"properties":{"volumePath":{"type":"string"},"fsType":{"type":"string"},"storagePolicyName":{"type":"string"},"storagePolicyID":{"type":"string"}},"type":"object"},"quobyte":{"properties":{"registry":{"type":"string"},"volume":{"type":"string"},"readOnly":{"type":"boolean"},"user":{"type":"string"},"group":{"type":"string"},"tenant":{"type":"string"}},"type":"object"},"azureDisk":{"properties":{"diskName":{"type":"string"},"diskURI":{"type":"string"},"cachingMode":{"anyOf":[{"type":"string"},{"type":"null"}]},"fsType":{"anyOf":[{"type":"string"},{"type":"null"}]},"readOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"photonPersistentDisk":{"properties":{"pdID":{"type":"string"},"fsType":{"type":"string"}},"type":"object"},"projected":{"properties":{"sources":{"anyOf":[{"items":{"properties":{"secret":{"anyOf":[{"properties":{"name":{"type":"string"},"items":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"path":{"type":"string"},"mode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"downwardAPI":{"anyOf":[{"properties":{"items":{"anyOf":[{"items":{"properties":{"path":{"type":"string"},"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"mode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"configMap":{"anyOf":[{"properties":{"name":{"type":"string"},"items":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"path":{"type":"string"},"mode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"serviceAccountToken":{"anyOf":[{"properties":{"audience":{"type":"string"},"expirationSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"path":{"type":"string"}},"type":"object"},{"type":"null"}]},"clusterTrustBundle":{"anyOf":[{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"signerName":{"anyOf":[{"type":"string"},{"type":"null"}]},"labelSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"path":{"type":"string"}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"defaultMode":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"portworxVolume":{"properties":{"volumeID":{"type":"string"},"fsType":{"type":"string"},"readOnly":{"type":"boolean"}},"type":"object"},"scaleIO":{"properties":{"gateway":{"type":"string"},"system":{"type":"string"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"sslEnabled":{"type":"boolean"},"protectionDomain":{"type":"string"},"storagePool":{"type":"string"},"storageMode":{"type":"string"},"volumeName":{"type":"string"},"fsType":{"type":"string"},"readOnly":{"type":"boolean"}},"type":"object"},"storageos":{"properties":{"volumeName":{"type":"string"},"volumeNamespace":{"type":"string"},"fsType":{"type":"string"},"readOnly":{"type":"boolean"},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]}},"type":"object"},"csi":{"properties":{"driver":{"type":"string"},"readOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fsType":{"anyOf":[{"type":"string"},{"type":"null"}]},"volumeAttributes":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"nodePublishSecretRef":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]}},"type":"object"},"ephemeral":{"properties":{"volumeClaimTemplate":{"anyOf":[{"properties":{"metadata":{"properties":{"name":{"type":"string"},"generateName":{"type":"string"},"namespace":{"type":"string"},"selfLink":{"type":"string"},"uid":{"type":"string"},"resourceVersion":{"type":"string"},"generation":{"type":"integer"},"creationTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"labels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"annotations":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"ownerReferences":{"anyOf":[{"items":{"properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"},"controller":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"blockOwnerDeletion":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"finalizers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"managedFields":{"anyOf":[{"items":{"properties":{"manager":{"type":"string"},"operation":{"type":"string"},"apiVersion":{"type":"string"},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"fieldsType":{"type":"string"},"fieldsV1":{"anyOf":[{"properties":{},"type":"object"},{"type":"null"}]},"subresource":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"spec":{"properties":{"accessModes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"selector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"resources":{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"volumeName":{"type":"string"},"storageClassName":{"anyOf":[{"type":"string"},{"type":"null"}]},"volumeMode":{"anyOf":[{"type":"string"},{"type":"null"}]},"dataSource":{"anyOf":[{"properties":{"apiGroup":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"type":"string"},"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"dataSourceRef":{"anyOf":[{"properties":{"apiGroup":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"type":"string"},"name":{"type":"string"},"namespace":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"volumeAttributesClassName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"null"}]}},"type":"object"},"image":{"properties":{"reference":{"type":"string"},"pullPolicy":{"type":"string"}},"type":"object"}},"type":"object"},"type":"array"},{"type":"null"}]},"initContainers":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"image":{"type":"string"},"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"args":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"workingDir":{"type":"string"},"ports":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"hostPort":{"type":"integer"},"containerPort":{"type":"integer"},"protocol":{"type":"string"},"hostIP":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"envFrom":{"anyOf":[{"items":{"properties":{"prefix":{"type":"string"},"configMapRef":{"anyOf":[{"properties":{"name":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"env":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"},"valueFrom":{"anyOf":[{"properties":{"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"configMapKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"resources":{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"claims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"request":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"resizePolicy":{"anyOf":[{"items":{"properties":{"resourceName":{"type":"string"},"restartPolicy":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"restartPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"volumeMounts":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"readOnly":{"type":"boolean"},"recursiveReadOnly":{"anyOf":[{"type":"string"},{"type":"null"}]},"mountPath":{"type":"string"},"subPath":{"type":"string"},"mountPropagation":{"anyOf":[{"type":"string"},{"type":"null"}]},"subPathExpr":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"volumeDevices":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"devicePath":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"livenessProbe":{"anyOf":[{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"readinessProbe":{"anyOf":[{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"startupProbe":{"anyOf":[{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"lifecycle":{"anyOf":[{"properties":{"postStart":{"anyOf":[{"properties":{"exec":{"anyOf":[{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"httpGet":{"anyOf":[{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"tcpSocket":{"anyOf":[{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},{"type":"null"}]},"sleep":{"anyOf":[{"properties":{"seconds":{"type":"integer"}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"preStop":{"anyOf":[{"properties":{"exec":{"anyOf":[{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"httpGet":{"anyOf":[{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"tcpSocket":{"anyOf":[{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},{"type":"null"}]},"sleep":{"anyOf":[{"properties":{"seconds":{"type":"integer"}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"terminationMessagePath":{"type":"string"},"terminationMessagePolicy":{"type":"string"},"imagePullPolicy":{"type":"string"},"securityContext":{"anyOf":[{"properties":{"capabilities":{"properties":{"add":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"drop":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"privileged":{"type":"boolean"},"seLinuxOptions":{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},"windowsOptions":{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"runAsUser":{"type":"integer"},"runAsGroup":{"type":"integer"},"runAsNonRoot":{"type":"boolean"},"readOnlyRootFilesystem":{"type":"boolean"},"allowPrivilegeEscalation":{"type":"boolean"},"procMount":{"type":"string"},"seccompProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"appArmorProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"boolean","const":false}]},"stdin":{"type":"boolean"},"stdinOnce":{"type":"boolean"},"tty":{"type":"boolean"}},"type":"object"},"type":"array"},{"type":"null"}]},"containers":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"image":{"type":"string"},"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"args":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"workingDir":{"type":"string"},"ports":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"hostPort":{"type":"integer"},"containerPort":{"type":"integer"},"protocol":{"type":"string"},"hostIP":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"envFrom":{"anyOf":[{"items":{"properties":{"prefix":{"type":"string"},"configMapRef":{"anyOf":[{"properties":{"name":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"env":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"},"valueFrom":{"anyOf":[{"properties":{"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"configMapKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"resources":{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"claims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"request":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"resizePolicy":{"anyOf":[{"items":{"properties":{"resourceName":{"type":"string"},"restartPolicy":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"restartPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"volumeMounts":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"readOnly":{"type":"boolean"},"recursiveReadOnly":{"anyOf":[{"type":"string"},{"type":"null"}]},"mountPath":{"type":"string"},"subPath":{"type":"string"},"mountPropagation":{"anyOf":[{"type":"string"},{"type":"null"}]},"subPathExpr":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"volumeDevices":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"devicePath":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"livenessProbe":{"anyOf":[{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"readinessProbe":{"anyOf":[{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"startupProbe":{"anyOf":[{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"lifecycle":{"anyOf":[{"properties":{"postStart":{"anyOf":[{"properties":{"exec":{"anyOf":[{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"httpGet":{"anyOf":[{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"tcpSocket":{"anyOf":[{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},{"type":"null"}]},"sleep":{"anyOf":[{"properties":{"seconds":{"type":"integer"}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"preStop":{"anyOf":[{"properties":{"exec":{"anyOf":[{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"httpGet":{"anyOf":[{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"tcpSocket":{"anyOf":[{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},{"type":"null"}]},"sleep":{"anyOf":[{"properties":{"seconds":{"type":"integer"}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"terminationMessagePath":{"type":"string"},"terminationMessagePolicy":{"type":"string"},"imagePullPolicy":{"type":"string"},"securityContext":{"anyOf":[{"properties":{"capabilities":{"properties":{"add":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"drop":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"privileged":{"type":"boolean"},"seLinuxOptions":{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},"windowsOptions":{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"runAsUser":{"type":"integer"},"runAsGroup":{"type":"integer"},"runAsNonRoot":{"type":"boolean"},"readOnlyRootFilesystem":{"type":"boolean"},"allowPrivilegeEscalation":{"type":"boolean"},"procMount":{"type":"string"},"seccompProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"appArmorProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"boolean","const":false}]},"stdin":{"type":"boolean"},"stdinOnce":{"type":"boolean"},"tty":{"type":"boolean"}},"type":"object"},"type":"array"},{"type":"null"}]},"ephemeralContainers":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"image":{"type":"string"},"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"args":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"workingDir":{"type":"string"},"ports":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"hostPort":{"type":"integer"},"containerPort":{"type":"integer"},"protocol":{"type":"string"},"hostIP":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"envFrom":{"anyOf":[{"items":{"properties":{"prefix":{"type":"string"},"configMapRef":{"anyOf":[{"properties":{"name":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretRef":{"anyOf":[{"properties":{"name":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"env":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"},"valueFrom":{"anyOf":[{"properties":{"fieldRef":{"anyOf":[{"properties":{"apiVersion":{"type":"string"},"fieldPath":{"type":"string"}},"type":"object"},{"type":"null"}]},"resourceFieldRef":{"anyOf":[{"properties":{"containerName":{"type":"string"},"resource":{"type":"string"},"divisor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"configMapKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"secretKeyRef":{"anyOf":[{"properties":{"name":{"type":"string"},"key":{"type":"string"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"resources":{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"claims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"request":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"resizePolicy":{"anyOf":[{"items":{"properties":{"resourceName":{"type":"string"},"restartPolicy":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"restartPolicy":{"type":"string"},"volumeMounts":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"readOnly":{"type":"boolean"},"recursiveReadOnly":{"anyOf":[{"type":"string"},{"type":"null"}]},"mountPath":{"type":"string"},"subPath":{"type":"string"},"mountPropagation":{"anyOf":[{"type":"string"},{"type":"null"}]},"subPathExpr":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"volumeDevices":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"devicePath":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"livenessProbe":{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"readinessProbe":{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"startupProbe":{"properties":{"exec":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"httpGet":{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"tcpSocket":{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},"grpc":{"properties":{"port":{"type":"integer"},"service":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"initialDelaySeconds":{"type":"integer"},"timeoutSeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"failureThreshold":{"type":"integer"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"lifecycle":{"properties":{"postStart":{"anyOf":[{"properties":{"exec":{"anyOf":[{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"httpGet":{"anyOf":[{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"tcpSocket":{"anyOf":[{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},{"type":"null"}]},"sleep":{"anyOf":[{"properties":{"seconds":{"type":"integer"}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"preStop":{"anyOf":[{"properties":{"exec":{"anyOf":[{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"httpGet":{"anyOf":[{"properties":{"path":{"type":"string"},"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"},"scheme":{"type":"string"},"httpHeaders":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"tcpSocket":{"anyOf":[{"properties":{"port":{"anyOf":[{"type":"string"},{"type":"number"}]},"host":{"type":"string"}},"type":"object"},{"type":"null"}]},"sleep":{"anyOf":[{"properties":{"seconds":{"type":"integer"}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"terminationMessagePath":{"type":"string"},"terminationMessagePolicy":{"type":"string"},"imagePullPolicy":{"type":"string"},"securityContext":{"anyOf":[{"properties":{"capabilities":{"properties":{"add":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"drop":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"privileged":{"type":"boolean"},"seLinuxOptions":{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},"windowsOptions":{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"runAsUser":{"type":"integer"},"runAsGroup":{"type":"integer"},"runAsNonRoot":{"type":"boolean"},"readOnlyRootFilesystem":{"type":"boolean"},"allowPrivilegeEscalation":{"type":"boolean"},"procMount":{"type":"string"},"seccompProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"appArmorProfile":{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"boolean","const":false}]},"stdin":{"type":"boolean"},"stdinOnce":{"type":"boolean"},"tty":{"type":"boolean"},"targetContainerName":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"restartPolicy":{"type":"string"},"terminationGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"activeDeadlineSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dnsPolicy":{"type":"string"},"nodeSelector":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"serviceAccountName":{"type":"string"},"serviceAccount":{"type":"string"},"automountServiceAccountToken":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"nodeName":{"type":"string"},"hostNetwork":{"type":"boolean"},"hostPID":{"type":"boolean"},"hostIPC":{"type":"boolean"},"shareProcessNamespace":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"securityContext":{"anyOf":[{"properties":{"seLinuxOptions":{"anyOf":[{"properties":{"user":{"type":"string"},"role":{"type":"string"},"type":{"type":"string"},"level":{"type":"string"}},"type":"object"},{"type":"null"}]},"windowsOptions":{"anyOf":[{"properties":{"gmsaCredentialSpecName":{"anyOf":[{"type":"string"},{"type":"null"}]},"gmsaCredentialSpec":{"anyOf":[{"type":"string"},{"type":"null"}]},"runAsUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hostProcess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"runAsUser":{"anyOf":[{"type":"integer"},{"type":"null"}]},"runAsGroup":{"anyOf":[{"type":"integer"},{"type":"null"}]},"runAsNonRoot":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"supplementalGroups":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}]},"supplementalGroupsPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"fsGroup":{"anyOf":[{"type":"integer"},{"type":"null"}]},"sysctls":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"fsGroupChangePolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"seccompProfile":{"anyOf":[{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"appArmorProfile":{"anyOf":[{"properties":{"type":{"type":"string"},"localhostProfile":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"seLinuxChangePolicy":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"imagePullSecrets":{"anyOf":[{"items":{"properties":{"name":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"hostname":{"type":"string"},"subdomain":{"type":"string"},"affinity":{"anyOf":[{"properties":{"nodeAffinity":{"anyOf":[{"properties":{"requiredDuringSchedulingIgnoredDuringExecution":{"anyOf":[{"properties":{"nodeSelectorTerms":{"anyOf":[{"items":{"properties":{"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"matchFields":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"preferredDuringSchedulingIgnoredDuringExecution":{"anyOf":[{"items":{"properties":{"weight":{"type":"integer"},"preference":{"properties":{"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"matchFields":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"podAffinity":{"anyOf":[{"properties":{"requiredDuringSchedulingIgnoredDuringExecution":{"anyOf":[{"items":{"properties":{"labelSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"topologyKey":{"type":"string"},"namespaceSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"matchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"mismatchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"preferredDuringSchedulingIgnoredDuringExecution":{"anyOf":[{"items":{"properties":{"weight":{"type":"integer"},"podAffinityTerm":{"properties":{"labelSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"topologyKey":{"type":"string"},"namespaceSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"matchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"mismatchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"podAntiAffinity":{"anyOf":[{"properties":{"requiredDuringSchedulingIgnoredDuringExecution":{"anyOf":[{"items":{"properties":{"labelSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"topologyKey":{"type":"string"},"namespaceSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"matchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"mismatchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"preferredDuringSchedulingIgnoredDuringExecution":{"anyOf":[{"items":{"properties":{"weight":{"type":"integer"},"podAffinityTerm":{"properties":{"labelSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"topologyKey":{"type":"string"},"namespaceSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"matchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"mismatchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"schedulerName":{"type":"string"},"tolerations":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"value":{"type":"string"},"effect":{"type":"string"},"tolerationSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"hostAliases":{"anyOf":[{"items":{"properties":{"ip":{"type":"string"},"hostnames":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"priorityClassName":{"type":"string"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dnsConfig":{"anyOf":[{"properties":{"nameservers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"searches":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"options":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"readinessGates":{"anyOf":[{"items":{"properties":{"conditionType":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"runtimeClassName":{"anyOf":[{"type":"string"},{"type":"null"}]},"enableServiceLinks":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"preemptionPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"overhead":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"topologySpreadConstraints":{"anyOf":[{"items":{"properties":{"maxSkew":{"type":"integer"},"topologyKey":{"type":"string"},"whenUnsatisfiable":{"type":"string"},"labelSelector":{"anyOf":[{"properties":{"matchLabels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"matchExpressions":{"anyOf":[{"items":{"properties":{"key":{"type":"string"},"operator":{"type":"string"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"minDomains":{"anyOf":[{"type":"integer"},{"type":"null"}]},"nodeAffinityPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"nodeTaintsPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"matchLabelKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"setHostnameAsFQDN":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"os":{"anyOf":[{"properties":{"name":{"type":"string"}},"type":"object"},{"type":"null"}]},"hostUsers":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"schedulingGates":{"anyOf":[{"items":{"properties":{"name":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"resourceClaims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"resourceClaimName":{"anyOf":[{"type":"string"},{"type":"null"}]},"resourceClaimTemplateName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"resources":{"anyOf":[{"properties":{"limits":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"requests":{"anyOf":[{"patternProperties":{".*":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]},"claims":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"request":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"}},"type":"object"},"strategy":{"properties":{"type":{"type":"string"},"rollingUpdate":{"anyOf":[{"properties":{"maxUnavailable":{"anyOf":[{"type":"string"},{"type":"number"}]},"maxSurge":{"anyOf":[{"type":"string"},{"type":"number"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},"minReadySeconds":{"type":"integer"},"revisionHistoryLimit":{"anyOf":[{"type":"integer"},{"type":"null"}]},"paused":{"type":"boolean"},"progressDeadlineSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"status":{"properties":{"observedGeneration":{"type":"integer"},"replicas":{"type":"integer"},"updatedReplicas":{"type":"integer"},"readyReplicas":{"type":"integer"},"availableReplicas":{"type":"integer"},"unavailableReplicas":{"type":"integer"},"conditions":{"anyOf":[{"items":{"properties":{"type":{"type":"string"},"status":{"type":"string"},"lastUpdateTime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"lastTransitionTime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"reason":{"type":"string"},"message":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]},"collisionCount":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"null"}]},"serviceOverrides":{"anyOf":[{"properties":{"kind":{"type":"string"},"apiVersion":{"type":"string"},"metadata":{"properties":{"name":{"type":"string"},"generateName":{"type":"string"},"namespace":{"type":"string"},"selfLink":{"type":"string"},"uid":{"type":"string"},"resourceVersion":{"type":"string"},"generation":{"type":"integer"},"creationTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"deletionGracePeriodSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"labels":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"annotations":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"ownerReferences":{"anyOf":[{"items":{"properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"},"controller":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"blockOwnerDeletion":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]},"finalizers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"managedFields":{"anyOf":[{"items":{"properties":{"manager":{"type":"string"},"operation":{"type":"string"},"apiVersion":{"type":"string"},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"fieldsType":{"type":"string"},"fieldsV1":{"anyOf":[{"properties":{},"type":"object"},{"type":"null"}]},"subresource":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"spec":{"properties":{"ports":{"anyOf":[{"items":{"properties":{"name":{"type":"string"},"protocol":{"type":"string"},"appProtocol":{"anyOf":[{"type":"string"},{"type":"null"}]},"port":{"type":"integer"},"targetPort":{"anyOf":[{"type":"string"},{"type":"number"}]},"nodePort":{"type":"integer"}},"type":"object"},"type":"array"},{"type":"null"}]},"selector":{"anyOf":[{"patternProperties":{".*":{"type":"string"}},"type":"object"},{"type":"null"}]},"clusterIP":{"type":"string"},"clusterIPs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"type":{"type":"string"},"externalIPs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"sessionAffinity":{"type":"string"},"loadBalancerIP":{"type":"string"},"loadBalancerSourceRanges":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"externalName":{"type":"string"},"externalTrafficPolicy":{"type":"string"},"healthCheckNodePort":{"type":"integer"},"publishNotReadyAddresses":{"type":"boolean"},"sessionAffinityConfig":{"anyOf":[{"properties":{"clientIP":{"anyOf":[{"properties":{"timeoutSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"ipFamilies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"ipFamilyPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"allocateLoadBalancerNodePorts":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"loadBalancerClass":{"anyOf":[{"type":"string"},{"type":"null"}]},"internalTrafficPolicy":{"anyOf":[{"type":"string"},{"type":"null"}]},"trafficDistribution":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"status":{"properties":{"loadBalancer":{"properties":{"ingress":{"anyOf":[{"items":{"properties":{"ip":{"type":"string"},"hostname":{"type":"string"},"ipMode":{"anyOf":[{"type":"string"},{"type":"null"}]},"ports":{"anyOf":[{"items":{"properties":{"port":{"type":"integer"},"protocol":{"type":"string"},"error":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"},"conditions":{"anyOf":[{"items":{"properties":{"type":{"type":"string"},"status":{"type":"string"},"observedGeneration":{"type":"integer"},"lastTransitionTime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"reason":{"type":"string"},"message":{"type":"string"}},"type":"object"},"type":"array"},{"type":"null"}]}},"type":"object"}},"type":"object"},{"type":"null"}]},"customField2_renamed":{"type":"number"}},"type":"object"}}} \ No newline at end of file From 7f4a61325eb3444172a8fc13fb1a4a4cc5ff2584 Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Wed, 16 Apr 2025 14:52:59 -0400 Subject: [PATCH 6/9] Update unit tests assertions --- codegen/render/funcs_test.go | 78 +++++++++++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/codegen/render/funcs_test.go b/codegen/render/funcs_test.go index 010504f83..d51b02081 100644 --- a/codegen/render/funcs_test.go +++ b/codegen/render/funcs_test.go @@ -4,9 +4,11 @@ import ( "encoding/json" "fmt" "reflect" + "sort" "strings" structpb "github.com/golang/protobuf/ptypes/struct" + "github.com/iancoleman/orderedmap" "github.com/lithammer/dedent" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -26,6 +28,49 @@ func prepareExpected(expected string) string { return expected } +// minifyJSON is a helper function for tests to remove whitespace from JSON strings +func minifyJSON(jsonStr string) (string, error) { + + // Unmarshal into OrderedMap to preserve the order of all elements in the input JSON string + var v orderedmap.OrderedMap + if err := json.Unmarshal([]byte(jsonStr), &v); err != nil { + return "", err + } + + data, err := json.Marshal(v) + if err != nil { + return "", err + } + return string(data), nil +} + +// convertToOrderedMap recursively converts maps to ordered maps +func convertToOrderedMap(v interface{}) interface{} { + switch val := v.(type) { + case map[string]interface{}: + ordered := orderedmap.New() + // Get all keys and sort them + keys := make([]string, 0, len(val)) + for k := range val { + keys = append(keys, k) + } + sort.Strings(keys) + // Add keys in sorted order + for _, k := range keys { + ordered.Set(k, convertToOrderedMap(val[k])) + } + return ordered + case []interface{}: + result := make([]interface{}, len(val)) + for i, v := range val { + result[i] = convertToOrderedMap(v) + } + return result + default: + return v + } +} + var _ = Describe("toYAMLWithComments", func() { It("decodes yaml with the comments", func() { @@ -454,7 +499,7 @@ var _ = Describe("toJSONSchema", func() { Field1a string `json:"field1a" jsonschema:"title=field a,description=the field called a,example=aaa,example=bbb,default=a"` } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type1{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -470,6 +515,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -482,7 +528,7 @@ var _ = Describe("toJSONSchema", func() { } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type1{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -516,6 +562,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -528,7 +575,7 @@ var _ = Describe("toJSONSchema", func() { } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type2{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -556,6 +603,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(expected).To(Equal(result)) }) @@ -564,7 +612,7 @@ var _ = Describe("toJSONSchema", func() { Field1 *structpb.Value } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type1{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -592,6 +640,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -600,7 +649,7 @@ var _ = Describe("toJSONSchema", func() { Field1 metav1.Time `json:"metatime"` } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type1{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -617,6 +666,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -625,7 +675,7 @@ var _ = Describe("toJSONSchema", func() { Field1 resource.Quantity } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type1{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -641,6 +691,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -649,7 +700,7 @@ var _ = Describe("toJSONSchema", func() { Field1 intstr.IntOrString } result := render.ToJSONSchema(values.UserHelmValues{CustomValues: &Type1{}}) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -665,6 +716,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -700,7 +752,7 @@ var _ = Describe("toJSONSchema", func() { result := render.ToJSONSchema(values.UserHelmValues{ CustomValues: &Type1{}, }) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -712,6 +764,7 @@ var _ = Describe("toJSONSchema", func() { "Field1" ] }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -747,7 +800,7 @@ var _ = Describe("toJSONSchema", func() { CustomTypeMapper: typeMapper, }, }) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -756,6 +809,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -787,7 +841,7 @@ var _ = Describe("toJSONSchema", func() { CustomTypeMapper: typeMapper, }, }) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -804,6 +858,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) @@ -833,7 +888,7 @@ var _ = Describe("toJSONSchema", func() { }, }, }) - expected := prepareExpected(` + expected, err := minifyJSON(` { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { @@ -842,6 +897,7 @@ var _ = Describe("toJSONSchema", func() { } } }`) + Expect(err).NotTo(HaveOccurred()) Expect(result).To(Equal(expected)) }) }) From 14dfc5a202ab9d634e437f947c84643ea70fed5d Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Thu, 17 Apr 2025 15:53:31 -0400 Subject: [PATCH 7/9] Tests: use `json.Compact` to minify --- codegen/render/funcs_test.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/codegen/render/funcs_test.go b/codegen/render/funcs_test.go index d51b02081..055446ac4 100644 --- a/codegen/render/funcs_test.go +++ b/codegen/render/funcs_test.go @@ -1,6 +1,7 @@ package render_test import ( + "bytes" "encoding/json" "fmt" "reflect" @@ -30,18 +31,13 @@ func prepareExpected(expected string) string { // minifyJSON is a helper function for tests to remove whitespace from JSON strings func minifyJSON(jsonStr string) (string, error) { - - // Unmarshal into OrderedMap to preserve the order of all elements in the input JSON string - var v orderedmap.OrderedMap - if err := json.Unmarshal([]byte(jsonStr), &v); err != nil { - return "", err - } - - data, err := json.Marshal(v) + out := &bytes.Buffer{} + err := json.Compact(out, []byte(jsonStr)) if err != nil { return "", err } - return string(data), nil + + return out.String(), nil } // convertToOrderedMap recursively converts maps to ordered maps @@ -494,7 +490,7 @@ var _ = Describe("toJSONSchema", func() { checkHasStandardValuesFields(resultContainer.Properties.Operator2.Properties.My.Properties.Values.Properties) }) - It("adds some json schema behaviour based on the jsonschema tags", func() { + FIt("adds some json schema behaviour based on the jsonschema tags", func() { type Type1 struct { Field1a string `json:"field1a" jsonschema:"title=field a,description=the field called a,example=aaa,example=bbb,default=a"` } From e29c41f5cbb2565389a4594904da975c72235152 Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Thu, 17 Apr 2025 16:03:45 -0400 Subject: [PATCH 8/9] Un-focus test --- codegen/render/funcs_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codegen/render/funcs_test.go b/codegen/render/funcs_test.go index 055446ac4..ec9188324 100644 --- a/codegen/render/funcs_test.go +++ b/codegen/render/funcs_test.go @@ -490,7 +490,7 @@ var _ = Describe("toJSONSchema", func() { checkHasStandardValuesFields(resultContainer.Properties.Operator2.Properties.My.Properties.Values.Properties) }) - FIt("adds some json schema behaviour based on the jsonschema tags", func() { + It("adds some json schema behaviour based on the jsonschema tags", func() { type Type1 struct { Field1a string `json:"field1a" jsonschema:"title=field a,description=the field called a,example=aaa,example=bbb,default=a"` } From 73bbb80975d549cc57928917cb4bb4489c5ad208 Mon Sep 17 00:00:00 2001 From: marcogschmidt Date: Thu, 17 Apr 2025 17:10:20 -0400 Subject: [PATCH 9/9] Remove unused function --- codegen/render/funcs_test.go | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/codegen/render/funcs_test.go b/codegen/render/funcs_test.go index ec9188324..2830e682e 100644 --- a/codegen/render/funcs_test.go +++ b/codegen/render/funcs_test.go @@ -5,11 +5,9 @@ import ( "encoding/json" "fmt" "reflect" - "sort" "strings" structpb "github.com/golang/protobuf/ptypes/struct" - "github.com/iancoleman/orderedmap" "github.com/lithammer/dedent" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -40,33 +38,6 @@ func minifyJSON(jsonStr string) (string, error) { return out.String(), nil } -// convertToOrderedMap recursively converts maps to ordered maps -func convertToOrderedMap(v interface{}) interface{} { - switch val := v.(type) { - case map[string]interface{}: - ordered := orderedmap.New() - // Get all keys and sort them - keys := make([]string, 0, len(val)) - for k := range val { - keys = append(keys, k) - } - sort.Strings(keys) - // Add keys in sorted order - for _, k := range keys { - ordered.Set(k, convertToOrderedMap(val[k])) - } - return ordered - case []interface{}: - result := make([]interface{}, len(val)) - for i, v := range val { - result[i] = convertToOrderedMap(v) - } - return result - default: - return v - } -} - var _ = Describe("toYAMLWithComments", func() { It("decodes yaml with the comments", func() {