Files
dc-kc/schemas/serving.knative.dev/configuration_v1.json
2025-04-08 22:07:34 +01:00

1436 lines
94 KiB
JSON

{
"description": "Configuration represents the \"floating HEAD\" of a linear history of Revisions.\nUsers create new Revisions by updating the Configuration's spec.\nThe \"latest created\" revision's name is available under status, as is the\n\"latest ready\" revision's name.\nSee also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "ConfigurationSpec holds the desired state of the Configuration (from the client).",
"properties": {
"template": {
"description": "Template holds the latest specification for the Revision to be stamped out.",
"properties": {
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"finalizers": {
"items": {
"type": "string"
},
"type": "array"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
},
"spec": {
"description": "RevisionSpec holds the desired state of the Revision (from the client).",
"properties": {
"affinity": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-affinity",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"automountServiceAccountToken": {
"description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.",
"type": "boolean"
},
"containerConcurrency": {
"description": "ContainerConcurrency specifies the maximum allowed in-flight (concurrent)\nrequests per container of the Revision. Defaults to `0` which means\nconcurrency to the application is not limited, and the system decides the\ntarget concurrency for the autoscaler.",
"format": "int64",
"type": "integer"
},
"containers": {
"description": "List of containers belonging to the pod.\nContainers cannot currently be added or removed.\nThere must be at least one container in a Pod.\nCannot be updated.",
"items": {
"description": "A single application container that you want to run within a pod.",
"properties": {
"args": {
"description": "Arguments to the entrypoint.\nThe container image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell.\nThe container image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container.\nCannot be updated.",
"items": {
"description": "EnvVar represents an environment variable present in a Container.",
"properties": {
"name": {
"description": "Name of the environment variable. Must be a C_IDENTIFIER.",
"type": "string"
},
"value": {
"description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".",
"type": "string"
},
"valueFrom": {
"description": "Source for the environment variable's value. Cannot be used if value is not empty.",
"properties": {
"configMapKeyRef": {
"description": "Selects a key of a ConfigMap.",
"properties": {
"key": {
"description": "The key to select.",
"type": "string"
},
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "Specify whether the ConfigMap or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"fieldRef": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-fieldref",
"type": "object",
"x-kubernetes-map-type": "atomic",
"x-kubernetes-preserve-unknown-fields": true
},
"resourceFieldRef": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-fieldref",
"type": "object",
"x-kubernetes-map-type": "atomic",
"x-kubernetes-preserve-unknown-fields": true
},
"secretKeyRef": {
"description": "Selects a key of a secret in the pod's namespace",
"properties": {
"key": {
"description": "The key of the secret to select from. Must be a valid secret key.",
"type": "string"
},
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "Specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"name"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map"
},
"envFrom": {
"description": "List of sources to populate environment variables in the container.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.",
"items": {
"description": "EnvFromSource represents the source of a set of ConfigMaps",
"properties": {
"configMapRef": {
"description": "The ConfigMap to select from",
"properties": {
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "Specify whether the ConfigMap must be defined",
"type": "boolean"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"prefix": {
"description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
"type": "string"
},
"secretRef": {
"description": "The Secret to select from",
"properties": {
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "Specify whether the Secret must be defined",
"type": "boolean"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images\nThis field is optional to allow higher level config management to default or override\ncontainer images in workload controllers like Deployments and StatefulSets.",
"type": "string"
},
"imagePullPolicy": {
"description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
"type": "string"
},
"livenessProbe": {
"description": "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"properties": {
"exec": {
"description": "Exec specifies the action to take.",
"properties": {
"command": {
"description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object",
"additionalProperties": false
},
"failureThreshold": {
"description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
"format": "int32",
"type": "integer"
},
"grpc": {
"description": "GRPC specifies an action involving a GRPC port.",
"properties": {
"port": {
"description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
"format": "int32",
"type": "integer"
},
"service": {
"default": "",
"description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"httpGet": {
"description": "HTTPGet specifies the http request to perform.",
"properties": {
"host": {
"description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
"type": "string"
},
"httpHeaders": {
"description": "Custom headers to set in the request. HTTP allows repeated headers.",
"items": {
"description": "HTTPHeader describes a custom header to be used in HTTP probes",
"properties": {
"name": {
"description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
"type": "string"
},
"value": {
"description": "The header field value",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"path": {
"description": "Path to access on the HTTP server.",
"type": "string"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
"x-kubernetes-int-or-string": true
},
"scheme": {
"description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"initialDelaySeconds": {
"description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"format": "int32",
"type": "integer"
},
"periodSeconds": {
"description": "How often (in seconds) to perform the probe.",
"format": "int32",
"type": "integer"
},
"successThreshold": {
"description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
"format": "int32",
"type": "integer"
},
"tcpSocket": {
"description": "TCPSocket specifies an action involving a TCP port.",
"properties": {
"host": {
"description": "Optional: Host name to connect to, defaults to the pod IP.",
"type": "string"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
"x-kubernetes-int-or-string": true
}
},
"type": "object",
"additionalProperties": false
},
"timeoutSeconds": {
"description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"format": "int32",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"name": {
"description": "Name of the container specified as a DNS_LABEL.\nEach container in a pod must have a unique name (DNS_LABEL).\nCannot be updated.",
"type": "string"
},
"ports": {
"description": "List of ports to expose from the container. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nModifying this array with strategic merge patch may corrupt the data.\nFor more information See https://github.com/kubernetes/kubernetes/issues/108255.\nCannot be updated.",
"items": {
"description": "ContainerPort represents a network port in a single container.",
"properties": {
"containerPort": {
"description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536.",
"format": "int32",
"type": "integer"
},
"name": {
"description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.",
"type": "string"
},
"protocol": {
"default": "TCP",
"description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"readinessProbe": {
"description": "Periodic probe of container service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"properties": {
"exec": {
"description": "Exec specifies the action to take.",
"properties": {
"command": {
"description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object",
"additionalProperties": false
},
"failureThreshold": {
"description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
"format": "int32",
"type": "integer"
},
"grpc": {
"description": "GRPC specifies an action involving a GRPC port.",
"properties": {
"port": {
"description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
"format": "int32",
"type": "integer"
},
"service": {
"default": "",
"description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"httpGet": {
"description": "HTTPGet specifies the http request to perform.",
"properties": {
"host": {
"description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
"type": "string"
},
"httpHeaders": {
"description": "Custom headers to set in the request. HTTP allows repeated headers.",
"items": {
"description": "HTTPHeader describes a custom header to be used in HTTP probes",
"properties": {
"name": {
"description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
"type": "string"
},
"value": {
"description": "The header field value",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"path": {
"description": "Path to access on the HTTP server.",
"type": "string"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
"x-kubernetes-int-or-string": true
},
"scheme": {
"description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"initialDelaySeconds": {
"description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"format": "int32",
"type": "integer"
},
"periodSeconds": {
"description": "How often (in seconds) to perform the probe.",
"format": "int32",
"type": "integer"
},
"successThreshold": {
"description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
"format": "int32",
"type": "integer"
},
"tcpSocket": {
"description": "TCPSocket specifies an action involving a TCP port.",
"properties": {
"host": {
"description": "Optional: Host name to connect to, defaults to the pod IP.",
"type": "string"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
"x-kubernetes-int-or-string": true
}
},
"type": "object",
"additionalProperties": false
},
"timeoutSeconds": {
"description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"format": "int32",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"resources": {
"description": "Compute Resources required by this container.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"properties": {
"limits": {
"additionalProperties": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
"x-kubernetes-int-or-string": true
},
"description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"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
},
"description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"type": "object"
}
},
"type": "object",
"additionalProperties": false
},
"securityContext": {
"description": "SecurityContext defines the security options the container should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
"properties": {
"allowPrivilegeEscalation": {
"description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.",
"type": "boolean"
},
"capabilities": {
"description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.",
"properties": {
"add": {
"description": "This is accessible behind a feature flag - kubernetes.containerspec-addcapabilities",
"items": {
"description": "Capability represent POSIX capabilities type",
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"drop": {
"description": "Removed capabilities",
"items": {
"description": "Capability represent POSIX capabilities type",
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object",
"additionalProperties": false
},
"privileged": {
"description": "Run container in privileged mode. This can only be set to explicitly to 'false'",
"type": "boolean"
},
"readOnlyRootFilesystem": {
"description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.",
"type": "boolean"
},
"runAsGroup": {
"description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
"format": "int64",
"type": "integer"
},
"runAsNonRoot": {
"description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.",
"type": "boolean"
},
"runAsUser": {
"description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.",
"format": "int64",
"type": "integer"
},
"seccompProfile": {
"description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod & container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.",
"properties": {
"localhostProfile": {
"description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.",
"type": "string"
},
"type": {
"description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.",
"type": "string"
}
},
"required": [
"type"
],
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"startupProbe": {
"description": "StartupProbe indicates that the Pod has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"properties": {
"exec": {
"description": "Exec specifies the action to take.",
"properties": {
"command": {
"description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.",
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object",
"additionalProperties": false
},
"failureThreshold": {
"description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.",
"format": "int32",
"type": "integer"
},
"grpc": {
"description": "GRPC specifies an action involving a GRPC port.",
"properties": {
"port": {
"description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
"format": "int32",
"type": "integer"
},
"service": {
"default": "",
"description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"httpGet": {
"description": "HTTPGet specifies the http request to perform.",
"properties": {
"host": {
"description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.",
"type": "string"
},
"httpHeaders": {
"description": "Custom headers to set in the request. HTTP allows repeated headers.",
"items": {
"description": "HTTPHeader describes a custom header to be used in HTTP probes",
"properties": {
"name": {
"description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.",
"type": "string"
},
"value": {
"description": "The header field value",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"path": {
"description": "Path to access on the HTTP server.",
"type": "string"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
"x-kubernetes-int-or-string": true
},
"scheme": {
"description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"initialDelaySeconds": {
"description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"format": "int32",
"type": "integer"
},
"periodSeconds": {
"description": "How often (in seconds) to perform the probe.",
"format": "int32",
"type": "integer"
},
"successThreshold": {
"description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
"format": "int32",
"type": "integer"
},
"tcpSocket": {
"description": "TCPSocket specifies an action involving a TCP port.",
"properties": {
"host": {
"description": "Optional: Host name to connect to, defaults to the pod IP.",
"type": "string"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.",
"x-kubernetes-int-or-string": true
}
},
"type": "object",
"additionalProperties": false
},
"timeoutSeconds": {
"description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"format": "int32",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"terminationMessagePath": {
"description": "Optional: Path at which the file to which the container's termination message\nwill be written is mounted into the container's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated.",
"type": "string"
},
"terminationMessagePolicy": {
"description": "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the container status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of container log output if the termination\nmessage file is empty and the container exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated.",
"type": "string"
},
"volumeMounts": {
"description": "Pod volumes to mount into the container's filesystem.\nCannot be updated.",
"items": {
"description": "VolumeMount describes a mounting of a Volume within a container.",
"properties": {
"mountPath": {
"description": "Path within the container at which the volume should be mounted. Must\nnot contain ':'.",
"type": "string"
},
"name": {
"description": "This must match the Name of a Volume.",
"type": "string"
},
"readOnly": {
"description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
"type": "boolean"
},
"subPath": {
"description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).",
"type": "string"
}
},
"required": [
"mountPath",
"name"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map"
},
"workingDir": {
"description": "Container's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"dnsConfig": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-dnsconfig",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"dnsPolicy": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-dnspolicy",
"type": "string"
},
"enableServiceLinks": {
"description": "EnableServiceLinks indicates whether information aboutservices should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Knative defaults this to false.",
"type": "boolean"
},
"hostAliases": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-hostaliases",
"items": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-hostaliases",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"type": "array"
},
"hostIPC": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-hostipc",
"type": "boolean"
},
"hostNetwork": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-hostnetwork",
"type": "boolean"
},
"hostPID": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-hostpid",
"type": "boolean"
},
"idleTimeoutSeconds": {
"description": "IdleTimeoutSeconds is the maximum duration in seconds a request will be allowed\nto stay open while not receiving any bytes from the user's application. If\nunspecified, a system default will be provided.",
"format": "int64",
"type": "integer"
},
"imagePullSecrets": {
"description": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.\nIf specified, these secrets will be passed to individual puller implementations for them to use.\nMore info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod",
"items": {
"description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
"properties": {
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map"
},
"initContainers": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-init-containers",
"items": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-init-containers",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"type": "array"
},
"nodeSelector": {
"additionalProperties": {
"type": "string"
},
"description": "This is accessible behind a feature flag - kubernetes.podspec-nodeselector",
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"priorityClassName": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-priorityclassname",
"type": "string"
},
"responseStartTimeoutSeconds": {
"description": "ResponseStartTimeoutSeconds is the maximum duration in seconds that the request\nrouting layer will wait for a request delivered to a container to begin\nsending any network traffic.",
"format": "int64",
"type": "integer"
},
"runtimeClassName": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-runtimeclassname",
"type": "string"
},
"schedulerName": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-schedulername",
"type": "string"
},
"securityContext": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-securitycontext",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"serviceAccountName": {
"description": "ServiceAccountName is the name of the ServiceAccount to use to run this pod.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/",
"type": "string"
},
"shareProcessNamespace": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-shareprocessnamespace",
"type": "boolean"
},
"timeoutSeconds": {
"description": "TimeoutSeconds is the maximum duration in seconds that the request instance\nis allowed to respond to a request. If unspecified, a system default will\nbe provided.",
"format": "int64",
"type": "integer"
},
"tolerations": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-tolerations",
"items": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-tolerations",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"type": "array"
},
"topologySpreadConstraints": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-topologyspreadconstraints",
"items": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-topologyspreadconstraints",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"type": "array"
},
"volumes": {
"description": "List of volumes that can be mounted by containers belonging to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes",
"items": {
"description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.",
"properties": {
"configMap": {
"description": "configMap represents a configMap that should populate this volume",
"properties": {
"defaultMode": {
"description": "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"items": {
"description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
"items": {
"description": "Maps a string key to a path within a volume.",
"properties": {
"key": {
"description": "key is the key to project.",
"type": "string"
},
"mode": {
"description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"path": {
"description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
"type": "string"
}
},
"required": [
"key",
"path"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "optional specify whether the ConfigMap or its keys must be defined",
"type": "boolean"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"emptyDir": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-volumes-emptydir",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"hostPath": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-volumes-hostpath",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
"description": "name of the volume.\nMust be a DNS_LABEL and unique within the pod.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"persistentVolumeClaim": {
"description": "This is accessible behind a feature flag - kubernetes.podspec-persistent-volume-claim",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"projected": {
"description": "projected items for all in one resources secrets, configmaps, and downward API",
"properties": {
"defaultMode": {
"description": "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"sources": {
"description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
"items": {
"description": "Projection that may be projected along with other supported volume types.\nExactly one of these fields must be set.",
"properties": {
"configMap": {
"description": "configMap information about the configMap data to project",
"properties": {
"items": {
"description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
"items": {
"description": "Maps a string key to a path within a volume.",
"properties": {
"key": {
"description": "key is the key to project.",
"type": "string"
},
"mode": {
"description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"path": {
"description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
"type": "string"
}
},
"required": [
"key",
"path"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "optional specify whether the ConfigMap or its keys must be defined",
"type": "boolean"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"downwardAPI": {
"description": "downwardAPI information about the downwardAPI data to project",
"properties": {
"items": {
"description": "Items is a list of DownwardAPIVolume file",
"items": {
"description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
"properties": {
"fieldRef": {
"description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
"properties": {
"apiVersion": {
"description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
"type": "string"
},
"fieldPath": {
"description": "Path of the field to select in the specified API version.",
"type": "string"
}
},
"required": [
"fieldPath"
],
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"mode": {
"description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"path": {
"description": "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
"type": "string"
},
"resourceFieldRef": {
"description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
"properties": {
"containerName": {
"description": "Container name: required for volumes, optional for env vars",
"type": "string"
},
"divisor": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Specifies the output format of the exposed resources, defaults to \"1\"",
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
"x-kubernetes-int-or-string": true
},
"resource": {
"description": "Required: resource to select",
"type": "string"
}
},
"required": [
"resource"
],
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
}
},
"required": [
"path"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object",
"additionalProperties": false
},
"secret": {
"description": "secret information about the secret data to project",
"properties": {
"items": {
"description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
"items": {
"description": "Maps a string key to a path within a volume.",
"properties": {
"key": {
"description": "key is the key to project.",
"type": "string"
},
"mode": {
"description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"path": {
"description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
"type": "string"
}
},
"required": [
"key",
"path"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"name": {
"default": "",
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
"description": "optional field specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"serviceAccountToken": {
"description": "serviceAccountToken is information about the serviceAccountToken data to project",
"properties": {
"audience": {
"description": "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver.",
"type": "string"
},
"expirationSeconds": {
"description": "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes.",
"format": "int64",
"type": "integer"
},
"path": {
"description": "path is the path relative to the mount point of the file to project the\ntoken into.",
"type": "string"
}
},
"required": [
"path"
],
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object",
"additionalProperties": false
},
"secret": {
"description": "secret represents a secret that should populate this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"properties": {
"defaultMode": {
"description": "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"items": {
"description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'.",
"items": {
"description": "Maps a string key to a path within a volume.",
"properties": {
"key": {
"description": "key is the key to project.",
"type": "string"
},
"mode": {
"description": "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set.",
"format": "int32",
"type": "integer"
},
"path": {
"description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'.",
"type": "string"
}
},
"required": [
"key",
"path"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"optional": {
"description": "optional field specify whether the Secret or its keys must be defined",
"type": "boolean"
},
"secretName": {
"description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"name"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map"
}
},
"required": [
"containers"
],
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"status": {
"description": "ConfigurationStatus communicates the observed state of the Configuration (from the controller).",
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
"type": "object"
},
"conditions": {
"description": "Conditions the latest available observations of a resource's current state.",
"items": {
"description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
"properties": {
"lastTransitionTime": {
"description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
"type": "string"
},
"message": {
"description": "A human readable message indicating details about the transition.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition.",
"type": "string"
},
"severity": {
"description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "Type of condition.",
"type": "string"
}
},
"required": [
"status",
"type"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"latestCreatedRevisionName": {
"description": "LatestCreatedRevisionName is the last revision that was created from this\nConfiguration. It might not be ready yet, for that use LatestReadyRevisionName.",
"type": "string"
},
"latestReadyRevisionName": {
"description": "LatestReadyRevisionName holds the name of the latest Revision stamped out\nfrom this Configuration that has had its \"Ready\" condition become \"True\".",
"type": "string"
},
"observedGeneration": {
"description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object"
}