Skip to content
Snippets Groups Projects
prometheus-operator-0prometheusCustomResourceDefinition.yaml 412 KiB
Newer Older
paulfantom's avatar
paulfantom committed
                              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
                            secret:
                              description: Secret containing data to use 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
                          type: object
                        certFile:
                          description: Path to the client cert file in the Prometheus
                            container for the targets.
Frederic Branczyk's avatar
Frederic Branczyk committed
                          type: string
paulfantom's avatar
paulfantom committed
                        insecureSkipVerify:
                          description: Disable target certificate validation.
                          type: boolean
                        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.
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
                        serverName:
                          description: Used to verify the hostname for the targets.
                          type: string
                      type: object
                    url:
                      description: The URL of the endpoint to send samples to.
                      type: string
paulfantom's avatar
paulfantom committed
                  required:
                  - url
                  type: object
                type: array
              remoteWrite:
                description: If specified, the remote_write spec. This is an experimental
                  feature, it may change in any upcoming release in a breaking way.
paulfantom's avatar
paulfantom committed
                items:
                  description: RemoteWriteSpec defines the remote_write configuration
                    for prometheus.
paulfantom's avatar
paulfantom committed
                  properties:
                    authorization:
                      description: Authorization section for remote write
                      properties:
                        credentials:
                          description: The secret's key that contains the credentials
                            of the request
                          properties:
                            key:
                              description: The key of the secret to select from.  Must
                                be a valid secret key.
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                            optional:
                              description: Specify whether the Secret or its key must
                                be defined
                              type: boolean
                          required:
                          - key
                          type: object
                        credentialsFile:
                          description: File to read a secret from, mutually exclusive
                            with Credentials (from SafeAuthorization)
                          type: string
                        type:
                          description: Set the authentication type. Defaults to Bearer,
                            Basic will cause an error
                          type: string
                      type: object
paulfantom's avatar
paulfantom committed
                    basicAuth:
                      description: BasicAuth for the URL.
                      properties:
                        password:
                          description: The secret in the service monitor namespace
                            that contains the password for authentication.
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
                        username:
                          description: The secret in the service monitor namespace
                            that contains the username for authentication.
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
                      type: object
                    bearerToken:
Kristijan Sedlak's avatar
Kristijan Sedlak committed
                      description: Bearer token for remote write.
paulfantom's avatar
paulfantom committed
                      type: string
                    bearerTokenFile:
                      description: File to read bearer token for remote write.
                      type: string
paulfantom's avatar
paulfantom committed
                    headers:
                      additionalProperties:
                        type: string
                      description: Custom HTTP headers to be sent along with each
                        remote write request. Be aware that headers that are set by
                        Prometheus itself can't be overwritten. Only valid in Prometheus
                        versions 2.25.0 and newer.
paulfantom's avatar
paulfantom committed
                      type: object
Kristijan Sedlak's avatar
Kristijan Sedlak committed
                    metadataConfig:
                      description: MetadataConfig configures the sending of series
                        metadata to remote storage.
Kristijan Sedlak's avatar
Kristijan Sedlak committed
                      properties:
                        send:
                          description: Whether metric metadata is sent to remote storage
                            or not.
Kristijan Sedlak's avatar
Kristijan Sedlak committed
                          type: boolean
                        sendInterval:
                          description: How frequently metric metadata is sent to remote
                            storage.
Kristijan Sedlak's avatar
Kristijan Sedlak committed
                          type: string
                      type: object
paulfantom's avatar
paulfantom committed
                    name:
                      description: The name of the remote write queue, must be unique
                        if specified. The name is used in metrics and logging in order
                        to differentiate queues. Only valid in Prometheus versions
                        2.15.0 and newer.
paulfantom's avatar
paulfantom committed
                      type: string
                    oauth2:
                      description: OAuth2 for the URL. Only valid in Prometheus versions
                        2.27.0 and newer.
                      properties:
                        clientId:
                          description: The secret or configmap containing the OAuth2
                            client id
                          properties:
                            configMap:
                              description: ConfigMap containing data to use for the
                                targets.
                              properties:
                                key:
                                  description: The key to select.
                                  type: string
                                name:
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                    TODO: Add other useful fields. apiVersion, kind,
                                    uid?'
                                  type: string
                                optional:
                                  description: Specify whether the ConfigMap or its
                                    key must be defined
                                  type: boolean
                              required:
                              - key
                              type: object
                            secret:
                              description: Secret containing data to use for the targets.
                              properties:
                                key:
                                  description: The key of the secret to select from.  Must
                                    be a valid secret key.
                                  type: string
                                name:
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                    TODO: Add other useful fields. apiVersion, kind,
                                    uid?'
                                  type: string
                                optional:
                                  description: Specify whether the Secret or its key
                                    must be defined
                                  type: boolean
                              required:
                              - key
                              type: object
                          type: object
                        clientSecret:
                          description: The secret containing the OAuth2 client secret
                          properties:
                            key:
                              description: The key of the secret to select from.  Must
                                be a valid secret key.
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                            optional:
                              description: Specify whether the Secret or its key must
                                be defined
                              type: boolean
                          required:
                          - key
                          type: object
                        endpointParams:
                          additionalProperties:
                            type: string
                          description: Parameters to append to the token URL
                          type: object
                        scopes:
                          description: OAuth2 scopes used for the token request
                          items:
                            type: string
                          type: array
                        tokenUrl:
                          description: The URL to fetch the token from
                          minLength: 1
                          type: string
                      required:
                      - clientId
                      - clientSecret
                      - tokenUrl
                      type: object
paulfantom's avatar
paulfantom committed
                    proxyUrl:
                      description: Optional ProxyURL
                      type: string
                    queueConfig:
                      description: QueueConfig allows tuning of the remote write queue
                        parameters.
paulfantom's avatar
paulfantom committed
                      properties:
                        batchSendDeadline:
                          description: BatchSendDeadline is the maximum time a sample
                            will wait in buffer.
paulfantom's avatar
paulfantom committed
                          type: string
                        capacity:
                          description: Capacity is the number of samples to buffer
                            per shard before we start dropping them.
paulfantom's avatar
paulfantom committed
                          type: integer
                        maxBackoff:
                          description: MaxBackoff is the maximum retry delay.
                          type: string
                        maxRetries:
                          description: MaxRetries is the maximum number of times to
                            retry a batch on recoverable errors.
paulfantom's avatar
paulfantom committed
                          type: integer
                        maxSamplesPerSend:
                          description: MaxSamplesPerSend is the maximum number of
                            samples per send.
paulfantom's avatar
paulfantom committed
                          type: integer
                        maxShards:
                          description: MaxShards is the maximum number of shards,
                            i.e. amount of concurrency.
paulfantom's avatar
paulfantom committed
                          type: integer
                        minBackoff:
                          description: MinBackoff is the initial retry delay. Gets
                            doubled for every retry.
paulfantom's avatar
paulfantom committed
                          type: string
                        minShards:
                          description: MinShards is the minimum number of shards,
                            i.e. amount of concurrency.
paulfantom's avatar
paulfantom committed
                          type: integer
                      type: object
                    remoteTimeout:
                      description: Timeout for requests to the remote write endpoint.
                      type: string
                    sendExemplars:
                      description: Enables sending of exemplars over remote write.
                        Note that exemplar-storage itself must be enabled using the
                        enableFeature option for exemplars to be scraped in the first
                        place.  Only valid in Prometheus versions 2.27.0 and newer.
                      type: boolean
                      description: Sigv4 allows to configures AWS's Signature Verification
                        4
                      properties:
                        accessKey:
                          description: AccessKey is the AWS API key. If blank, the
                            environment variable `AWS_ACCESS_KEY_ID` is used.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must
                                be a valid secret key.
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                            optional:
                              description: Specify whether the Secret or its key must
                                be defined
                              type: boolean
                          required:
                          - key
                          type: object
                        profile:
                          description: Profile is the named AWS profile used to authenticate.
                          type: string
                        region:
                          description: Region is the AWS region. If blank, the region
                            from the default credentials chain used.
                          type: string
                        roleArn:
                          description: RoleArn is the named AWS profile used to authenticate.
                          type: string
                        secretKey:
                          description: SecretKey is the AWS API secret. If blank,
                            the environment variable `AWS_SECRET_ACCESS_KEY` is used.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must
                                be a valid secret key.
                              type: string
                            name:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                            optional:
                              description: Specify whether the Secret or its key must
                                be defined
                              type: boolean
                          required:
                          - key
                          type: object
                      type: object
paulfantom's avatar
paulfantom committed
                    tlsConfig:
                      description: TLS Config to use for remote write.
                      properties:
                        ca:
                          description: Struct containing the CA cert to use for the
                            targets.
paulfantom's avatar
paulfantom committed
                          properties:
                            configMap:
                              description: ConfigMap containing data to use for the
                                targets.
paulfantom's avatar
paulfantom committed
                              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
                            secret:
                              description: Secret containing data to use 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
                          type: object
                        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: Struct containing the client cert file for
                            the targets.
paulfantom's avatar
paulfantom committed
                          properties:
                            configMap:
                              description: ConfigMap containing data to use for the
                                targets.
paulfantom's avatar
paulfantom committed
                              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
                            secret:
                              description: Secret containing data to use 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
                          type: object
                        certFile:
                          description: Path to the client cert file in the Prometheus
                            container for the targets.
paulfantom's avatar
paulfantom committed
                          type: string
                        insecureSkipVerify:
                          description: Disable target certificate validation.
                          type: boolean
                        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.
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
                        serverName:
                          description: Used to verify the hostname for the targets.
                          type: string
                      type: object
                    url:
                      description: The URL of the endpoint to send samples to.
                      type: string
                    writeRelabelConfigs:
                      description: The list of remote write relabel configurations.
                      items:
                        description: 'RelabelConfig allows dynamic rewriting of the
                          label set, being applied to samples before ingestion. It
                          defines `<metric_relabel_configs>`-section of Prometheus
                          configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
paulfantom's avatar
paulfantom committed
                        properties:
                          action:
                            description: Action to perform based on regex matching.
                              Default is 'replace'
paulfantom's avatar
paulfantom committed
                            type: string
                          modulus:
                            description: Modulus to take of the hash of the source
                              label values.
paulfantom's avatar
paulfantom committed
                            format: int64
                            type: integer
                          regex:
                            description: Regular expression against which the extracted
                              value is matched. Default is '(.*)'
paulfantom's avatar
paulfantom committed
                            type: string
                          replacement:
                            description: Replacement value against which a regex replace
                              is performed if the regular expression matches. Regex
                              capture groups are available. Default is '$1'
paulfantom's avatar
paulfantom committed
                            type: string
                          separator:
                            description: Separator placed between concatenated source
                              label values. default is ';'.
paulfantom's avatar
paulfantom committed
                            type: string
                          sourceLabels:
                            description: The source labels select values from existing
                              labels. Their content is concatenated using the configured
                              separator and matched against the configured regular
                              expression for the replace, keep, and drop actions.
paulfantom's avatar
paulfantom committed
                            items:
                              type: string
                            type: array
                          targetLabel:
                            description: Label to which the resulting value is written
                              in a replace action. It is mandatory for replace actions.
                              Regex capture groups are available.
paulfantom's avatar
paulfantom committed
                            type: string
                        type: object
                      type: array
                  required:
                  - url
                  type: object
                type: array
              replicaExternalLabelName:
                description: Name of Prometheus external label used to denote replica
                  name. Defaults to the value of `prometheus_replica`. External label
                  will _not_ be added when value is set to empty string (`""`).
paulfantom's avatar
paulfantom committed
                type: string
              replicas:
                description: Number of replicas of each shard to deploy for a Prometheus
                  deployment. Number of replicas multiplied by shards is the total
                  number of Pods created.
paulfantom's avatar
paulfantom committed
                format: int32
                type: integer
              resources:
                description: Define resources requests and limits for single Pods.
                properties:
                  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-compute-resources-container/'
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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              retention:
                description: Time duration Prometheus shall retain data for. Default
                  is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)`
                  (milliseconds seconds minutes hours days weeks years).
paulfantom's avatar
paulfantom committed
                type: string
              retentionSize:
                description: 'Maximum amount of disk space used by blocks. Supported
                  units: B, KB, MB, GB, TB, PB, EB. Ex: `512MB`.'
paulfantom's avatar
paulfantom committed
                type: string
              routePrefix:
                description: The route prefix Prometheus registers HTTP handlers for.
                  This is useful, if using ExternalURL and a proxy is rewriting HTTP
                  routes of a request, and the actual ExternalURL is still true, but
                  the server serves requests under a different route prefix. For example
                  for use with `kubectl proxy`.
paulfantom's avatar
paulfantom committed
                type: string
              ruleNamespaceSelector:
                description: Namespaces to be selected for PrometheusRules discovery.
                  If unspecified, only the same namespace as the Prometheus object
                  is in is used.
paulfantom's avatar
paulfantom committed
                properties:
                  matchExpressions:
                    description: matchExpressions is a list of label selector requirements.
                      The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                    items:
                      description: A label selector requirement is a selector that
                        contains values, a key, and an operator that relates the key
                        and values.
paulfantom's avatar
paulfantom committed
                      properties:
                        key:
                          description: key is the label key that the selector applies
                            to.
paulfantom's avatar
paulfantom committed
                          type: string
                        operator:
                          description: operator represents a key's relationship to
                            a set of values. Valid operators are In, NotIn, Exists
                            and DoesNotExist.
paulfantom's avatar
paulfantom committed
                          type: string
                        values:
                          description: values is an array of string values. If the
                            operator is In or NotIn, the values array must be non-empty.
                            If the operator is Exists or DoesNotExist, the values
                            array must be empty. This array is replaced during a strategic
                            merge patch.
paulfantom's avatar
paulfantom committed
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
                    description: matchLabels is a map of {key,value} pairs. A single
                      {key,value} in the matchLabels map is equivalent to an element
                      of matchExpressions, whose key field is "key", the operator
                      is "In", and the values array contains only "value". The requirements
                      are ANDed.
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              ruleSelector:
                description: A selector to select which PrometheusRules to mount for
                  loading alerting/recording rules from. Until (excluding) Prometheus
                  Operator v0.24.0 Prometheus Operator will migrate any legacy rule
                  ConfigMaps to PrometheusRule custom resources selected by RuleSelector.
                  Make sure it does not match any config maps that you do not want
                  to be migrated.
paulfantom's avatar
paulfantom committed
                properties:
                  matchExpressions:
                    description: matchExpressions is a list of label selector requirements.
                      The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                    items:
                      description: A label selector requirement is a selector that
                        contains values, a key, and an operator that relates the key
                        and values.
paulfantom's avatar
paulfantom committed
                      properties:
                        key:
                          description: key is the label key that the selector applies
                            to.
paulfantom's avatar
paulfantom committed
                          type: string
                        operator:
                          description: operator represents a key's relationship to
                            a set of values. Valid operators are In, NotIn, Exists
                            and DoesNotExist.
paulfantom's avatar
paulfantom committed
                          type: string
                        values:
                          description: values is an array of string values. If the
                            operator is In or NotIn, the values array must be non-empty.
                            If the operator is Exists or DoesNotExist, the values
                            array must be empty. This array is replaced during a strategic
                            merge patch.
paulfantom's avatar
paulfantom committed
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
                    description: matchLabels is a map of {key,value} pairs. A single
                      {key,value} in the matchLabels map is equivalent to an element
                      of matchExpressions, whose key field is "key", the operator
                      is "In", and the values array contains only "value". The requirements
                      are ANDed.
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              rules:
                description: /--rules.*/ command-line arguments.
                properties:
                  alert:
                    description: /--rules.alert.*/ command-line arguments
                    properties:
                      forGracePeriod:
                        description: Minimum duration between alert and restored 'for'
                          state. This is maintained only for alerts with configured
                          'for' time greater than grace period.
paulfantom's avatar
paulfantom committed
                        type: string
                      forOutageTolerance:
                        description: Max time to tolerate prometheus outage for restoring
                          'for' state of alert.
paulfantom's avatar
paulfantom committed
                        type: string
                      resendDelay:
                        description: Minimum amount of time to wait before resending
                          an alert to Alertmanager.
paulfantom's avatar
paulfantom committed
                        type: string
                    type: object
                type: object
              scrapeInterval:
                description: 'Interval between consecutive scrapes. Default: `1m`'
paulfantom's avatar
paulfantom committed
                type: string
              scrapeTimeout:
                description: Number of seconds to wait for target to respond before
                  erroring.
                type: string
paulfantom's avatar
paulfantom committed
              secrets:
                description: Secrets is a list of Secrets in the same namespace as
                  the Prometheus object, which shall be mounted into the Prometheus
                  Pods. The Secrets are mounted into /etc/prometheus/secrets/<secret-name>.
paulfantom's avatar
paulfantom committed
                items:
                  type: string
                type: array
              securityContext:
                description: SecurityContext holds pod-level security attributes and
                  common container settings. This defaults to the default PodSecurityContext.
paulfantom's avatar
paulfantom committed
                properties:
                  fsGroup:
                    description: "A special supplemental group that applies to all
                      containers in a pod. Some volume types allow the Kubelet to
                      change the ownership of that volume to be owned by the pod:
                      \n 1. The owning GID will be the FSGroup 2. The setgid bit is
                      set (new files created in the volume will be owned by FSGroup)
                      3. The permission bits are OR'd with rw-rw---- \n If unset,
                      the Kubelet will not modify the ownership and permissions of
                      any volume."
paulfantom's avatar
paulfantom committed
                    format: int64
                    type: integer
                  fsGroupChangePolicy:
                    description: 'fsGroupChangePolicy defines behavior of changing
                      ownership and permission of the volume before being exposed
                      inside Pod. This field will only apply to volume types which
                      support fsGroup based ownership(and permissions). It will have
                      no effect on ephemeral volume types such as: secret, configmaps
                      and emptydir. Valid values are "OnRootMismatch" and "Always".
                      If not specified defaults to "Always".'
paulfantom's avatar
paulfantom committed
                    type: string
                  runAsGroup:
                    description: The GID to run the entrypoint of the container process.
                      Uses runtime default if unset. May also be set in SecurityContext.  If
                      set in both SecurityContext and PodSecurityContext, the value
                      specified in SecurityContext takes precedence for that container.
paulfantom's avatar
paulfantom committed
                    format: int64
                    type: integer
                  runAsNonRoot:
                    description: Indicates that the container must run as a non-root
                      user. If true, the Kubelet will validate the image at runtime
                      to ensure that it does not run as UID 0 (root) and fail to start
                      the container if it does. If unset or false, no such validation
                      will be performed. May also be set in SecurityContext.  If set
                      in both SecurityContext and PodSecurityContext, the value specified
                      in SecurityContext takes precedence.
paulfantom's avatar
paulfantom committed
                    type: boolean
                  runAsUser:
                    description: The UID to run the entrypoint of the container process.
                      Defaults to user specified in image metadata if unspecified.
                      May also be set in SecurityContext.  If set in both SecurityContext
                      and PodSecurityContext, the value specified in SecurityContext
                      takes precedence for that container.
paulfantom's avatar
paulfantom committed
                    format: int64
                    type: integer
                  seLinuxOptions:
                    description: The SELinux context to be applied to all containers.
                      If unspecified, the container runtime will allocate a random
                      SELinux context for each container.  May also be set in SecurityContext.  If
                      set in both SecurityContext and PodSecurityContext, the value
                      specified in SecurityContext takes precedence for that container.
paulfantom's avatar
paulfantom committed
                    properties:
                      level:
                        description: Level is SELinux level label that applies to
                          the container.
paulfantom's avatar
paulfantom committed
                        type: string
                      role:
                        description: Role is a SELinux role label that applies to
                          the container.
paulfantom's avatar
paulfantom committed
                        type: string
                      type:
                        description: Type is a SELinux type label that applies to
                          the container.
paulfantom's avatar
paulfantom committed
                        type: string
                      user:
                        description: User is a SELinux user label that applies to
                          the container.
paulfantom's avatar
paulfantom committed
                        type: string
                    type: object
                  supplementalGroups:
                    description: A list of groups applied to the first process run
                      in each container, in addition to the container's primary GID.  If
                      unspecified, no groups will be added to any container.
paulfantom's avatar
paulfantom committed
                    items:
                      format: int64
                      type: integer
                    type: array
                  sysctls:
                    description: Sysctls hold a list of namespaced sysctls used for
                      the pod. Pods with unsupported sysctls (by the container runtime)
                      might fail to launch.
paulfantom's avatar
paulfantom committed
                    items:
                      description: Sysctl defines a kernel parameter to be set
                      properties:
                        name:
                          description: Name of a property to set
                          type: string
                        value:
                          description: Value of a property to set
                          type: string
                      required:
                      - name
                      - value
                      type: object
                    type: array
                  windowsOptions:
                    description: The Windows specific settings applied to all containers.
                      If unspecified, the options within a container's SecurityContext
                      will be used. If set in both SecurityContext and PodSecurityContext,
                      the value specified in SecurityContext takes precedence.
paulfantom's avatar
paulfantom committed
                    properties:
                      gmsaCredentialSpec:
                        description: GMSACredentialSpec is where the GMSA admission
                          webhook (https://github.com/kubernetes-sigs/windows-gmsa)
                          inlines the contents of the GMSA credential spec named by
                          the GMSACredentialSpecName field.
paulfantom's avatar
paulfantom committed
                        type: string
                      gmsaCredentialSpecName:
                        description: GMSACredentialSpecName is the name of the GMSA
                          credential spec to use.
paulfantom's avatar
paulfantom committed
                        type: string
                      runAsUserName:
                        description: The UserName in Windows to run the entrypoint
                          of the container process. Defaults to the user specified
                          in image metadata if unspecified. May also be set in PodSecurityContext.
                          If set in both SecurityContext and PodSecurityContext, the
                          value specified in SecurityContext takes precedence.
paulfantom's avatar
paulfantom committed
                        type: string
                    type: object
                type: object
              serviceAccountName:
                description: ServiceAccountName is the name of the ServiceAccount
                  to use to run the Prometheus Pods.
paulfantom's avatar
paulfantom committed
                type: string
              serviceMonitorNamespaceSelector:
                description: Namespace's labels to match for ServiceMonitor discovery.
                  If nil, only check own namespace.
paulfantom's avatar
paulfantom committed
                properties:
                  matchExpressions:
                    description: matchExpressions is a list of label selector requirements.
                      The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                    items:
                      description: A label selector requirement is a selector that
                        contains values, a key, and an operator that relates the key
                        and values.
paulfantom's avatar
paulfantom committed
                      properties:
                        key:
                          description: key is the label key that the selector applies
                            to.
paulfantom's avatar
paulfantom committed
                          type: string
                        operator:
                          description: operator represents a key's relationship to
                            a set of values. Valid operators are In, NotIn, Exists
                            and DoesNotExist.
paulfantom's avatar
paulfantom committed
                          type: string
                        values:
                          description: values is an array of string values. If the
                            operator is In or NotIn, the values array must be non-empty.
                            If the operator is Exists or DoesNotExist, the values
                            array must be empty. This array is replaced during a strategic
                            merge patch.
paulfantom's avatar
paulfantom committed
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
                    description: matchLabels is a map of {key,value} pairs. A single
                      {key,value} in the matchLabels map is equivalent to an element
                      of matchExpressions, whose key field is "key", the operator
                      is "In", and the values array contains only "value". The requirements
                      are ANDed.
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              serviceMonitorSelector:
                description: ServiceMonitors to be selected for target discovery.
                  *Deprecated:* if neither this nor podMonitorSelector are specified,
                  configuration is unmanaged.
paulfantom's avatar
paulfantom committed
                properties:
                  matchExpressions:
                    description: matchExpressions is a list of label selector requirements.
                      The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                    items:
                      description: A label selector requirement is a selector that
                        contains values, a key, and an operator that relates the key
                        and values.
paulfantom's avatar
paulfantom committed
                      properties:
                        key:
                          description: key is the label key that the selector applies
                            to.
paulfantom's avatar
paulfantom committed
                          type: string
                        operator:
                          description: operator represents a key's relationship to
                            a set of values. Valid operators are In, NotIn, Exists
                            and DoesNotExist.
paulfantom's avatar
paulfantom committed
                          type: string
                        values:
                          description: values is an array of string values. If the
                            operator is In or NotIn, the values array must be non-empty.
                            If the operator is Exists or DoesNotExist, the values
                            array must be empty. This array is replaced during a strategic
                            merge patch.
paulfantom's avatar
paulfantom committed
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
                    description: matchLabels is a map of {key,value} pairs. A single
                      {key,value} in the matchLabels map is equivalent to an element
                      of matchExpressions, whose key field is "key", the operator
                      is "In", and the values array contains only "value". The requirements
                      are ANDed.
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              sha:
                description: 'SHA of Prometheus container image to be deployed. Defaults
                  to the value of `version`. Similar to a tag, but the SHA explicitly
                  deploys an immutable container image. Version and Tag are ignored
                  if SHA is set. Deprecated: use ''image'' instead.  The image digest
                  can be specified as part of the image URL.'
paulfantom's avatar
paulfantom committed
                type: string
Lili Cosic's avatar
Lili Cosic committed
              shards:
                description: 'EXPERIMENTAL: Number of shards to distribute targets
                  onto. Number of replicas multiplied by shards is the total number
                  of Pods created. Note that scaling down shards will not reshard
                  data onto remaining instances, it must be manually moved. Increasing
                  shards will not reshard data either but it will continue to be available
                  from the same instances. To query globally use Thanos sidecar and
                  Thanos querier or remote write data to a central location. Sharding
                  is done on the content of the `__address__` target meta-label.'
Lili Cosic's avatar
Lili Cosic committed
                format: int32
                type: integer
paulfantom's avatar
paulfantom committed
              storage:
                description: Storage spec to specify how storage shall be used.
                properties:
                  disableMountSubPath:
                    description: 'Deprecated: subPath usage will be disabled by default
                      in a future release, this option will become unnecessary. DisableMountSubPath
                      allows to remove any subPath usage in volume mounts.'
paulfantom's avatar
paulfantom committed
                    type: boolean
                  emptyDir:
                    description: 'EmptyDirVolumeSource to be used by the Prometheus
                      StatefulSets. If specified, used in place of any volumeClaimTemplate.
                      More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
paulfantom's avatar
paulfantom committed
                    properties:
                      medium:
                        description: 'What type of storage medium should back this
                          directory. The default is "" which means to use the node''s
                          default medium. Must be an empty string (default) or Memory.
                          More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
paulfantom's avatar
paulfantom committed
                        type: string
                      sizeLimit:
Lili Cosic's avatar
Lili Cosic committed
                        anyOf:
                        - type: integer
                        - type: string
                        description: 'Total amount of local storage required for this
                          EmptyDir volume. The size limit is also applicable for memory
                          medium. The maximum usage on memory medium EmptyDir would
                          be the minimum value between the SizeLimit specified here