{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "type": "object" }, "spec": { "example": { "credentials": { "rancherCloudCredential": "user-credential" }, "name": "aws", "type": "infrastructure", "version": "v2.3.0" }, "properties": { "additionalDeployments": { "additionalProperties": { "properties": { "deployment": { "properties": { "affinity": { "properties": { "nodeAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "preference": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchFields": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "preference", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "properties": { "nodeSelectorTerms": { "items": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchFields": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "nodeSelectorTerms" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "podAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "podAffinityTerm": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "podAffinityTerm", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "podAntiAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "podAffinityTerm": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "podAffinityTerm", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" } }, "type": "object" }, "containers": { "items": { "properties": { "args": { "additionalProperties": { "type": "string" }, "type": "object" }, "command": { "items": { "type": "string" }, "type": "array" }, "env": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "valueFrom": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "imageUrl": { "type": "string" }, "name": { "type": "string" }, "resources": { "properties": { "claims": { "items": { "properties": { "name": { "type": "string" }, "request": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "limits": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "type": "object" }, "requests": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "type": "object" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "imagePullSecrets": { "items": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array" }, "nodeSelector": { "additionalProperties": { "type": "string" }, "type": "object" }, "replicas": { "minimum": 0, "type": "integer" }, "serviceAccountName": { "type": "string" }, "tolerations": { "items": { "properties": { "effect": { "type": "string" }, "key": { "type": "string" }, "operator": { "type": "string" }, "tolerationSeconds": { "format": "int64", "type": "integer" }, "value": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "manager": { "properties": { "additionalArgs": { "additionalProperties": { "type": "string" }, "type": "object" }, "cacheNamespace": { "type": "string" }, "controller": { "properties": { "cacheSyncTimeout": { "format": "int64", "type": "integer" }, "groupKindConcurrency": { "additionalProperties": { "type": "integer" }, "type": "object" }, "recoverPanic": { "type": "boolean" } }, "type": "object" }, "featureGates": { "additionalProperties": { "type": "boolean" }, "type": "object" }, "gracefulShutDown": { "type": "string" }, "health": { "properties": { "healthProbeBindAddress": { "type": "string" }, "livenessEndpointName": { "type": "string" }, "readinessEndpointName": { "type": "string" } }, "type": "object" }, "leaderElection": { "properties": { "leaderElect": { "type": "boolean" }, "leaseDuration": { "type": "string" }, "renewDeadline": { "type": "string" }, "resourceLock": { "type": "string" }, "resourceName": { "type": "string" }, "resourceNamespace": { "type": "string" }, "retryPeriod": { "type": "string" } }, "required": [ "leaderElect", "leaseDuration", "renewDeadline", "resourceLock", "resourceName", "resourceNamespace", "retryPeriod" ], "type": "object" }, "maxConcurrentReconciles": { "minimum": 1, "type": "integer" }, "metrics": { "properties": { "bindAddress": { "type": "string" } }, "type": "object" }, "profilerAddress": { "type": "string" }, "syncPeriod": { "type": "string" }, "verbosity": { "default": 1, "minimum": 0, "type": "integer" }, "webhook": { "properties": { "certDir": { "type": "string" }, "host": { "type": "string" }, "port": { "type": "integer" } }, "type": "object" } }, "type": "object" } }, "type": "object" }, "type": "object" }, "additionalManifests": { "properties": { "name": { "type": "string" }, "namespace": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "configSecret": { "properties": { "name": { "type": "string" }, "namespace": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "credentials": { "example": { "rancherCloudCredential": "user-credential" }, "maxProperties": 1, "minProperties": 1, "properties": { "rancherCloudCredential": { "type": "string" }, "rancherCloudCredentialNamespaceName": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic", "x-kubernetes-validations": [ { "message": "rancherCloudCredentialNamespaceName should be in the namespace:name format.", "rule": "!has(self.rancherCloudCredentialNamespaceName) || self.rancherCloudCredentialNamespaceName.matches('^.+:.+$')" } ] }, "deployment": { "properties": { "affinity": { "properties": { "nodeAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "preference": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchFields": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "preference", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "properties": { "nodeSelectorTerms": { "items": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchFields": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "nodeSelectorTerms" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "podAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "podAffinityTerm": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "podAffinityTerm", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" }, "podAntiAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "podAffinityTerm": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "podAffinityTerm", "weight" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "requiredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "labelSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "matchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "namespaceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "namespaces": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "topologyKey": { "type": "string" } }, "required": [ "topologyKey" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "type": "object" } }, "type": "object" }, "containers": { "items": { "properties": { "args": { "additionalProperties": { "type": "string" }, "type": "object" }, "command": { "items": { "type": "string" }, "type": "array" }, "env": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "valueFrom": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "fieldRef": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "resourceFieldRef": { "properties": { "containerName": { "type": "string" }, "divisor": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "resource": { "type": "string" } }, "required": [ "resource" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "imageUrl": { "type": "string" }, "name": { "type": "string" }, "resources": { "properties": { "claims": { "items": { "properties": { "name": { "type": "string" }, "request": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array", "x-kubernetes-list-map-keys": [ "name" ], "x-kubernetes-list-type": "map" }, "limits": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "type": "object" }, "requests": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "x-kubernetes-int-or-string": true }, "type": "object" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "imagePullSecrets": { "items": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "type": "array" }, "nodeSelector": { "additionalProperties": { "type": "string" }, "type": "object" }, "replicas": { "minimum": 0, "type": "integer" }, "serviceAccountName": { "type": "string" }, "tolerations": { "items": { "properties": { "effect": { "type": "string" }, "key": { "type": "string" }, "operator": { "type": "string" }, "tolerationSeconds": { "format": "int64", "type": "integer" }, "value": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "enableAutomaticUpdate": { "type": "boolean" }, "features": { "example": { "clusterResourceSet": true, "clusterTopology": true, "machinePool": true }, "properties": { "clusterResourceSet": { "type": "boolean" }, "clusterTopology": { "type": "boolean" }, "machinePool": { "type": "boolean" } }, "type": "object" }, "fetchConfig": { "properties": { "oci": { "type": "string" }, "selector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "url": { "type": "string" } }, "type": "object", "x-kubernetes-validations": [ { "message": "Must specify one and only one of {oci, url, selector}", "rule": "[has(self.oci), has(self.url), has(self.selector)].exists_one(x,x)" } ] }, "manager": { "properties": { "additionalArgs": { "additionalProperties": { "type": "string" }, "type": "object" }, "cacheNamespace": { "type": "string" }, "controller": { "properties": { "cacheSyncTimeout": { "format": "int64", "type": "integer" }, "groupKindConcurrency": { "additionalProperties": { "type": "integer" }, "type": "object" }, "recoverPanic": { "type": "boolean" } }, "type": "object" }, "featureGates": { "additionalProperties": { "type": "boolean" }, "type": "object" }, "gracefulShutDown": { "type": "string" }, "health": { "properties": { "healthProbeBindAddress": { "type": "string" }, "livenessEndpointName": { "type": "string" }, "readinessEndpointName": { "type": "string" } }, "type": "object" }, "leaderElection": { "properties": { "leaderElect": { "type": "boolean" }, "leaseDuration": { "type": "string" }, "renewDeadline": { "type": "string" }, "resourceLock": { "type": "string" }, "resourceName": { "type": "string" }, "resourceNamespace": { "type": "string" }, "retryPeriod": { "type": "string" } }, "required": [ "leaderElect", "leaseDuration", "renewDeadline", "resourceLock", "resourceName", "resourceNamespace", "retryPeriod" ], "type": "object" }, "maxConcurrentReconciles": { "minimum": 1, "type": "integer" }, "metrics": { "properties": { "bindAddress": { "type": "string" } }, "type": "object" }, "profilerAddress": { "type": "string" }, "syncPeriod": { "type": "string" }, "verbosity": { "default": 1, "minimum": 0, "type": "integer" }, "webhook": { "properties": { "certDir": { "type": "string" }, "host": { "type": "string" }, "port": { "type": "integer" } }, "type": "object" } }, "type": "object" }, "manifestPatches": { "items": { "type": "string" }, "type": "array" }, "name": { "example": "aws", "type": "string" }, "type": { "example": "InfrastructureProvider", "type": "string" }, "variables": { "additionalProperties": { "type": "string" }, "example": { "CLUSTER_TOPOLOGY": "true", "EXP_CLUSTER_RESOURCE_SET": "true", "EXP_MACHINE_POOL": "true" }, "type": "object" }, "version": { "type": "string" } }, "required": [ "type" ], "type": "object", "x-kubernetes-validations": [ { "message": "CAPI Provider version should be in the semver format prefixed with 'v'. Example: v1.9.3", "rule": "!has(self.version) || self.version.matches(r\"\"\"^v([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z-]+)?$\"\"\")" }, { "message": "Config secret namespace is always equal to the resource namespace and should not be set.", "rule": "!has(self.configSecret) || !has(self.configSecret.__namespace__)" }, { "message": "One of fetchConfig oci, url or selector should be set.", "rule": "!has(self.fetchConfig) || [has(self.fetchConfig.oci), has(self.fetchConfig.url), has(self.fetchConfig.selector)].exists_one(e, e)" } ] }, "status": { "default": {}, "properties": { "conditions": { "items": { "properties": { "lastTransitionTime": { "format": "date-time", "type": "string" }, "message": { "maxLength": 10240, "minLength": 1, "type": "string" }, "reason": { "maxLength": 256, "minLength": 1, "type": "string" }, "severity": { "maxLength": 32, "type": "string" }, "status": { "type": "string" }, "type": { "maxLength": 256, "minLength": 1, "type": "string" } }, "required": [ "lastTransitionTime", "status", "type" ], "type": "object" }, "type": "array" }, "contract": { "type": "string" }, "installedVersion": { "type": "string" }, "name": { "type": "string" }, "observedGeneration": { "format": "int64", "type": "integer" }, "phase": { "default": "Pending", "type": "string" }, "variables": { "additionalProperties": { "type": "string" }, "default": { "CLUSTER_TOPOLOGY": "true", "EXP_CLUSTER_RESOURCE_SET": "true", "EXP_MACHINE_POOL": "true" }, "type": "object" } }, "type": "object" } }, "type": "object", "x-kubernetes-validations": [ { "message": "CAPI Provider type should always be set.", "rule": "has(self.spec.type)" } ] }