k8s/knative/chart/knative/templates/crds/serving-crds.yaml [248:939]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    spec:
                      description: RevisionSpec holds the desired state of the Revision (from the client).
                      type: object
                      required:
                        - containers
                      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) requests per container of the Revision.  Defaults to `0` which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
                          type: integer
                          format: int64
                        containers:
                          description: List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.
                          type: array
                          items:
                            description: A single application container that you want to run within a pod.
                            type: object
                            properties:
                              args:
                                description: 'Arguments to the entrypoint. The container image''s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
                                type: array
                                items:
                                  type: string
                              command:
                                description: 'Entrypoint array. Not executed within a shell. The container image''s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
                                type: array
                                items:
                                  type: string
                              env:
                                description: List of environment variables to set in the container. Cannot be updated.
                                type: array
                                items:
                                  description: EnvVar represents an environment variable present in a Container.
                                  type: object
                                  required:
                                    - name
                                  properties:
                                    name:
                                      description: Name of the environment variable. Must be a C_IDENTIFIER.
                                      type: string
                                    value:
                                      description: 'Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
                                      type: string
                                    valueFrom:
                                      description: Source for the environment variable's value. Cannot be used if value is not empty.
                                      type: object
                                      properties:
                                        configMapKeyRef:
                                          description: Selects a key of a ConfigMap.
                                          type: object
                                          required:
                                            - key
                                          properties:
                                            key:
                                              description: The key to select.
                                              type: string
                                            name:
                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                              type: string
                                            optional:
                                              description: Specify whether the ConfigMap or its key must be defined
                                              type: boolean
                                          x-kubernetes-map-type: atomic
                                        fieldRef:
                                          description: This is accessible behind a feature flag - kubernetes.podspec-fieldref
                                          type: object
                                          x-kubernetes-preserve-unknown-fields: true
                                          x-kubernetes-map-type: atomic
                                        resourceFieldRef:
                                          description: This is accessible behind a feature flag - kubernetes.podspec-fieldref
                                          type: object
                                          x-kubernetes-preserve-unknown-fields: true
                                          x-kubernetes-map-type: atomic
                                        secretKeyRef:
                                          description: Selects a key of a secret in the pod's namespace
                                          type: object
                                          required:
                                            - key
                                          properties:
                                            key:
                                              description: The key of the secret to select from.  Must be a valid secret key.
                                              type: string
                                            name:
                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                              type: string
                                            optional:
                                              description: Specify whether the Secret or its key must be defined
                                              type: boolean
                                          x-kubernetes-map-type: atomic
                              envFrom:
                                description: List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
                                type: array
                                items:
                                  description: EnvFromSource represents the source of a set of ConfigMaps
                                  type: object
                                  properties:
                                    configMapRef:
                                      description: The ConfigMap to select from
                                      type: object
                                      properties:
                                        name:
                                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                          type: string
                                        optional:
                                          description: Specify whether the ConfigMap must be defined
                                          type: boolean
                                      x-kubernetes-map-type: atomic
                                    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
                                      type: object
                                      properties:
                                        name:
                                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                          type: string
                                        optional:
                                          description: Specify whether the Secret must be defined
                                          type: boolean
                                      x-kubernetes-map-type: atomic
                              image:
                                description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.'
                                type: string
                              imagePullPolicy:
                                description: 'Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
                                type: string
                              livenessProbe:
                                description: 'Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                                type: object
                                properties:
                                  exec:
                                    description: Exec specifies the action to take.
                                    type: object
                                    properties:
                                      command:
                                        description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
                                        type: array
                                        items:
                                          type: string
                                  failureThreshold:
                                    description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
                                    type: integer
                                    format: int32
                                  httpGet:
                                    description: HTTPGet specifies the http request to perform.
                                    type: object
                                    properties:
                                      host:
                                        description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
                                        type: string
                                      httpHeaders:
                                        description: Custom headers to set in the request. HTTP allows repeated headers.
                                        type: array
                                        items:
                                          description: HTTPHeader describes a custom header to be used in HTTP probes
                                          type: object
                                          required:
                                            - name
                                            - value
                                          properties:
                                            name:
                                              description: The header field name
                                              type: string
                                            value:
                                              description: The header field value
                                              type: string
                                      path:
                                        description: Path to access on the HTTP server.
                                        type: string
                                      port:
                                        description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        description: Scheme to use for connecting to the host. Defaults to HTTP.
                                        type: string
                                  initialDelaySeconds:
                                    description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                                    type: integer
                                    format: int32
                                  periodSeconds:
                                    description: How often (in seconds) to perform the probe.
                                    type: integer
                                    format: int32
                                  successThreshold:
                                    description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
                                    type: integer
                                    format: int32
                                  tcpSocket:
                                    description: TCPSocket specifies an action involving a TCP port.
                                    type: object
                                    properties:
                                      host:
                                        description: 'Optional: Host name to connect to, defaults to the pod IP.'
                                        type: string
                                      port:
                                        description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        x-kubernetes-int-or-string: true
                                  timeoutSeconds:
                                    description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                                    type: integer
                                    format: int32
                              name:
                                description: Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
                                type: string
                              ports:
                                description: List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.
                                type: array
                                items:
                                  description: ContainerPort represents a network port in a single container.
                                  type: object
                                  required:
                                    - containerPort
                                  properties:
                                    containerPort:
                                      description: Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.
                                      type: integer
                                      format: int32
                                    name:
                                      description: If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
                                      type: string
                                    protocol:
                                      description: Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".
                                      type: string
                                      default: TCP
                                x-kubernetes-list-map-keys:
                                  - containerPort
                                  - protocol
                                x-kubernetes-list-type: map
                              readinessProbe:
                                description: 'Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                                type: object
                                properties:
                                  exec:
                                    description: Exec specifies the action to take.
                                    type: object
                                    properties:
                                      command:
                                        description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
                                        type: array
                                        items:
                                          type: string
                                  failureThreshold:
                                    description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
                                    type: integer
                                    format: int32
                                  httpGet:
                                    description: HTTPGet specifies the http request to perform.
                                    type: object
                                    properties:
                                      host:
                                        description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
                                        type: string
                                      httpHeaders:
                                        description: Custom headers to set in the request. HTTP allows repeated headers.
                                        type: array
                                        items:
                                          description: HTTPHeader describes a custom header to be used in HTTP probes
                                          type: object
                                          required:
                                            - name
                                            - value
                                          properties:
                                            name:
                                              description: The header field name
                                              type: string
                                            value:
                                              description: The header field value
                                              type: string
                                      path:
                                        description: Path to access on the HTTP server.
                                        type: string
                                      port:
                                        description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        description: Scheme to use for connecting to the host. Defaults to HTTP.
                                        type: string
                                  initialDelaySeconds:
                                    description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                                    type: integer
                                    format: int32
                                  periodSeconds:
                                    description: How often (in seconds) to perform the probe.
                                    type: integer
                                    format: int32
                                  successThreshold:
                                    description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
                                    type: integer
                                    format: int32
                                  tcpSocket:
                                    description: TCPSocket specifies an action involving a TCP port.
                                    type: object
                                    properties:
                                      host:
                                        description: 'Optional: Host name to connect to, defaults to the pod IP.'
                                        type: string
                                      port:
                                        description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        x-kubernetes-int-or-string: true
                                  timeoutSeconds:
                                    description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                                    type: integer
                                    format: int32
                              resources:
                                description: 'Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                type: object
                                properties:
                                  limits:
                                    description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                    type: object
                                    additionalProperties:
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      anyOf:
                                        - type: integer
                                        - type: string
                                      x-kubernetes-int-or-string: true
                                  requests:
                                    description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                                    type: object
                                    additionalProperties:
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      anyOf:
                                        - type: integer
                                        - type: string
                                      x-kubernetes-int-or-string: true
                              securityContext:
                                description: 'SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
                                type: object
                                properties:
                                  allowPrivilegeEscalation:
                                    description: 'AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.'
                                    type: boolean
                                  capabilities:
                                    description: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.
                                    type: object
                                    properties:
                                      add:
                                        description: This is accessible behind a feature flag - kubernetes.containerspec-addcapabilities
                                        type: array
                                        items:
                                          description: Capability represent POSIX capabilities type
                                          type: string
                                      drop:
                                        description: Removed capabilities
                                        type: array
                                        items:
                                          description: Capability represent POSIX capabilities type
                                          type: string
                                  readOnlyRootFilesystem:
                                    description: Whether this container has a read-only root filesystem. Default is false. Note 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. Uses runtime default if unset. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.
                                    type: integer
                                    format: int64
                                  runAsNonRoot:
                                    description: Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
                                    type: boolean
                                  runAsUser:
                                    description: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.
                                    type: integer
                                    format: int64
                                  seccompProfile:
                                    description: The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows.
                                    type: object
                                    required:
                                      - type
                                    properties:
                                      localhostProfile:
                                        description: localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".
                                        type: string
                                      type:
                                        description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied."
                                        type: string
                              terminationMessagePath:
                                description: 'Optional: Path at which the file to which the container''s termination message will be written is mounted into the container''s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
                                type: string
                              terminationMessagePolicy:
                                description: Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
                                type: string
                              volumeMounts:
                                description: Pod volumes to mount into the container's filesystem. Cannot be updated.
                                type: array
                                items:
                                  description: VolumeMount describes a mounting of a Volume within a container.
                                  type: object
                                  required:
                                    - mountPath
                                    - name
                                  properties:
                                    mountPath:
                                      description: Path within the container at which the volume should be mounted.  Must not 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). Defaults to false.
                                      type: boolean
                                    subPath:
                                      description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
                                      type: string
                              workingDir:
                                description: Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
                                type: string
                        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 about services 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
                          type: array
                          items:
                            description: This is accessible behind a feature flag - kubernetes.podspec-hostaliases
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                        idleTimeoutSeconds:
                          description: IdleTimeoutSeconds is the maximum duration in seconds a request will be allowed to stay open while not receiving any bytes from the user's application. If unspecified, a system default will be provided.
                          type: integer
                          format: int64
                        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. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
                          type: array
                          items:
                            description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
                            type: object
                            properties:
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                type: string
                            x-kubernetes-map-type: atomic
                        initContainers:
                          description: 'List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
                          type: array
                          items:
                            description: This is accessible behind a feature flag - kubernetes.podspec-init-containers
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                        nodeSelector:
                          description: This is accessible behind a feature flag - kubernetes.podspec-nodeselector
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                          x-kubernetes-map-type: atomic
                        priorityClassName:
                          description: This is accessible behind a feature flag - kubernetes.podspec-priorityclassname
                          type: string
                          x-kubernetes-preserve-unknown-fields: true
                        responseStartTimeoutSeconds:
                          description: ResponseStartTimeoutSeconds is the maximum duration in seconds that the request routing layer will wait for a request delivered to a container to begin sending any network traffic.
                          type: integer
                          format: int64
                        runtimeClassName:
                          description: This is accessible behind a feature flag - kubernetes.podspec-runtimeclassname
                          type: string
                          x-kubernetes-preserve-unknown-fields: true
                        schedulerName:
                          description: This is accessible behind a feature flag - kubernetes.podspec-schedulername
                          type: string
                          x-kubernetes-preserve-unknown-fields: true
                        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. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
                          type: string
                        timeoutSeconds:
                          description: TimeoutSeconds is the maximum duration in seconds that the request instance is allowed to respond to a request. If unspecified, a system default will be provided.
                          type: integer
                          format: int64
                        tolerations:
                          description: This is accessible behind a feature flag - kubernetes.podspec-tolerations
                          type: array
                          items:
                            description: This is accessible behind a feature flag - kubernetes.podspec-tolerations
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                        topologySpreadConstraints:
                          description: This is accessible behind a feature flag - kubernetes.podspec-topologyspreadconstraints
                          type: array
                          items:
                            description: This is accessible behind a feature flag - kubernetes.podspec-topologyspreadconstraints
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                        volumes:
                          description: 'List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
                          type: array
                          items:
                            description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
                            type: object
                            required:
                              - name
                            properties:
                              configMap:
                                description: configMap represents a configMap that should populate this volume
                                type: object
                                properties:
                                  defaultMode:
                                    description: 'defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                    type: integer
                                    format: int32
                                  items:
                                    description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                                    type: array
                                    items:
                                      description: Maps a string key to a path within a volume.
                                      type: object
                                      required:
                                        - key
                                        - path
                                      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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                          type: integer
                                          format: int32
                                        path:
                                          description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                          type: string
                                  name:
                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                    type: string
                                  optional:
                                    description: optional specify whether the ConfigMap or its keys must be defined
                                    type: boolean
                                x-kubernetes-map-type: atomic
                              emptyDir:
                                description: This is accessible behind a feature flag - kubernetes.podspec-emptydir
                                type: object
                                x-kubernetes-preserve-unknown-fields: true
                              name:
                                description: 'name of the volume. Must be a DNS_LABEL and unique within the pod. More 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
                                type: object
                                properties:
                                  defaultMode:
                                    description: defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
                                    type: integer
                                    format: int32
                                  sources:
                                    description: sources is the list of volume projections
                                    type: array
                                    items:
                                      description: Projection that may be projected along with other supported volume types
                                      type: object
                                      properties:
                                        configMap:
                                          description: configMap information about the configMap data to project
                                          type: object
                                          properties:
                                            items:
                                              description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                                              type: array
                                              items:
                                                description: Maps a string key to a path within a volume.
                                                type: object
                                                required:
                                                  - key
                                                  - path
                                                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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                                    type: integer
                                                    format: int32
                                                  path:
                                                    description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                                    type: string
                                            name:
                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                              type: string
                                            optional:
                                              description: optional specify whether the ConfigMap or its keys must be defined
                                              type: boolean
                                          x-kubernetes-map-type: atomic
                                        secret:
                                          description: secret information about the secret data to project
                                          type: object
                                          properties:
                                            items:
                                              description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                                              type: array
                                              items:
                                                description: Maps a string key to a path within a volume.
                                                type: object
                                                required:
                                                  - key
                                                  - path
                                                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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                                    type: integer
                                                    format: int32
                                                  path:
                                                    description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                                    type: string
                                            name:
                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                              type: string
                                            optional:
                                              description: optional field specify whether the Secret or its key must be defined
                                              type: boolean
                                          x-kubernetes-map-type: atomic
                                        serviceAccountToken:
                                          description: serviceAccountToken is information about the serviceAccountToken data to project
                                          type: object
                                          required:
                                            - path
                                          properties:
                                            audience:
                                              description: audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
                                              type: string
                                            expirationSeconds:
                                              description: expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
                                              type: integer
                                              format: int64
                                            path:
                                              description: path is the path relative to the mount point of the file to project the token into.
                                              type: string
                              secret:
                                description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
                                type: object
                                properties:
                                  defaultMode:
                                    description: 'defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                    type: integer
                                    format: int32
                                  items:
                                    description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                                    type: array
                                    items:
                                      description: Maps a string key to a path within a volume.
                                      type: object
                                      required:
                                        - key
                                        - path
                                      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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                          type: integer
                                          format: int32
                                        path:
                                          description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                          type: string
                                  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. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
                                    type: string
            status:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



k8s/knative/chart/knative/templates/crds/serving-crds.yaml [1940:2631]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            spec:
              description: RevisionSpec holds the desired state of the Revision (from the client).
              type: object
              required:
                - containers
              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) requests per container of the Revision.  Defaults to `0` which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
                  type: integer
                  format: int64
                containers:
                  description: List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.
                  type: array
                  items:
                    description: A single application container that you want to run within a pod.
                    type: object
                    properties:
                      args:
                        description: 'Arguments to the entrypoint. The container image''s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
                        type: array
                        items:
                          type: string
                      command:
                        description: 'Entrypoint array. Not executed within a shell. The container image''s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
                        type: array
                        items:
                          type: string
                      env:
                        description: List of environment variables to set in the container. Cannot be updated.
                        type: array
                        items:
                          description: EnvVar represents an environment variable present in a Container.
                          type: object
                          required:
                            - name
                          properties:
                            name:
                              description: Name of the environment variable. Must be a C_IDENTIFIER.
                              type: string
                            value:
                              description: 'Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
                              type: string
                            valueFrom:
                              description: Source for the environment variable's value. Cannot be used if value is not empty.
                              type: object
                              properties:
                                configMapKeyRef:
                                  description: Selects a key of a ConfigMap.
                                  type: object
                                  required:
                                    - key
                                  properties:
                                    key:
                                      description: The key to select.
                                      type: string
                                    name:
                                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                      type: string
                                    optional:
                                      description: Specify whether the ConfigMap or its key must be defined
                                      type: boolean
                                  x-kubernetes-map-type: atomic
                                fieldRef:
                                  description: This is accessible behind a feature flag - kubernetes.podspec-fieldref
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                                  x-kubernetes-map-type: atomic
                                resourceFieldRef:
                                  description: This is accessible behind a feature flag - kubernetes.podspec-fieldref
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                                  x-kubernetes-map-type: atomic
                                secretKeyRef:
                                  description: Selects a key of a secret in the pod's namespace
                                  type: object
                                  required:
                                    - key
                                  properties:
                                    key:
                                      description: The key of the secret to select from.  Must be a valid secret key.
                                      type: string
                                    name:
                                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                      type: string
                                    optional:
                                      description: Specify whether the Secret or its key must be defined
                                      type: boolean
                                  x-kubernetes-map-type: atomic
                      envFrom:
                        description: List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
                        type: array
                        items:
                          description: EnvFromSource represents the source of a set of ConfigMaps
                          type: object
                          properties:
                            configMapRef:
                              description: The ConfigMap to select from
                              type: object
                              properties:
                                name:
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                  type: string
                                optional:
                                  description: Specify whether the ConfigMap must be defined
                                  type: boolean
                              x-kubernetes-map-type: atomic
                            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
                              type: object
                              properties:
                                name:
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                  type: string
                                optional:
                                  description: Specify whether the Secret must be defined
                                  type: boolean
                              x-kubernetes-map-type: atomic
                      image:
                        description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.'
                        type: string
                      imagePullPolicy:
                        description: 'Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
                        type: string
                      livenessProbe:
                        description: 'Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                        type: object
                        properties:
                          exec:
                            description: Exec specifies the action to take.
                            type: object
                            properties:
                              command:
                                description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
                                type: array
                                items:
                                  type: string
                          failureThreshold:
                            description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
                            type: integer
                            format: int32
                          httpGet:
                            description: HTTPGet specifies the http request to perform.
                            type: object
                            properties:
                              host:
                                description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
                                type: string
                              httpHeaders:
                                description: Custom headers to set in the request. HTTP allows repeated headers.
                                type: array
                                items:
                                  description: HTTPHeader describes a custom header to be used in HTTP probes
                                  type: object
                                  required:
                                    - name
                                    - value
                                  properties:
                                    name:
                                      description: The header field name
                                      type: string
                                    value:
                                      description: The header field value
                                      type: string
                              path:
                                description: Path to access on the HTTP server.
                                type: string
                              port:
                                description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                anyOf:
                                  - type: integer
                                  - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                description: Scheme to use for connecting to the host. Defaults to HTTP.
                                type: string
                          initialDelaySeconds:
                            description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                            type: integer
                            format: int32
                          periodSeconds:
                            description: How often (in seconds) to perform the probe.
                            type: integer
                            format: int32
                          successThreshold:
                            description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
                            type: integer
                            format: int32
                          tcpSocket:
                            description: TCPSocket specifies an action involving a TCP port.
                            type: object
                            properties:
                              host:
                                description: 'Optional: Host name to connect to, defaults to the pod IP.'
                                type: string
                              port:
                                description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                anyOf:
                                  - type: integer
                                  - type: string
                                x-kubernetes-int-or-string: true
                          timeoutSeconds:
                            description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                            type: integer
                            format: int32
                      name:
                        description: Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
                        type: string
                      ports:
                        description: List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.
                        type: array
                        items:
                          description: ContainerPort represents a network port in a single container.
                          type: object
                          required:
                            - containerPort
                          properties:
                            containerPort:
                              description: Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.
                              type: integer
                              format: int32
                            name:
                              description: If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
                              type: string
                            protocol:
                              description: Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".
                              type: string
                              default: TCP
                        x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                        x-kubernetes-list-type: map
                      readinessProbe:
                        description: 'Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                        type: object
                        properties:
                          exec:
                            description: Exec specifies the action to take.
                            type: object
                            properties:
                              command:
                                description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
                                type: array
                                items:
                                  type: string
                          failureThreshold:
                            description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
                            type: integer
                            format: int32
                          httpGet:
                            description: HTTPGet specifies the http request to perform.
                            type: object
                            properties:
                              host:
                                description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
                                type: string
                              httpHeaders:
                                description: Custom headers to set in the request. HTTP allows repeated headers.
                                type: array
                                items:
                                  description: HTTPHeader describes a custom header to be used in HTTP probes
                                  type: object
                                  required:
                                    - name
                                    - value
                                  properties:
                                    name:
                                      description: The header field name
                                      type: string
                                    value:
                                      description: The header field value
                                      type: string
                              path:
                                description: Path to access on the HTTP server.
                                type: string
                              port:
                                description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                anyOf:
                                  - type: integer
                                  - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                description: Scheme to use for connecting to the host. Defaults to HTTP.
                                type: string
                          initialDelaySeconds:
                            description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                            type: integer
                            format: int32
                          periodSeconds:
                            description: How often (in seconds) to perform the probe.
                            type: integer
                            format: int32
                          successThreshold:
                            description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
                            type: integer
                            format: int32
                          tcpSocket:
                            description: TCPSocket specifies an action involving a TCP port.
                            type: object
                            properties:
                              host:
                                description: 'Optional: Host name to connect to, defaults to the pod IP.'
                                type: string
                              port:
                                description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                anyOf:
                                  - type: integer
                                  - type: string
                                x-kubernetes-int-or-string: true
                          timeoutSeconds:
                            description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                            type: integer
                            format: int32
                      resources:
                        description: 'Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                        type: object
                        properties:
                          limits:
                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                            type: object
                            additionalProperties:
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              anyOf:
                                - type: integer
                                - type: string
                              x-kubernetes-int-or-string: true
                          requests:
                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
                            type: object
                            additionalProperties:
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              anyOf:
                                - type: integer
                                - type: string
                              x-kubernetes-int-or-string: true
                      securityContext:
                        description: 'SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
                        type: object
                        properties:
                          allowPrivilegeEscalation:
                            description: 'AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.'
                            type: boolean
                          capabilities:
                            description: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.
                            type: object
                            properties:
                              add:
                                description: This is accessible behind a feature flag - kubernetes.containerspec-addcapabilities
                                type: array
                                items:
                                  description: Capability represent POSIX capabilities type
                                  type: string
                              drop:
                                description: Removed capabilities
                                type: array
                                items:
                                  description: Capability represent POSIX capabilities type
                                  type: string
                          readOnlyRootFilesystem:
                            description: Whether this container has a read-only root filesystem. Default is false. Note 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. Uses runtime default if unset. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.
                            type: integer
                            format: int64
                          runAsNonRoot:
                            description: Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
                            type: boolean
                          runAsUser:
                            description: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.
                            type: integer
                            format: int64
                          seccompProfile:
                            description: The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows.
                            type: object
                            required:
                              - type
                            properties:
                              localhostProfile:
                                description: localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".
                                type: string
                              type:
                                description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied."
                                type: string
                      terminationMessagePath:
                        description: 'Optional: Path at which the file to which the container''s termination message will be written is mounted into the container''s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
                        type: string
                      terminationMessagePolicy:
                        description: Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
                        type: string
                      volumeMounts:
                        description: Pod volumes to mount into the container's filesystem. Cannot be updated.
                        type: array
                        items:
                          description: VolumeMount describes a mounting of a Volume within a container.
                          type: object
                          required:
                            - mountPath
                            - name
                          properties:
                            mountPath:
                              description: Path within the container at which the volume should be mounted.  Must not 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). Defaults to false.
                              type: boolean
                            subPath:
                              description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
                              type: string
                      workingDir:
                        description: Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
                        type: string
                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 about services 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
                  type: array
                  items:
                    description: This is accessible behind a feature flag - kubernetes.podspec-hostaliases
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                idleTimeoutSeconds:
                  description: IdleTimeoutSeconds is the maximum duration in seconds a request will be allowed to stay open while not receiving any bytes from the user's application. If unspecified, a system default will be provided.
                  type: integer
                  format: int64
                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. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
                  type: array
                  items:
                    description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
                    type: object
                    properties:
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                        type: string
                    x-kubernetes-map-type: atomic
                initContainers:
                  description: 'List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
                  type: array
                  items:
                    description: This is accessible behind a feature flag - kubernetes.podspec-init-containers
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                nodeSelector:
                  description: This is accessible behind a feature flag - kubernetes.podspec-nodeselector
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                  x-kubernetes-map-type: atomic
                priorityClassName:
                  description: This is accessible behind a feature flag - kubernetes.podspec-priorityclassname
                  type: string
                  x-kubernetes-preserve-unknown-fields: true
                responseStartTimeoutSeconds:
                  description: ResponseStartTimeoutSeconds is the maximum duration in seconds that the request routing layer will wait for a request delivered to a container to begin sending any network traffic.
                  type: integer
                  format: int64
                runtimeClassName:
                  description: This is accessible behind a feature flag - kubernetes.podspec-runtimeclassname
                  type: string
                  x-kubernetes-preserve-unknown-fields: true
                schedulerName:
                  description: This is accessible behind a feature flag - kubernetes.podspec-schedulername
                  type: string
                  x-kubernetes-preserve-unknown-fields: true
                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. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
                  type: string
                timeoutSeconds:
                  description: TimeoutSeconds is the maximum duration in seconds that the request instance is allowed to respond to a request. If unspecified, a system default will be provided.
                  type: integer
                  format: int64
                tolerations:
                  description: This is accessible behind a feature flag - kubernetes.podspec-tolerations
                  type: array
                  items:
                    description: This is accessible behind a feature flag - kubernetes.podspec-tolerations
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                topologySpreadConstraints:
                  description: This is accessible behind a feature flag - kubernetes.podspec-topologyspreadconstraints
                  type: array
                  items:
                    description: This is accessible behind a feature flag - kubernetes.podspec-topologyspreadconstraints
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                volumes:
                  description: 'List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
                  type: array
                  items:
                    description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
                    type: object
                    required:
                      - name
                    properties:
                      configMap:
                        description: configMap represents a configMap that should populate this volume
                        type: object
                        properties:
                          defaultMode:
                            description: 'defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                            type: integer
                            format: int32
                          items:
                            description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                            type: array
                            items:
                              description: Maps a string key to a path within a volume.
                              type: object
                              required:
                                - key
                                - path
                              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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                  type: integer
                                  format: int32
                                path:
                                  description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                  type: string
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                            type: string
                          optional:
                            description: optional specify whether the ConfigMap or its keys must be defined
                            type: boolean
                        x-kubernetes-map-type: atomic
                      emptyDir:
                        description: This is accessible behind a feature flag - kubernetes.podspec-emptydir
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      name:
                        description: 'name of the volume. Must be a DNS_LABEL and unique within the pod. More 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
                        type: object
                        properties:
                          defaultMode:
                            description: defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
                            type: integer
                            format: int32
                          sources:
                            description: sources is the list of volume projections
                            type: array
                            items:
                              description: Projection that may be projected along with other supported volume types
                              type: object
                              properties:
                                configMap:
                                  description: configMap information about the configMap data to project
                                  type: object
                                  properties:
                                    items:
                                      description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                                      type: array
                                      items:
                                        description: Maps a string key to a path within a volume.
                                        type: object
                                        required:
                                          - key
                                          - path
                                        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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                            type: integer
                                            format: int32
                                          path:
                                            description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                            type: string
                                    name:
                                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                      type: string
                                    optional:
                                      description: optional specify whether the ConfigMap or its keys must be defined
                                      type: boolean
                                  x-kubernetes-map-type: atomic
                                secret:
                                  description: secret information about the secret data to project
                                  type: object
                                  properties:
                                    items:
                                      description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                                      type: array
                                      items:
                                        description: Maps a string key to a path within a volume.
                                        type: object
                                        required:
                                          - key
                                          - path
                                        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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                            type: integer
                                            format: int32
                                          path:
                                            description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                            type: string
                                    name:
                                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                      type: string
                                    optional:
                                      description: optional field specify whether the Secret or its key must be defined
                                      type: boolean
                                  x-kubernetes-map-type: atomic
                                serviceAccountToken:
                                  description: serviceAccountToken is information about the serviceAccountToken data to project
                                  type: object
                                  required:
                                    - path
                                  properties:
                                    audience:
                                      description: audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
                                      type: string
                                    expirationSeconds:
                                      description: expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
                                      type: integer
                                      format: int64
                                    path:
                                      description: path is the path relative to the mount point of the file to project the token into.
                                      type: string
                      secret:
                        description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
                        type: object
                        properties:
                          defaultMode:
                            description: 'defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                            type: integer
                            format: int32
                          items:
                            description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
                            type: array
                            items:
                              description: Maps a string key to a path within a volume.
                              type: object
                              required:
                                - key
                                - path
                              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. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
                                  type: integer
                                  format: int32
                                path:
                                  description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
                                  type: string
                          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. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
                            type: string
            status:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



