Skip to content
Snippets Groups Projects
prometheus-operator-0prometheusCustomResourceDefinition.yaml 314 KiB
Newer Older
                          controller.
                        type: boolean
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
                        type: string
                      uid:
                        description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
                        type: string
                    required:
                    - apiVersion
                    - kind
                    - name
                    - uid
                    type: object
                  type: array
                resourceVersion:
                  description: |-
                    An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

                    Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
                  type: string
                selfLink:
                  description: |-
                    SelfLink is a URL representing this object. Populated by the system. Read-only.

                    DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.
                  type: string
                uid:
                  description: |-
                    UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

                    Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
                  type: string
Frederic Branczyk's avatar
Frederic Branczyk committed
            podMonitorNamespaceSelector:
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
Frederic Branczyk's avatar
Frederic Branczyk committed
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                    type: object
                  type: array
                matchLabels:
                  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.
                  type: object
              type: object
            podMonitorSelector:
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
Frederic Branczyk's avatar
Frederic Branczyk committed
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                    type: object
                  type: array
                matchLabels:
                  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.
                  type: object
              type: object
Lili Cosic's avatar
Lili Cosic committed
            portName:
              description: Port name used for the pods and governing service. This
                defaults to web
              type: string
            priorityClassName:
              description: Priority class assigned to the Pods
              type: string
            prometheusExternalLabelName:
              description: Name of Prometheus external label used to denote Prometheus
                instance name. Defaults to the value of `prometheus`. External label
                will _not_ be added when value is set to empty string (`""`).
              type: string
            query:
              description: QuerySpec defines the query command line flags when starting
                Prometheus.
              properties:
                lookbackDelta:
                  description: The delta difference allowed for retrieving metrics
                    during expression evaluations.
                  type: string
                maxConcurrency:
                  description: Number of concurrent queries that can be run at once.
                  format: int32
                  type: integer
                maxSamples:
                  description: Maximum number of samples a single query can load into
                    memory. Note that queries will fail if they would load more samples
                    than this into memory, so this also limits the number of samples
                    a query can return.
                  format: int32
                  type: integer
                timeout:
                  description: Maximum time a query may take before being aborted.
                  type: string
            remoteRead:
              description: If specified, the remote_read spec. This is an experimental
                feature, it may change in any upcoming release in a breaking way.
              items:
                description: RemoteReadSpec defines the remote_read configuration
                  for prometheus.
                properties:
                  basicAuth:
                    description: 'BasicAuth allow an endpoint to authenticate over
                      basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
                        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:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            description: Specify whether the Secret or its key must
                              be defined
                            type: boolean
                        required:
                        - key
                        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:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            description: Specify whether the Secret or its key must
                              be defined
                            type: boolean
                        required:
                        - key
                        type: object
                    type: object
                  bearerToken:
                    description: bearer token for remote read.
                    type: string
                  bearerTokenFile:
                    description: File to read bearer token for remote read.
                    type: string
                  proxyUrl:
                    description: Optional ProxyURL
                    type: string
                  readRecent:
                    description: Whether reads should be made for queries for time
                      ranges that the local storage should have complete data for.
                    type: boolean
                  remoteTimeout:
                    description: Timeout for requests to the remote read endpoint.
                    type: string
                  requiredMatchers:
                    description: An optional list of equality matchers which have
                      to be present in a selector to query the remote read endpoint.
                    type: object
                  tlsConfig:
                    description: TLSConfig specifies TLS configuration parameters.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: Path to the CA cert in the Prometheus container
                          to use for the targets.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: Path to the client cert file in the Prometheus
                          container for the targets.
                        type: string
                      insecureSkipVerify:
                        description: Disable target certificate validation.
                        type: boolean
                      keyFile:
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: Path to the client key file in the Prometheus
                          container for the targets.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                      keySecret:
                        description: SecretKeySelector selects a key of a Secret.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        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'
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                            type: string
                          optional:
                            description: Specify whether the Secret or its key must
                              be defined
                            type: boolean
                        required:
                        - key
                        type: object
                      serverName:
                        description: Used to verify the hostname for the targets.
                        type: string
                  url:
                    description: The URL of the endpoint to send samples to.
                    type: string
                required:
                - url
              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.
              items:
                description: RemoteWriteSpec defines the remote_write configuration
                  for prometheus.
                properties:
                  basicAuth:
                    description: 'BasicAuth allow an endpoint to authenticate over
                      basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
                        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:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            description: Specify whether the Secret or its key must
                              be defined
                            type: boolean
                        required:
                        - key
                        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:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            description: Specify whether the Secret or its key must
                              be defined
                            type: boolean
                        required:
                        - key
                        type: object
                    type: object
                  bearerToken:
                    description: File to read bearer token for remote write.
                    type: string
                  bearerTokenFile:
                    description: File to read bearer token for remote write.
                    type: string
                  proxyUrl:
                    description: Optional ProxyURL
                    type: string
                    description: QueueConfig allows the tuning of remote_write queue_config
                      parameters. This object is referenced in the RemoteWriteSpec
                      object.
                    properties:
                      batchSendDeadline:
                        description: BatchSendDeadline is the maximum time a sample
                          will wait in buffer.
                        type: string
                      capacity:
                        description: Capacity is the number of samples to buffer per
                          shard before we start dropping them.
                        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.
                        type: integer
                      maxSamplesPerSend:
                        description: MaxSamplesPerSend is the maximum number of samples
                          per send.
                        type: integer
                      maxShards:
                        description: MaxShards is the maximum number of shards, i.e.
                          amount of concurrency.
                        type: integer
                      minBackoff:
                        description: MinBackoff is the initial retry delay. Gets doubled
                          for every retry.
                        type: string
                      minShards:
                        description: MinShards is the minimum number of shards, i.e.
                          amount of concurrency.
                  remoteTimeout:
                    description: Timeout for requests to the remote write endpoint.
                    type: string
                  tlsConfig:
                    description: TLSConfig specifies TLS configuration parameters.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: Path to the CA cert in the Prometheus container
                          to use for the targets.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: Path to the client cert file in the Prometheus
                          container for the targets.
                        type: string
                      insecureSkipVerify:
                        description: Disable target certificate validation.
                        type: boolean
                      keyFile:
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: Path to the client key file in the Prometheus
                          container for the targets.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                      keySecret:
                        description: SecretKeySelector selects a key of a Secret.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        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'
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                            type: string
                          optional:
                            description: Specify whether the Secret or its key must
                              be defined
                            type: boolean
                        required:
                        - key
                        type: object
                      serverName:
                        description: Used to verify the hostname for the targets.
                        type: string
                  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'
                      properties:
                        action:
                          description: Action to perform based on regex matching.
                            Default is 'replace'
                          type: string
                        modulus:
                          description: Modulus to take of the hash of the source label
                            values.
                          format: int64
                          type: integer
                        regex:
                          description: Regular expression against which the extracted
                            value is matched. defailt is '(.*)'
                          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'
                          type: string
                        separator:
                          description: Separator placed between concatenated source
                            label values. default is ';'.
                          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.
                          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.
                          type: string
            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 (`""`).
            replicas:
              description: Number of instances to deploy for a Prometheus deployment.
              format: int32
              type: integer
            resources:
              description: ResourceRequirements describes the compute resource requirements.
              properties:
                limits:
                  description: 'Limits describes the maximum amount of compute resources
                    allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                  type: object
                requests:
                  description: 'Requests describes the minimum amount of compute resources
                    required. If Requests is omitted for a container, it defaults
                    to Limits if that is explicitly specified, otherwise to an implementation-defined
                    value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                  type: object
              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).
Frederic Branczyk's avatar
Frederic Branczyk committed
            retentionSize:
              description: Maximum amount of disk space used by blocks.
              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`.
              type: string
            ruleNamespaceSelector:
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                  type: array
                matchLabels:
                  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.
                  type: object
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                  type: array
                matchLabels:
                  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.
                  type: object
              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.
                      type: string
                    forOutageTolerance:
                      description: Max time to tolerate prometheus outage for restoring
                        'for' state of alert.
                      type: string
                    resendDelay:
                      description: Minimum amount of time to wait before resending
                        an alert to Alertmanager.
                      type: string
                  type: object
              type: object
            scrapeInterval:
              description: Interval between consecutive scrapes.
              type: string
            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>.
              items:
                type: string
              type: array
            securityContext:
              description: PodSecurityContext holds pod-level security attributes
                and common container settings. Some fields are also present in container.securityContext.  Field
                values of container.securityContext take precedence over field values
                of PodSecurityContext.
                  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:

                    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----

                    If unset, the Kubelet will not modify the ownership and permissions of any volume.
                  format: int64
                  type: integer
                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.
                  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.
                  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.
                  format: int64
                  type: integer
                seLinuxOptions:
                  description: SELinuxOptions are the labels to be applied to the
                    container
                  properties:
                    level:
                      description: Level is SELinux level label that applies to the
                        container.
                      type: string
                    role:
                      description: Role is a SELinux role label that applies to the
                        container.
                      type: string
                    type:
                      description: Type is a SELinux type label that applies to the
                        container.
                      type: string
                    user:
                      description: User is a SELinux user label that applies to the
                        container.
                      type: string
                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.
                  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.
                  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
Lili Cosic's avatar
Lili Cosic committed
                windowsOptions:
                  description: WindowsSecurityContextOptions contain Windows-specific
                    options and credentials.
Lili Cosic's avatar
Lili Cosic 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. This field is alpha-level
                        and is only honored by servers that enable the WindowsGMSA
                        feature flag.
                      type: string
                    gmsaCredentialSpecName:
                      description: GMSACredentialSpecName is the name of the GMSA
                        credential spec to use. This field is alpha-level and is only
                        honored by servers that enable the WindowsGMSA feature flag.
                      type: string
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                    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. This
                        field is alpha-level and it is only honored by servers that
                        enable the WindowsRunAsUserName feature flag.
                      type: string
Lili Cosic's avatar
Lili Cosic committed
                  type: object
            serviceAccountName:
              description: ServiceAccountName is the name of the ServiceAccount to
                use to run the Prometheus Pods.
              type: string
            serviceMonitorNamespaceSelector:
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                  type: array
                matchLabels:
                  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.
                  type: object
            serviceMonitorSelector:
              description: A label selector is a label query over a set of resources.
                The result of matchLabels and matchExpressions are ANDed. An empty
                label selector matches all objects. A null label selector matches
                no objects.
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                  type: array
                matchLabels:
                  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.
                  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.
              type: string
              description: StorageSpec defines the configured storage for a group
                Prometheus servers. If neither `emptyDir` nor `volumeClaimTemplate`
                is specified, then by default an [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir)
                will be used.
                  description: Represents an empty directory for a pod. Empty directory
                    volumes support ownership management and SELinux relabeling.
                  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'
                      type: string
                volumeClaimTemplate:
                  description: PersistentVolumeClaim is a user's request for and claim
                    to a persistent volume
                  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
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                      type: string
                    kind:
                      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.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      description: ObjectMeta is metadata that all persisted resources
                        must have, which includes all objects users must create.
                      properties:
                        annotations:
                          description: 'Annotations is an unstructured key value map
                            stored with a resource that may be set by external tools
                            to store and retrieve arbitrary metadata. They are not
                            queryable and should be preserved when modifying objects.
                            More info: http://kubernetes.io/docs/user-guide/annotations'
                          type: object
                        clusterName:
                          description: The name of the cluster which the object belongs
                            to. This is used to distinguish resources with same name
                            and namespace in different clusters. This field is not
                            set anywhere right now and apiserver is going to ignore
                            it if set in create or update request.
                          type: string
                        creationTimestamp:
                          description: Time is a wrapper around time.Time which supports
                            correct marshaling to YAML and JSON.  Wrappers are provided
                            for many of the factory methods that the time package
                            offers.
                          format: date-time
                          type: string
                        deletionGracePeriodSeconds:
                          description: Number of seconds allowed for this object to
                            gracefully terminate before it will be removed from the
                            system. Only set when deletionTimestamp is also set. May
                            only be shortened. Read-only.
                          format: int64
                          type: integer
                        deletionTimestamp:
                          description: Time is a wrapper around time.Time which supports
                            correct marshaling to YAML and JSON.  Wrappers are provided
                            for many of the factory methods that the time package
                            offers.
                          format: date-time
                          type: string
                        finalizers:
                          description: Must be empty before the object is deleted
                            from the registry. Each entry is an identifier for the
                            responsible component that will remove the entry from
                            the list. If the deletionTimestamp of the object is non-nil,
                            entries in this list can only be removed.
                          items:
                            type: string
                          type: array
                        generateName:
                          description: |-
                            GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

                            If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).

                            Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
                          type: string
                        generation:
                          description: A sequence number representing a specific generation
                            of the desired state. Populated by the system. Read-only.
                          format: int64
                          type: integer
                        labels:
                          description: 'Map of string keys and values that can be
                            used to organize and categorize (scope and select) objects.
                            May match selectors of replication controllers and services.
                            More info: http://kubernetes.io/docs/user-guide/labels'
                          type: object
                        managedFields:
                          description: ManagedFields maps workflow-id and version
                            to the set of fields that are managed by that workflow.
                            This is mostly for internal housekeeping, and users typically
                            shouldn't need to set or understand this field. A workflow
                            can be the user's name, a controller's name, or the name
                            of a specific apply path like "ci-cd". The set of fields
                            is always in the version that the workflow used when modifying
                            the object.
                          items:
                            description: ManagedFieldsEntry is a workflow-id, a FieldSet
                              and the group version of the resource that the fieldset
                              applies to.
                            properties:
                              apiVersion:
                                description: APIVersion defines the version of this
                                  resource that this field set applies to. The format
                                  is "group/version" just like the top-level APIVersion
                                  field. It is necessary to track the version of a
                                  field set because it cannot be automatically converted.
                                type: string
                              fieldsType:
                                description: 'FieldsType is the discriminator for
                                  the different fields format and version. There is
                                  currently only one possible value: "FieldsV1"'
                                type: string
                              fieldsV1:
                                description: |-
                                  FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.

                                  Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.

                                  The exact format is defined in sigs.k8s.io/structured-merge-diff
                                type: object
                              manager:
                                description: Manager is an identifier of the workflow
                                  managing these fields.
                                type: string
                              operation:
                                description: Operation is the type of operation which
                                  lead to this ManagedFieldsEntry being created. The
                                  only valid values for this field are 'Apply' and
                                  'Update'.
                                type: string
                              time:
                                description: Time is a wrapper around time.Time which
                                  supports correct marshaling to YAML and JSON.  Wrappers
                                  are provided for many of the factory methods that
                                  the time package offers.
                                format: date-time
                                type: string
                            type: object
                          type: array
                        name:
                          description: 'Name must be unique within a namespace. Is
                            required when creating resources, although some resources
                            may allow a client to request the generation of an appropriate
                            name automatically. Name is primarily intended for creation
                            idempotence and configuration definition. Cannot be updated.
                            More info: http://kubernetes.io/docs/user-guide/identifiers#names'
                          type: string
                        namespace:
                          description: |-
                            Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.