Skip to content
Snippets Groups Projects
0scrapeconfigCustomResourceDefinition.yaml 637 KiB
Newer Older
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
    operator.prometheus.io/version: 0.80.1
  name: scrapeconfigs.monitoring.coreos.com
spec:
  group: monitoring.coreos.com
  names:
    categories:
    - prometheus-operator
    kind: ScrapeConfig
    listKind: ScrapeConfigList
    plural: scrapeconfigs
    shortNames:
    - scfg
    singular: scrapeconfig
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: |-
          ScrapeConfig defines a namespaced Prometheus scrape_config to be aggregated across
          multiple namespaces into the Prometheus configuration.
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: ScrapeConfigSpec is a specification of the desired configuration for a scrape configuration.
            properties:
              authorization:
                description: Authorization header to use on every scrape request.
                properties:
                  credentials:
                    description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
                    properties:
                      key:
                        description: The key of the secret to select from.  Must be a valid secret key.
                        type: string
                      name:
                        default: ""
                        description: |-
                          Name of the referent.
                          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
                  type:
                    description: |-
                      Defines the authentication type. The value is case-insensitive.

                      "Basic" is not a supported value.

                      Default: "Bearer"
                    type: string
                type: object
              azureSDConfigs:
                description: AzureSDConfigs defines a list of Azure service discovery configurations.
                items:
                  description: |-
                    AzureSDConfig allow retrieving scrape targets from Azure VMs.
                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#azure_sd_config
                  properties:
                    authenticationMethod:
                      description: |-
                        # The authentication method, either `OAuth` or `ManagedIdentity` or `SDK`.
                        See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview
                        SDK authentication method uses environment variables by default.
                        See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
                      enum:
                      - OAuth
                      - ManagedIdentity
                      - SDK
                      type: string
                    authorization:
                      description: |-
                        Authorization header configuration to authenticate against the target HTTP endpoint.
                        Cannot be set at the same time as `oAuth2`, or `basicAuth`.
                      properties:
                        credentials:
                          description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must be a valid secret key.
                              type: string
                            name:
                              default: ""
                              description: |-
                                Name of the referent.
                                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
                        type:
                          description: |-
                            Defines the authentication type. The value is case-insensitive.

                            "Basic" is not a supported value.

                            Default: "Bearer"
                          type: string
                      type: object
                    basicAuth:
                      description: |-
                        BasicAuth information to authenticate against the target HTTP endpoint.
                        More info: https://prometheus.io/docs/operating/configuration/#endpoints
                        Cannot be set at the same time as `authorization`, or `oAuth2`.
                      properties:
                        password:
                          description: |-
                            `password` specifies a key of a Secret containing the password for
                            authentication.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must be a valid secret key.
                              type: string
                            name:
                              default: ""
                              description: |-
                                Name of the referent.
                                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
                        username:
                          description: |-
                            `username` specifies a key of a Secret containing the username for
                            authentication.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must be a valid secret key.
                              type: string
                            name:
                              default: ""
                              description: |-
                                Name of the referent.
                                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
                      type: object
                    clientID:
                      description: Optional client ID. Only required with the OAuth authentication method.
                      type: string
                    clientSecret:
                      description: Optional client secret. Only required with the OAuth authentication method.
                      properties:
                        key:
                          description: The key of the secret to select from.  Must be a valid secret key.
                          type: string
                        name:
                          default: ""
                          description: |-
                            Name of the referent.
                            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
                    enableHTTP2:
                      description: Whether to enable HTTP2.
                      type: boolean
                    environment:
                      description: The Azure environment.
                      minLength: 1
                      type: string
                    followRedirects:
                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
                      type: boolean
                    noProxy:
                      description: |-
                        `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
                        that should be excluded from proxying. IP and domain names can
                        contain port numbers.

                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                      type: string
                    oauth2:
                      description: |-
                        Optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.
                        Cannot be set at the same time as `authorization`, or `basicAuth`.
                      properties:
                        clientId:
                          description: |-
                            `clientId` specifies a key of a Secret or ConfigMap containing the
                            OAuth2 client's ID.
                          properties:
                            configMap:
                              description: ConfigMap containing data to use for the targets.
                              properties:
                                key:
                                  description: The key to select.
                                  type: string
                                name:
                                  default: ""
                                  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 ConfigMap or its key must be defined
                                  type: boolean
                              required:
                              - key
                              type: object
                              x-kubernetes-map-type: atomic
                            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:
                                  default: ""
                                  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
                          type: object
                        clientSecret:
                          description: |-
                            `clientSecret` specifies a key of a Secret containing the OAuth2
                            client's secret.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must be a valid secret key.
                              type: string
                            name:
                              default: ""
                              description: |-
                                Name of the referent.
                                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
                        endpointParams:
                          additionalProperties:
                            type: string
                          description: |-
                            `endpointParams` configures the HTTP parameters to append to the token
                            URL.
                          type: object
                        noProxy:
                          description: |-
                            `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
                            that should be excluded from proxying. IP and domain names can
                            contain port numbers.

                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                          type: string
                        proxyConnectHeader:
                          additionalProperties:
                            items:
                              description: SecretKeySelector selects a key of a Secret.
                              properties:
                                key:
                                  description: The key of the secret to select from.  Must be a valid secret key.
                                  type: string
                                name:
                                  default: ""
                                  description: |-
                                    Name of the referent.
                                    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
                            type: array
                          description: |-
                            ProxyConnectHeader optionally specifies headers to send to
                            proxies during CONNECT requests.

                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                          type: object
                          x-kubernetes-map-type: atomic
                        proxyFromEnvironment:
                          description: |-
                            Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).

                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                          type: boolean
                        proxyUrl:
                          description: '`proxyURL` defines the HTTP proxy server to use.'
                          pattern: ^http(s)?://.+$
                          type: string
                        scopes:
                          description: '`scopes` defines the OAuth2 scopes used for the token request.'
                          items:
                            type: string
                          type: array
                        tlsConfig:
                          description: |-
                            TLS configuration to use when connecting to the OAuth2 server.
                            It requires Prometheus >= v2.43.0.
                          properties:
                            ca:
                              description: Certificate authority used when verifying server certificates.
                              properties:
                                configMap:
                                  description: ConfigMap containing data to use for the targets.
                                  properties:
                                    key:
                                      description: The key to select.
                                      type: string
                                    name:
                                      default: ""
                                      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 ConfigMap or its key must be defined
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                  x-kubernetes-map-type: atomic
                                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:
                                      default: ""
                                      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
                              type: object
                            cert:
                              description: Client certificate to present when doing client-authentication.
                              properties:
                                configMap:
                                  description: ConfigMap containing data to use for the targets.
                                  properties:
                                    key:
                                      description: The key to select.
                                      type: string
                                    name:
                                      default: ""
                                      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 ConfigMap or its key must be defined
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                  x-kubernetes-map-type: atomic
                                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:
                                      default: ""
                                      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
                              type: object
                            insecureSkipVerify:
                              description: Disable target certificate validation.
                              type: boolean
                            keySecret:
                              description: Secret containing the client key file for the targets.
                              properties:
                                key:
                                  description: The key of the secret to select from.  Must be a valid secret key.
                                  type: string
                                name:
                                  default: ""
                                  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
                            maxVersion:
                              description: |-
                                Maximum acceptable TLS version.

                                It requires Prometheus >= v2.41.0.
                              enum:
                              - TLS10
                              - TLS11
                              - TLS12
                              - TLS13
                              type: string
                            minVersion:
                              description: |-
                                Minimum acceptable TLS version.

                                It requires Prometheus >= v2.35.0.
                              enum:
                              - TLS10
                              - TLS11
                              - TLS12
                              - TLS13
                              type: string
                            serverName:
                              description: Used to verify the hostname for the targets.
                              type: string
                          type: object
                        tokenUrl:
                          description: '`tokenURL` configures the URL to fetch the token from.'
                          minLength: 1
                          type: string
                      - clientId
                      - clientSecret
                      - tokenUrl
                      type: object
                    port:
                      description: |-
                        The port to scrape metrics from. If using the public IP address, this must
                        instead be specified in the relabeling rule.
                      format: int32
                      maximum: 65535
                      minimum: 0
                    proxyConnectHeader:
                      additionalProperties:
                        items:
                          description: SecretKeySelector selects a key of a Secret.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must be a valid secret key.
                              type: string
                            name:
                              default: ""
                              description: |-
                                Name of the referent.
                                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
                        type: array
                      description: |-
                        ProxyConnectHeader optionally specifies headers to send to
                        proxies during CONNECT requests.

                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                      type: object
                      x-kubernetes-map-type: atomic
                    proxyFromEnvironment:
                      description: |-
                        Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).

                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                      type: boolean
                    proxyUrl:
                      description: '`proxyURL` defines the HTTP proxy server to use.'
                      pattern: ^http(s)?://.+$
                      type: string
                    refreshInterval:
                      description: RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list.
                      pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
                      type: string
                    resourceGroup:
                      description: |-
                        Optional resource group name. Limits discovery to this resource group.
                        Requires  Prometheus v2.35.0 and above
                      minLength: 1
                      type: string
                    subscriptionID:
                      description: The subscription ID. Always required.
                      minLength: 1
                      type: string
                    tenantID:
                      description: Optional tenant ID. Only required with the OAuth authentication method.
                    tlsConfig:
                      description: TLS configuration applying to the target HTTP endpoint.
                      properties:
                        ca:
                          description: Certificate authority used when verifying server certificates.
                          properties:
                            configMap:
                              description: ConfigMap containing data to use for the targets.
                              properties:
                                key:
                                  description: The key to select.
                                  type: string
                                name:
                                  default: ""
                                  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 ConfigMap or its key must be defined
                                  type: boolean
                              required:
                              - key
                              type: object
                              x-kubernetes-map-type: atomic
                            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:
                                  default: ""
                                  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
                          type: object
                        cert:
                          description: Client certificate to present when doing client-authentication.
                          properties:
                            configMap:
                              description: ConfigMap containing data to use for the targets.
                              properties:
                                key:
                                  description: The key to select.
                                  type: string
                                name:
                                  default: ""
                                  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 ConfigMap or its key must be defined
                                  type: boolean
                              required:
                              - key
                              type: object
                              x-kubernetes-map-type: atomic
                            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:
                                  default: ""
                                  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
                          type: object
                        insecureSkipVerify:
                          description: Disable target certificate validation.
                          type: boolean
                        keySecret:
                          description: Secret containing the client key file for the targets.
                          properties:
                            key:
                              description: The key of the secret to select from.  Must be a valid secret key.
                              type: string
                            name:
                              default: ""
                              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
                        maxVersion:
                          description: |-
                            Maximum acceptable TLS version.

                            It requires Prometheus >= v2.41.0.
                          enum:
                          - TLS10
                          - TLS11
                          - TLS12
                          - TLS13
                          type: string
                        minVersion:
                          description: |-
                            Minimum acceptable TLS version.

                            It requires Prometheus >= v2.35.0.
                          enum:
                          - TLS10
                          - TLS11
                          - TLS12
                          - TLS13
                          type: string
                        serverName:
                          description: Used to verify the hostname for the targets.
                          type: string
                      type: object
                  required:
                  - subscriptionID
                  type: object
                type: array
              basicAuth:
                description: BasicAuth information to use on every scrape request.
                properties:
                  password:
                    description: |-
                      `password` specifies a key of a Secret containing the password for
                      authentication.
                    properties:
                      key:
                        description: The key of the secret to select from.  Must be a valid secret key.
                        type: string
                      name:
                        default: ""
                        description: |-
                          Name of the referent.
                          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
                  username:
                    description: |-
                      `username` specifies a key of a Secret containing the username for
                      authentication.
                    properties:
                      key:
                        description: The key of the secret to select from.  Must be a valid secret key.
                        type: string
                      name:
                        default: ""
                        description: |-
                          Name of the referent.
                          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
                type: object
              consulSDConfigs:
                description: ConsulSDConfigs defines a list of Consul service discovery configurations.
                items:
                  description: |-
                    ConsulSDConfig defines a Consul service discovery configuration
                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config
                  properties:
                    allowStale:
                      description: |-
                        Allow stale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul.
                        If unset, Prometheus uses its default value.
                      type: boolean
                    authorization:
                      description: |-
                        Optional Authorization header configuration to authenticate against the Consul Server.
                        Cannot be set at the same time as `basicAuth`, or `oauth2`.
                      properties:
                        credentials:
                          description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
                          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
                        type:
                          description: |-
                            Defines the authentication type. The value is case-insensitive.

                            "Basic" is not a supported value.

                            Default: "Bearer"
                          type: string
                      type: object
                    basicAuth:
                        Optional BasicAuth information to authenticate against the Consul Server.
                        More info: https://prometheus.io/docs/operating/configuration/#endpoints
                        Cannot be set at the same time as `authorization`, or `oauth2`.
                      properties:
                        password:
                          description: |-
                            `password` specifies a key of a Secret containing the password for
                            authentication.
                          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
                        username:
                          description: |-
                            `username` specifies a key of a Secret containing the username for
                            authentication.
                          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
                      type: object
                    datacenter:
                      description: Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter.
                      description: |-
                        Whether to enable HTTP2.
                        If unset, Prometheus uses its default value.
                    filter:
                      description: |-
                        Filter expression used to filter the catalog results.
                        See https://www.consul.io/api-docs/catalog#list-services
                        It requires Prometheus >= 3.0.0.
                      minLength: 1
                      type: string
                      description: |-
                        Configure whether HTTP requests follow HTTP 3xx redirects.
                        If unset, Prometheus uses its default value.
                      type: boolean
                    namespace:
                      description: |-
                        Namespaces are only supported in Consul Enterprise.

                        It requires Prometheus >= 2.28.0.
                      minLength: 1
                      type: string
                    noProxy:
                      description: |-
                        `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
                        that should be excluded from proxying. IP and domain names can
                        contain port numbers.

                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
                    nodeMeta:
                      additionalProperties:
                        type: string
                      description: |-
                        Node metadata key/value pairs to filter nodes for a given service.
                        Starting with Consul 1.14, it is recommended to use `filter` with the `NodeMeta` selector instead.
                      type: object
                      x-kubernetes-map-type: atomic
                      description: |-
                        Optional OAuth2.0 configuration.
                        Cannot be set at the same time as `basicAuth`, or `authorization`.
                      properties:
                        clientId:
                          description: |-
                            `clientId` specifies a key of a Secret or ConfigMap containing the
                            OAuth2 client's 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.
                                    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 ConfigMap or its key must be defined
                                  type: boolean
                              required:
                              - key
                              type: object
                              x-kubernetes-map-type: atomic
                            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.
                                    This field is effectively required, but due to backwards compatibility is