Skip to content
Snippets Groups Projects
0thanosrulerCustomResourceDefinition.yaml 406 KiB
Newer Older
                              type: integer
                            service:
                              description: "Service is the name of the service to
                                place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
                                \n If this is not specified, the default behavior
                                is defined by gRPC."
                              type: string
                          required:
                          - port
                          type: object
paulfantom's avatar
paulfantom committed
                        httpGet:
                          description: HTTPGet specifies the http request to perform.
                          properties:
                            host:
                              description: Host name to connect to, defaults to the
                                pod IP. You probably want to set "Host" in httpHeaders
                                instead.
                              type: string
paulfantom's avatar
paulfantom committed
                            httpHeaders:
                              description: Custom headers to set in the request. HTTP
                                allows repeated headers.
paulfantom's avatar
paulfantom committed
                              items:
                                description: HTTPHeader describes a custom header
                                  to be used in HTTP probes
paulfantom's avatar
paulfantom committed
                                properties:
                                  name:
                                    description: The header field name
                                    type: string
                                  value:
                                    description: The header field value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            path:
                              description: Path to access on the HTTP server.
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              description: Name or number of the port to access on
                                the container. Number must be in the range 1 to 65535.
                                Name must be an IANA_SVC_NAME.
paulfantom's avatar
paulfantom committed
                              x-kubernetes-int-or-string: true
                            scheme:
                              description: Scheme to use for connecting to the host.
                                Defaults to HTTP.
paulfantom's avatar
paulfantom committed
                              type: string
                          required:
                          - port
                          type: object
                        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'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        periodSeconds:
                          description: How often (in seconds) to perform the probe.
                            Default to 10 seconds. Minimum value is 1.
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        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.
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        tcpSocket:
                          description: TCPSocket specifies an action involving a TCP
                            port.
paulfantom's avatar
paulfantom committed
                          properties:
                            host:
                              description: 'Optional: Host name to connect to, defaults
                                to the pod IP.'
paulfantom's avatar
paulfantom committed
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              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.
paulfantom's avatar
paulfantom committed
                              x-kubernetes-int-or-string: true
                          required:
                          - port
                          type: object
                        terminationGracePeriodSeconds:
                          description: Optional duration in seconds the pod needs
                            to terminate gracefully upon probe failure. The grace
                            period is the duration in seconds after the processes
                            running in the pod are sent a termination signal and the
                            time when the processes are forcibly halted with a kill
                            signal. Set this value longer than the expected cleanup
                            time for your process. If this value is nil, the pod's
                            terminationGracePeriodSeconds will be used. Otherwise,
                            this value overrides the value provided by the pod spec.
                            Value must be non-negative integer. The value zero indicates
                            stop immediately via the kill signal (no opportunity to
                            shut down). This is a beta field and requires enabling
                            ProbeTerminationGracePeriod feature gate. Minimum value
                            is 1. spec.terminationGracePeriodSeconds is used if unset.
                          format: int64
                          type: integer
paulfantom's avatar
paulfantom committed
                        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'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                      type: object
                    stdin:
                      description: Whether this container should allocate a buffer
                        for stdin in the container runtime. If this is not set, reads
                        from stdin in the container will always result in EOF. Default
                        is false.
paulfantom's avatar
paulfantom committed
                      type: boolean
                    stdinOnce:
                      description: Whether the container runtime should close the
                        stdin channel after it has been opened by a single attach.
                        When stdin is true the stdin stream will remain open across
                        multiple attach sessions. If stdinOnce is set to true, stdin
                        is opened on container start, is empty until the first client
                        attaches to stdin, and then remains open and accepts data
                        until the client disconnects, at which time stdin is closed
                        and remains closed until the container is restarted. If this
                        flag is false, a container processes that reads from stdin
                        will never receive an EOF. Default is false
paulfantom's avatar
paulfantom committed
                      type: boolean
                    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.'
paulfantom's avatar
paulfantom committed
                      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.
paulfantom's avatar
paulfantom committed
                      type: string
                    tty:
                      description: Whether this container should allocate a TTY for
                        itself, also requires 'stdin' to be true. Default is false.
paulfantom's avatar
paulfantom committed
                      type: boolean
                    volumeDevices:
                      description: volumeDevices is the list of block devices to be
                        used by the container.
paulfantom's avatar
paulfantom committed
                      items:
                        description: volumeDevice describes a mapping of a raw block
                          device within a container.
                        properties:
paulfantom's avatar
paulfantom committed
                          devicePath:
                            description: devicePath is the path inside of the container
                              that the device will be mapped to.
                            type: string
paulfantom's avatar
paulfantom committed
                          name:
                            description: name must match the name of a persistentVolumeClaim
                              in the pod
                            type: string
                        required:
paulfantom's avatar
paulfantom committed
                        - devicePath
                        - name
                        type: object
paulfantom's avatar
paulfantom committed
                      type: array
                    volumeMounts:
                      description: Pod volumes to mount into the container's filesystem.
                        Cannot be updated.
paulfantom's avatar
paulfantom committed
                      items:
                        description: VolumeMount describes a mounting of a Volume
                          within a container.
                        properties:
paulfantom's avatar
paulfantom committed
                          mountPath:
                            description: Path within the container at which the volume
                              should be mounted.  Must not contain ':'.
paulfantom's avatar
paulfantom committed
                            type: string
                          mountPropagation:
                            description: mountPropagation determines how mounts are
                              propagated from the host to container and the other
                              way around. When not set, MountPropagationNone is used.
                              This field is beta in 1.10.
paulfantom's avatar
paulfantom committed
                            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.
paulfantom's avatar
paulfantom committed
                            type: boolean
                          subPath:
                            description: Path within the volume from which the container's
                              volume should be mounted. Defaults to "" (volume's root).
paulfantom's avatar
paulfantom committed
                            type: string
                          subPathExpr:
                            description: Expanded path within the volume from which
                              the container's volume should be mounted. Behaves similarly
                              to SubPath but environment variable references $(VAR_NAME)
                              are expanded using the container's environment. Defaults
                              to "" (volume's root). SubPathExpr and SubPath are mutually
                              exclusive.
                            type: string
                        required:
paulfantom's avatar
paulfantom committed
                        - mountPath
                        - name
                        type: object
paulfantom's avatar
paulfantom committed
                      type: array
                    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.
paulfantom's avatar
paulfantom committed
                      type: string
                  required:
                  - name
                  type: object
                type: array
              enforcedNamespaceLabel:
                description: EnforcedNamespaceLabel enforces adding a namespace label
                  of origin for each alert and metric that is user created. The label
                  value will always be the namespace of the object that is being created.
paulfantom's avatar
paulfantom committed
                type: string
              evaluationInterval:
paulfantom's avatar
paulfantom committed
                description: Interval between consecutive evaluations.
                pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
paulfantom's avatar
paulfantom committed
                type: string
              excludedFromEnforcement:
                description: List of references to PrometheusRule objects to be excluded
                  from enforcing a namespace label of origin. Applies only if enforcedNamespaceLabel
                  set to true.
                items:
                  description: ObjectReference references a PodMonitor, ServiceMonitor,
                    Probe or PrometheusRule object.
                  properties:
                    group:
                      default: monitoring.coreos.com
                      description: Group of the referent. When not specified, it defaults
                        to `monitoring.coreos.com`
                      enum:
                      - monitoring.coreos.com
                      type: string
                    name:
                      description: Name of the referent. When not set, all resources
                        are matched.
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                      minLength: 1
                      type: string
                    resource:
                      description: Resource of the referent.
                      enum:
                      - prometheusrules
                      - servicemonitors
                      - podmonitors
                      - probes
                      type: string
                  required:
                  - namespace
                  - resource
                  type: object
                type: array
paulfantom's avatar
paulfantom committed
              externalPrefix:
                description: The external URL the Thanos Ruler instances will be available
                  under. This is necessary to generate correct URLs. This is necessary
                  if Thanos Ruler is not served from root of a DNS name.
paulfantom's avatar
paulfantom committed
                type: string
              grpcServerTlsConfig:
                description: 'GRPCServerTLSConfig configures the gRPC server from
                  which Thanos Querier reads recorded rule data. Note: Currently only
                  the CAFile, CertFile, and KeyFile fields are supported. Maps to
                  the ''--grpc-server-tls-*'' CLI args.'
paulfantom's avatar
paulfantom committed
                properties:
                  ca:
                    description: Certificate authority used when verifying server
                      certificates.
                    properties:
paulfantom's avatar
paulfantom committed
                      configMap:
                        description: ConfigMap containing data to use for the targets.
                        properties:
paulfantom's avatar
paulfantom committed
                          key:
                            description: The key to select.
                            type: string
paulfantom's avatar
paulfantom committed
                          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
paulfantom's avatar
paulfantom committed
                          optional:
                            description: Specify whether the ConfigMap or its key
                              must be defined
paulfantom's avatar
paulfantom committed
                            type: boolean
                        required:
                        - key
                        type: object
                        x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                      secret:
                        description: Secret containing data to use for the targets.
                        properties:
paulfantom's avatar
paulfantom committed
                          key:
                            description: The key of the secret to select from.  Must
                              be a valid secret key.
                            type: string
paulfantom's avatar
paulfantom committed
                          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
paulfantom's avatar
paulfantom committed
                          optional:
                            description: Specify whether the Secret or its key must
                              be defined
paulfantom's avatar
paulfantom committed
                            type: boolean
                        required:
                        - key
                        type: object
                        x-kubernetes-map-type: atomic
                    type: object
paulfantom's avatar
paulfantom committed
                  caFile:
                    description: Path to the CA cert in the Prometheus container to
                      use for the targets.
paulfantom's avatar
paulfantom committed
                    type: string
                  cert:
                    description: Client certificate to present when doing client-authentication.
                    properties:
paulfantom's avatar
paulfantom committed
                      configMap:
                        description: ConfigMap containing data to use for the targets.
                        properties:
paulfantom's avatar
paulfantom committed
                          key:
                            description: The key to select.
                            type: string
paulfantom's avatar
paulfantom committed
                          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
paulfantom's avatar
paulfantom committed
                          optional:
                            description: Specify whether the ConfigMap or its key
                              must be defined
paulfantom's avatar
paulfantom committed
                            type: boolean
paulfantom's avatar
paulfantom committed
                        - key
                        type: object
                        x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                      secret:
                        description: Secret containing data to use for the targets.
                        properties:
paulfantom's avatar
paulfantom committed
                          key:
                            description: The key of the secret to select from.  Must
                              be a valid secret key.
paulfantom's avatar
paulfantom committed
                            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
paulfantom's avatar
paulfantom committed
                          optional:
                            description: Specify whether the Secret or its key must
                              be defined
paulfantom's avatar
paulfantom committed
                            type: boolean
paulfantom's avatar
paulfantom committed
                        - key
                        type: object
                        x-kubernetes-map-type: atomic
                    type: object
paulfantom's avatar
paulfantom committed
                  certFile:
                    description: Path to the client cert file in the Prometheus container
                      for the targets.
                    type: string
paulfantom's avatar
paulfantom committed
                  insecureSkipVerify:
                    description: Disable target certificate validation.
                    type: boolean
paulfantom's avatar
paulfantom committed
                  keyFile:
                    description: Path to the client key file in the Prometheus container
                      for the targets.
paulfantom's avatar
paulfantom committed
                    type: string
                  keySecret:
                    description: Secret containing the client key file for the targets.
                    properties:
                      key:
                        description: The key of the secret to select from.  Must be
                          a valid secret key.
paulfantom's avatar
paulfantom committed
                        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?'
paulfantom's avatar
paulfantom committed
                        type: string
                      optional:
                        description: Specify whether the Secret or its key must be
                          defined
paulfantom's avatar
paulfantom committed
                        type: boolean
                    required:
                    - key
                    type: object
                    x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                  serverName:
                    description: Used to verify the hostname for the targets.
                    type: string
                type: object
              hostAliases:
                description: Pods' hostAliases configuration
                items:
                  description: HostAlias holds the mapping between IP and hostnames
                    that will be injected as an entry in the pod's hosts file.
                  properties:
                    hostnames:
                      description: Hostnames for the above IP address.
                      items:
                        type: string
                      type: array
                    ip:
                      description: IP address of the host file entry.
                      type: string
                  required:
                  - hostnames
                  - ip
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - ip
                x-kubernetes-list-type: map
paulfantom's avatar
paulfantom committed
              image:
                description: Thanos container image URL.
                type: string
              imagePullPolicy:
                description: Image pull policy for the 'thanos', 'init-config-reloader'
                  and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy
                  for more details.
                enum:
                - ""
                - Always
                - Never
                - IfNotPresent
                type: string
paulfantom's avatar
paulfantom committed
              imagePullSecrets:
                description: An optional list of references to secrets in the same
                  namespace to use for pulling thanos images from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
paulfantom's avatar
paulfantom committed
                items:
                  description: LocalObjectReference contains enough information to
                    let you locate the referenced object inside the same namespace.
                  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
                  type: object
                  x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                type: array
              initContainers:
                description: 'InitContainers allows adding initContainers to the pod
                  definition. Those can be used to e.g. fetch secrets for injection
                  into the ThanosRuler configuration from external sources. Any errors
                  during the execution of an initContainer will lead to a restart
                  of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
                  Using initContainers for any use case other then secret fetching
                  is entirely outside the scope of what the maintainers will support
                  and by doing so, you accept that this behaviour may break at any
                  time without notice.'
paulfantom's avatar
paulfantom committed
                items:
                  description: A single application container that you want to run
                    within a pod.
paulfantom's avatar
paulfantom committed
                  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'
paulfantom's avatar
paulfantom committed
                      items:
                        type: string
                      type: array
                    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'
paulfantom's avatar
paulfantom committed
                      items:
                        type: string
                      type: array
                    env:
                      description: List of environment variables to set in the container.
                        Cannot be updated.
paulfantom's avatar
paulfantom committed
                      items:
                        description: EnvVar represents an environment variable present
                          in a Container.
paulfantom's avatar
paulfantom committed
                        properties:
                          name:
                            description: Name of the environment variable. Must be
                              a C_IDENTIFIER.
paulfantom's avatar
paulfantom committed
                            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 "".'
paulfantom's avatar
paulfantom committed
                            type: string
                          valueFrom:
                            description: Source for the environment variable's value.
                              Cannot be used if value is not empty.
paulfantom's avatar
paulfantom committed
                            properties:
                              configMapKeyRef:
                                description: Selects a key of a ConfigMap.
                                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?'
paulfantom's avatar
paulfantom committed
                                    type: string
                                  optional:
                                    description: Specify whether the ConfigMap or
                                      its key must be defined
paulfantom's avatar
paulfantom committed
                                    type: boolean
                                required:
                                - key
                                type: object
                                x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                              fieldRef:
                                description: 'Selects a field of the pod: supports
                                  metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
                                  `metadata.annotations[''<KEY>'']`, spec.nodeName,
                                  spec.serviceAccountName, status.hostIP, status.podIP,
                                  status.podIPs.'
paulfantom's avatar
paulfantom committed
                                properties:
                                  apiVersion:
                                    description: Version of the schema the FieldPath
                                      is written in terms of, defaults to "v1".
paulfantom's avatar
paulfantom committed
                                    type: string
                                  fieldPath:
                                    description: Path of the field to select in the
                                      specified API version.
paulfantom's avatar
paulfantom committed
                                    type: string
                                required:
                                - fieldPath
                                type: object
                                x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                              resourceFieldRef:
                                description: 'Selects a resource of the container:
                                  only resources limits and requests (limits.cpu,
                                  limits.memory, limits.ephemeral-storage, requests.cpu,
                                  requests.memory and requests.ephemeral-storage)
                                  are currently supported.'
paulfantom's avatar
paulfantom committed
                                properties:
                                  containerName:
                                    description: 'Container name: required for volumes,
                                      optional for env vars'
paulfantom's avatar
paulfantom committed
                                    type: string
                                  divisor:
Lili Cosic's avatar
Lili Cosic committed
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: Specifies the output format of the
                                      exposed resources, defaults to "1"
Lili Cosic's avatar
Lili Cosic committed
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
paulfantom's avatar
paulfantom committed
                                  resource:
                                    description: 'Required: resource to select'
                                    type: string
                                required:
                                - resource
                                type: object
                                x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                              secretKeyRef:
                                description: Selects a key of a secret in the pod's
                                  namespace
paulfantom's avatar
paulfantom committed
                                properties:
                                  key:
                                    description: The key of the secret to select from.  Must
                                      be a valid secret key.
paulfantom's avatar
paulfantom committed
                                    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?'
paulfantom's avatar
paulfantom committed
                                    type: string
                                  optional:
                                    description: Specify whether the Secret or its
                                      key must be defined
paulfantom's avatar
paulfantom committed
                                    type: boolean
                                required:
                                - key
                                type: object
                                x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                            type: object
                        required:
                        - name
                        type: object
                      type: array
                    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.
paulfantom's avatar
paulfantom committed
                      items:
                        description: EnvFromSource represents the source of a set
                          of ConfigMaps
paulfantom's avatar
paulfantom committed
                        properties:
                          configMapRef:
                            description: The ConfigMap to select from
                            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?'
paulfantom's avatar
paulfantom committed
                                type: string
                              optional:
                                description: Specify whether the ConfigMap must be
                                  defined
paulfantom's avatar
paulfantom committed
                                type: boolean
                            type: object
                            x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                          prefix:
                            description: An optional identifier to prepend to each
                              key in the ConfigMap. Must be a C_IDENTIFIER.
paulfantom's avatar
paulfantom committed
                            type: string
                          secretRef:
                            description: The Secret to select from
                            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?'
paulfantom's avatar
paulfantom committed
                                type: string
                              optional:
                                description: Specify whether the Secret must be defined
                                type: boolean
                            type: object
                            x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
                        type: object
                      type: array
                    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
paulfantom's avatar
paulfantom committed
                    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
paulfantom's avatar
paulfantom committed
                    lifecycle:
                      description: Actions that the management system should take
                        in response to container lifecycle events. Cannot be updated.
                      properties:
paulfantom's avatar
paulfantom committed
                        postStart:
                          description: 'PostStart is called immediately after a container
                            is created. If the handler fails, the container is terminated
                            and restarted according to its restart policy. Other management
                            of the container blocks until the hook completes. More
                            info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
                          properties:
paulfantom's avatar
paulfantom committed
                            exec:
                              description: Exec specifies the action to take.
paulfantom's avatar
paulfantom committed
                              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.
paulfantom's avatar
paulfantom committed
                                  items:
                                    type: string
                                  type: array
                              type: object
                            httpGet:
                              description: HTTPGet specifies the http request to perform.
                              properties:
paulfantom's avatar
paulfantom committed
                                host:
                                  description: Host name to connect to, defaults to
                                    the pod IP. You probably want to set "Host" in
                                    httpHeaders instead.
paulfantom's avatar
paulfantom committed
                                  type: string
                                httpHeaders:
                                  description: Custom headers to set in the request.
                                    HTTP allows repeated headers.
paulfantom's avatar
paulfantom committed
                                  items:
                                    description: HTTPHeader describes a custom header
                                      to be used in HTTP probes
paulfantom's avatar
paulfantom committed
                                    properties:
                                      name:
                                        description: The header field name
                                        type: string
                                      value:
                                        description: The header field value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  description: Path to access on the HTTP server.
                                  type: string
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  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.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  description: Scheme to use for connecting to the
                                    host. Defaults to HTTP.
                                  type: string
                              required:
paulfantom's avatar
paulfantom committed
                              - port
                              type: object
paulfantom's avatar
paulfantom committed
                            tcpSocket:
                              description: Deprecated. TCPSocket is NOT supported
                                as a LifecycleHandler and kept for the backward compatibility.
                                There are no validation of this field and lifecycle
                                hooks will fail in runtime when tcp handler is specified.
                              properties:
paulfantom's avatar
paulfantom committed
                                host:
                                  description: 'Optional: Host name to connect to,
                                    defaults to the pod IP.'
                                  type: string
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  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.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
paulfantom's avatar
paulfantom committed
                              - port
                              type: object
                          type: object
                        preStop:
                          description: 'PreStop is called immediately before a container
                            is terminated due to an API request or management event
                            such as liveness/startup probe failure, preemption, resource
                            contention, etc. The handler is not called if the container
                            crashes or exits. The Pod''s termination grace period
                            countdown begins before the PreStop hook is executed.
                            Regardless of the outcome of the handler, the container
                            will eventually terminate within the Pod''s termination
                            grace period (unless delayed by finalizers). Other management
                            of the container blocks until the hook completes or until
                            the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
paulfantom's avatar
paulfantom committed
                          properties:
                            exec:
                              description: Exec specifies the action to take.
paulfantom's avatar
paulfantom committed
                              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.
paulfantom's avatar
paulfantom committed
                                  items:
                                    type: string
                                  type: array
                              type: object
paulfantom's avatar
paulfantom committed
                            httpGet:
                              description: HTTPGet specifies the http request to perform.
                              properties:
paulfantom's avatar
paulfantom committed
                                host:
                                  description: Host name to connect to, defaults to
                                    the pod IP. You probably want to set "Host" in
                                    httpHeaders instead.
                                  type: string
paulfantom's avatar
paulfantom committed
                                httpHeaders:
                                  description: Custom headers to set in the request.
                                    HTTP allows repeated headers.
paulfantom's avatar
paulfantom committed
                                  items:
                                    description: HTTPHeader describes a custom header
                                      to be used in HTTP probes
paulfantom's avatar
paulfantom committed
                                    properties:
                                      name:
                                        description: The header field name
                                        type: string
                                      value:
                                        description: The header field value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  description: Path to access on the HTTP server.
                                  type: string
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  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.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  description: Scheme to use for connecting to the
                                    host. Defaults to HTTP.
                                  type: string
                              required:
paulfantom's avatar
paulfantom committed
                              - port
                              type: object
paulfantom's avatar
paulfantom committed
                            tcpSocket:
                              description: Deprecated. TCPSocket is NOT supported
                                as a LifecycleHandler and kept for the backward compatibility.
                                There are no validation of this field and lifecycle
                                hooks will fail in runtime when tcp handler is specified.
                              properties:
paulfantom's avatar
paulfantom committed
                                host:
                                  description: 'Optional: Host name to connect to,
                                    defaults to the pod IP.'
                                  type: string
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  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.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
paulfantom's avatar
paulfantom committed
                              - port
                              type: object
                          type: object
                      type: object
paulfantom's avatar
paulfantom committed
                    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'
                      properties:
paulfantom's avatar
paulfantom committed
                        exec:
                          description: Exec specifies the action to take.
                          properties:
paulfantom's avatar
paulfantom committed
                            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.
paulfantom's avatar
paulfantom committed
                              items:
                                type: string
                              type: array
                          type: object
paulfantom's avatar
paulfantom committed
                        failureThreshold:
                          description: Minimum consecutive failures for the probe
                            to be considered failed after having succeeded. Defaults
                            to 3. Minimum value is 1.
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        grpc:
                          description: GRPC specifies an action involving a GRPC port.
                            This is a beta field and requires enabling GRPCContainerProbe
                            feature gate.
                          properties:
                            port:
                              description: Port number of the gRPC service. Number
                                must be in the range 1 to 65535.
                              format: int32
                              type: integer
                            service:
                              description: "Service is the name of the service to
                                place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
                                \n If this is not specified, the default behavior
                                is defined by gRPC."
                              type: string
                          required:
                          - port
                          type: object
paulfantom's avatar
paulfantom committed
                        httpGet:
                          description: HTTPGet specifies the http request to perform.
                          properties:
paulfantom's avatar
paulfantom committed
                            host:
                              description: Host name to connect to, defaults to the
                                pod IP. You probably want to set "Host" in httpHeaders
                                instead.
paulfantom's avatar
paulfantom committed
                              type: string
                            httpHeaders:
                              description: Custom headers to set in the request. HTTP
                                allows repeated headers.
paulfantom's avatar
paulfantom committed
                              items:
                                description: HTTPHeader describes a custom header
                                  to be used in HTTP probes
paulfantom's avatar
paulfantom committed
                                properties:
                                  name:
                                    description: The header field name
                                    type: string
                                  value:
                                    description: The header field value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            path:
                              description: Path to access on the HTTP server.
                              type: string
paulfantom's avatar
paulfantom committed
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              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.
paulfantom's avatar
paulfantom committed
                              x-kubernetes-int-or-string: true
                            scheme:
                              description: Scheme to use for connecting to the host.
                                Defaults to HTTP.
paulfantom's avatar
paulfantom committed
                              type: string
                          required:
                          - port
                          type: object
paulfantom's avatar
paulfantom committed
                        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'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        periodSeconds:
                          description: How often (in seconds) to perform the probe.
                            Default to 10 seconds. Minimum value is 1.
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        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.
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        tcpSocket:
                          description: TCPSocket specifies an action involving a TCP
                            port.
paulfantom's avatar
paulfantom committed
                          properties:
                            host:
                              description: 'Optional: Host name to connect to, defaults
                                to the pod IP.'
                              type: string
paulfantom's avatar
paulfantom committed
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              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.
paulfantom's avatar
paulfantom committed
                              x-kubernetes-int-or-string: true
                          required:
                          - port
                          type: object
                        terminationGracePeriodSeconds:
                          description: Optional duration in seconds the pod needs
                            to terminate gracefully upon probe failure. The grace
                            period is the duration in seconds after the processes
                            running in the pod are sent a termination signal and the
                            time when the processes are forcibly halted with a kill
                            signal. Set this value longer than the expected cleanup
                            time for your process. If this value is nil, the pod's
                            terminationGracePeriodSeconds will be used. Otherwise,
                            this value overrides the value provided by the pod spec.
                            Value must be non-negative integer. The value zero indicates
                            stop immediately via the kill signal (no opportunity to
                            shut down). This is a beta field and requires enabling