Skip to content
Snippets Groups Projects
0thanosrulerCustomResourceDefinition.yaml 483 KiB
Newer Older
                  Configures the path to the alert relabeling configuration file.

                  Alert relabel configuration must have the form as specified in the
                  official Prometheus documentation:
                  https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs

                  The operator performs no validation of the configuration file.

                  This field takes precedence over `alertRelabelConfig`.
                type: string
              alertRelabelConfigs:
                  Configures alert relabeling in Thanos Ruler.

                  Alert relabel configuration must have the form as specified in the
                  official Prometheus documentation:
                  https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs

                  The operator performs no validation of the configuration.

                  `alertRelabelConfigFile` takes precedence over this field.
                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.
                      This field is effectively required, but due to backwards compatibility is
                      allowed to be empty. Instances of this type with an empty value here are
                      almost certainly wrong.
                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                    type: string
                  optional:
                    description: Specify whether the Secret or its key must be defined
                    type: boolean
                required:
                - key
                type: object
                x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
              alertmanagersConfig:
                  Configures the list of Alertmanager endpoints to send alerts to.

                  The configuration format is defined at https://thanos.io/tip/components/rule.md/#alertmanager.

                  It requires Thanos >= v0.10.0.

                  The operator performs no validation of the configuration.

                  This field takes precedence over `alertmanagersUrl`.
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.
                      This field is effectively required, but due to backwards compatibility is
                      allowed to be empty. Instances of this type with an empty value here are
                      almost certainly wrong.
                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
paulfantom's avatar
paulfantom committed
                    type: string
                  optional:
                    description: Specify whether the Secret or its key must be defined
                    type: boolean
                required:
                - key
                type: object
                x-kubernetes-map-type: atomic
paulfantom's avatar
paulfantom committed
              alertmanagersUrl:
                  Configures the list of Alertmanager endpoints to send alerts to.

                  For Thanos >= v0.10.0, it is recommended to use `alertmanagersConfig` instead.

                  `alertmanagersConfig` takes precedence over this field.
paulfantom's avatar
paulfantom committed
                items:
                  type: string
                type: array
              containers:
                description: |-
                  Containers allows injecting additional containers or modifying operator generated
                  containers. This can be used to allow adding an authentication proxy to a ThanosRuler pod or
                  to change the behavior of an operator generated container. Containers described here modify
                  an operator generated container if they share the same name and modifications are done via a
                  strategic merge patch. The current container names are: `thanos-ruler` and `config-reloader`.
                  Overriding containers 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.
                  properties:
paulfantom's avatar
paulfantom committed
                    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
                      x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                    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
                        type: string
                      type: array
                      x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                    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.
                        properties:
paulfantom's avatar
paulfantom committed
                          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.
                            properties:
paulfantom's avatar
paulfantom committed
                              configMapKeyRef:
                                description: Selects a key of a ConfigMap.
                                properties:
paulfantom's avatar
paulfantom committed
                                  key:
                                    description: The key to select.
                                    type: string
                                  name:
                                    description: |-
                                      Name of the referent.
                                      This field is effectively required, but due to backwards compatibility is
                                      allowed to be empty. Instances of this type with an empty value here are
                                      almost certainly wrong.
                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
                                properties:
paulfantom's avatar
paulfantom committed
                                  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.
                                      This field is effectively required, but due to backwards compatibility is
                                      allowed to be empty. Instances of this type with an empty value here are
                                      almost certainly wrong.
                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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
                            type: object
                        required:
paulfantom's avatar
paulfantom committed
                        - name
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                      - name
                      x-kubernetes-list-type: map
paulfantom's avatar
paulfantom committed
                    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.
                        description: EnvFromSource represents the source of a set of ConfigMaps
                        properties:
paulfantom's avatar
paulfantom committed
                          configMapRef:
                            description: The ConfigMap to select from
                            properties:
paulfantom's avatar
paulfantom committed
                              name:
                                description: |-
                                  Name of the referent.
                                  This field is effectively required, but due to backwards compatibility is
                                  allowed to be empty. Instances of this type with an empty value here are
                                  almost certainly wrong.
                                  More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
                            type: string
paulfantom's avatar
paulfantom committed
                          secretRef:
                            description: The Secret to select from
                            properties:
                              name:
                                description: |-
                                  Name of the referent.
                                  This field is effectively required, but due to backwards compatibility is
                                  allowed to be empty. Instances of this type with an empty value here are
                                  almost certainly wrong.
                                  More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                    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 a command to execute in the container.
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
                                  x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                              type: object
                            httpGet:
                              description: HTTPGet specifies an HTTP GET 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.
                                          This will be canonicalized upon output, so case-variant names will be understood as the same header.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      value:
                                        description: The header field value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                                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
                              description: Sleep represents a duration that the container should sleep.
                              properties:
                                seconds:
                                  description: Seconds is the number of seconds to sleep.
                                  format: int64
                                  type: integer
                              required:
                              - seconds
                              type: object
paulfantom's avatar
paulfantom committed
                            tcpSocket:
                              description: |-
                                Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
                                for backward compatibility. There is no validation of this field and
                                lifecycle hooks will fail at runtime when it 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 a command to execute in the container.
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
                                  x-kubernetes-list-type: atomic
                              type: object
paulfantom's avatar
paulfantom committed
                            httpGet:
                              description: HTTPGet specifies an HTTP GET 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.
                                          This will be canonicalized upon output, so case-variant names will be understood as the same header.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      value:
                                        description: The header field value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                                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
                              description: Sleep represents a duration that the container should sleep.
                              properties:
                                seconds:
                                  description: Seconds is the number of seconds to sleep.
                                  format: int64
                                  type: integer
                              required:
                              - seconds
                              type: object
paulfantom's avatar
paulfantom committed
                            tcpSocket:
                              description: |-
                                Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
                                for backward compatibility. There is no validation of this field and
                                lifecycle hooks will fail at runtime when it 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 a command to execute in the container.
                          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
                              x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                          type: object
                        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
                          description: GRPC specifies a GRPC HealthCheckRequest.
                              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).

                                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 an HTTP GET request to perform.
paulfantom's avatar
paulfantom committed
                          properties:
                            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.
                                      This will be canonicalized upon output, so case-variant names will be understood as the same header.
paulfantom's avatar
paulfantom committed
                                    type: string
                                  value:
                                    description: The header field value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                            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 a connection to a TCP port.
                          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
                          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
paulfantom's avatar
paulfantom committed
                    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.
paulfantom's avatar
paulfantom committed
                      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.
paulfantom's avatar
paulfantom committed
                      items:
                        description: ContainerPort represents a network port in a single container.
                        properties:
paulfantom's avatar
paulfantom committed
                          containerPort:
                            description: |-
                              Number of port to expose on the pod's IP address.
                              This must be a valid port number, 0 < x < 65536.
paulfantom's avatar
paulfantom committed
                            format: int32
                            type: integer
                          hostIP:
                            description: What host IP to bind the external port to.
                            type: string
paulfantom's avatar
paulfantom committed
                          hostPort:
                            description: |-
                              Number of port to expose on the host.
                              If specified, this must be a valid port number, 0 < x < 65536.
                              If HostNetwork is specified, this must match ContainerPort.
                              Most containers do not need this.
paulfantom's avatar
paulfantom committed
                            format: int32
                            type: integer
                          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
paulfantom's avatar
paulfantom committed
                          protocol:
Lili Cosic's avatar
Lili Cosic committed
                            default: TCP
                            description: |-
                              Protocol for port. Must be UDP, TCP, or SCTP.
                              Defaults to "TCP".
                            type: string
                        required:
paulfantom's avatar
paulfantom committed
                        - containerPort
                        type: object
paulfantom's avatar
paulfantom committed
                      type: array
Lili Cosic's avatar
Lili Cosic committed
                      x-kubernetes-list-map-keys:
                      - containerPort
                      - protocol
                      x-kubernetes-list-type: map
paulfantom's avatar
paulfantom committed
                    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
                      properties:
paulfantom's avatar
paulfantom committed
                        exec:
                          description: Exec specifies a command to execute in the container.
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
                              x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                          type: object
                        failureThreshold:
                          description: |-
                            Minimum consecutive failures for the probe to be considered failed after having succeeded.
                            Defaults to 3. Minimum value is 1.
                          format: int32
                          type: integer
                          description: GRPC specifies a GRPC HealthCheckRequest.
                              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).

                                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 an HTTP GET request to perform.
paulfantom's avatar
paulfantom committed
                          properties:
                            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.
                                      This will be canonicalized upon output, so case-variant names will be understood as the same header.
paulfantom's avatar
paulfantom committed
                                    type: string
                                  value:
                                    description: The header field value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                            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
                          format: int32
                          type: integer
paulfantom's avatar
paulfantom committed
                        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 a connection to 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
                    resizePolicy:
                      description: Resources resize policy for the container.
                      items:
                        description: ContainerResizePolicy represents resource resize policy for the container.
                        properties:
                          resourceName:
                            description: |-
                              Name of the resource to which this resource resize policy applies.
                              Supported values: cpu, memory.
                            type: string
                          restartPolicy:
                            description: |-
                              Restart policy to apply when specified resource is resized.
                              If not specified, it defaults to NotRequired.
                            type: string
                        required:
                        - resourceName
                        - restartPolicy
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
paulfantom's avatar
paulfantom committed
                    resources:
                      description: |-
                        Compute Resources required by this container.
                        Cannot be updated.
                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
paulfantom's avatar
paulfantom committed
                      properties:
                          description: |-
                            Claims lists the names of resources, defined in spec.resourceClaims,
                            that are used by this container.

                            This is an alpha field and requires enabling the
                            DynamicResourceAllocation feature gate.

                            This field is immutable. It can only be set for containers.
                          items:
                            description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                            properties:
                              name:
                                description: |-
                                  Name must match the name of one entry in pod.spec.resourceClaims of
                                  the Pod where this field is used. It makes that resource available
                                  inside a container.
                              request:
                                description: |-
                                  Request is the name chosen for a request in the referenced claim.
                                  If empty, everything from the claim is made available, otherwise
                                  only the result of this request.
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - name
                          x-kubernetes-list-type: map
paulfantom's avatar
paulfantom committed
                        limits:
                          additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          description: |-
                            Limits describes the maximum amount of compute resources allowed.
                            More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
paulfantom's avatar
paulfantom committed
                          type: object
                        requests:
                          additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          description: |-
                            Requests describes the minimum amount of compute resources required.
                            If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                            otherwise to an implementation-defined value. Requests cannot exceed Limits.
                            More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
paulfantom's avatar
paulfantom committed
                          type: object
                      type: object
                      description: |-
                        RestartPolicy defines the restart behavior of individual containers in a pod.
                        This field may only be set for init containers, and the only allowed value is "Always".
                        For non-init containers or when this field is not specified,
                        the restart behavior is defined by the Pod's restart policy and the container type.
                        Setting the RestartPolicy as "Always" for the init container will have the following effect:
                        this init container will be continually restarted on
                        exit until all regular containers have terminated. Once all regular
                        containers have completed, all init containers with restartPolicy "Always"
                        will be shut down. This lifecycle differs from normal init containers and
                        is often referred to as a "sidecar" container. Although this init
                        container still starts in the init container sequence, it does not wait
                        for the container to complete before proceeding to the next init
                        container. Instead, the next init container starts immediately after this
                        init container is started, or after any startupProbe has successfully
                        completed.
paulfantom's avatar
paulfantom committed
                    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/
paulfantom's avatar
paulfantom committed
                      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.
paulfantom's avatar
paulfantom committed
                          type: boolean
                        appArmorProfile:
                          description: |-
                            appArmorProfile is the AppArmor options to use by this container. If set, this profile
                            overrides the pod's appArmorProfile.
                            Note that this field cannot be set when spec.os.name is windows.
                          properties:
                            localhostProfile:
                              description: |-
                                localhostProfile indicates a profile loaded on the node that should be used.
                                The profile must be preconfigured on the node to work.