diff --git a/bitnami/prometheus-operator/Chart.yaml b/bitnami/prometheus-operator/Chart.yaml index f33a794a65..14e9744b88 100644 --- a/bitnami/prometheus-operator/Chart.yaml +++ b/bitnami/prometheus-operator/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: 0.41.0 description: The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances. name: prometheus-operator -version: 0.28.1 +version: 0.29.0 keywords: - prometheus - alertmanager diff --git a/bitnami/prometheus-operator/crds/crd-probes.yaml b/bitnami/prometheus-operator/crds/crd-probes.yaml new file mode 100644 index 0000000000..47d871ace2 --- /dev/null +++ b/bitnami/prometheus-operator/crds/crd-probes.yaml @@ -0,0 +1,212 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + creationTimestamp: null + name: probes.monitoring.coreos.com +spec: + group: monitoring.coreos.com + names: + kind: Probe + listKind: ProbeList + plural: probes + singular: probe + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + description: Probe defines monitoring for a set of static targets or ingresses. + 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' + 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. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Specification of desired Ingress selection for target discovery + by Prometheus. + properties: + interval: + description: Interval at which targets are probed using the configured + prober. If not specified Prometheus' global scrape interval is used. + type: string + jobName: + description: The job name assigned to scraped metrics by default. + type: string + module: + description: 'The module to use for probing specifying how to probe + the target. Example module configuring in the blackbox exporter: + https://github.com/prometheus/blackbox_exporter/blob/master/example.yml' + type: string + prober: + description: Specification for the prober to use for probing targets. + The prober.URL parameter is required. Targets cannot be probed if + left empty. + properties: + path: + description: Path to collect metrics from. Defaults to `/probe`. + type: string + scheme: + description: HTTP scheme to use for scraping. Defaults to `http`. + type: string + url: + description: Mandatory URL of the prober. + type: string + required: + - url + type: object + scrapeTimeout: + description: Timeout for scraping metrics from the Prometheus exporter. + type: string + targets: + description: Targets defines a set of static and/or dynamically discovered + targets to be probed using the prober. + properties: + ingress: + description: Ingress defines the set of dynamically discovered + ingress objects which hosts are considered for probing. + properties: + namespaceSelector: + description: Select Ingress objects by namespace. + properties: + any: + description: Boolean describing whether all namespaces + are selected in contrast to a list restricting them. + type: boolean + matchNames: + description: List of namespace names. + items: + type: string + type: array + type: object + relabelingConfigs: + description: 'RelabelConfigs to apply to samples before ingestion. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + items: + description: 'RelabelConfig allows dynamic rewriting of + the label set, being applied to samples before ingestion. + It defines ``-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. Default 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 + type: object + type: array + selector: + description: Select Ingress objects by labels. + 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: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + type: object + staticConfig: + description: 'StaticConfig defines static targets which are considers + for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.' + properties: + labels: + additionalProperties: + type: string + description: Labels assigned to all metrics scraped from the + targets. + type: object + static: + description: Targets is a list of URLs to probe using the + configured prober. + items: + type: string + type: array + type: object + type: object + type: object + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/bitnami/prometheus-operator/crds/crd-prometheus.yaml b/bitnami/prometheus-operator/crds/crd-prometheus.yaml index a1109ae175..2232f339f0 100644 --- a/bitnami/prometheus-operator/crds/crd-prometheus.yaml +++ b/bitnami/prometheus-operator/crds/crd-prometheus.yaml @@ -1071,6 +1071,93 @@ spec: baseImage: description: Base image to use for a Prometheus deployment. type: string + probeNamespaceSelector: + description: '*Experimental* Namespaces to be selected for Probe + discovery. If nil, only check own namespace.' + 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: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + probeSelector: + description: '*Experimental* Probes to be selected for target discovery.' + 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: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object configMaps: description: ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus @@ -1869,15 +1956,11 @@ spec: 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. + by the GMSACredentialSpecName field. 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. + GMSA credential spec to use. type: string runAsUserName: description: The UserName in Windows to run the entrypoint @@ -1885,8 +1968,7 @@ spec: 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 beta-level and may be - disabled with the WindowsRunAsUserName feature flag. + takes precedence. type: string type: object type: object @@ -1898,7 +1980,7 @@ spec: be used to provide different probe parameters at the beginning of a Pod''s lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This - cannot be updated. This is an alpha feature enabled by the StartupProbe + cannot be updated. This is a beta feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' properties: exec: @@ -2053,7 +2135,7 @@ spec: type: boolean volumeDevices: description: volumeDevices is the list of block devices to be - used by the container. This is a beta feature. + used by the container. items: description: volumeDevice describes a mapping of a raw block device within a container. @@ -2967,15 +3049,11 @@ spec: 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. + by the GMSACredentialSpecName field. 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. + GMSA credential spec to use. type: string runAsUserName: description: The UserName in Windows to run the entrypoint @@ -2983,8 +3061,7 @@ spec: 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 beta-level and may be - disabled with the WindowsRunAsUserName feature flag. + takes precedence. type: string type: object type: object @@ -2996,7 +3073,7 @@ spec: be used to provide different probe parameters at the beginning of a Pod''s lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This - cannot be updated. This is an alpha feature enabled by the StartupProbe + cannot be updated. This is a beta feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' properties: exec: @@ -3151,7 +3228,7 @@ spec: type: boolean volumeDevices: description: volumeDevices is the list of block devices to be - used by the container. This is a beta feature. + used by the container. items: description: volumeDevice describes a mapping of a raw block device within a container. @@ -3267,6 +3344,13 @@ spec: selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' type: object + 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 type: object podMonitorNamespaceSelector: description: Namespaces to be selected for PodMonitor discovery. If @@ -3313,7 +3397,9 @@ spec: type: object type: object podMonitorSelector: - description: '*Experimental* PodMonitors to be selected for target discovery.' + description: '*Experimental* PodMonitors to be selected for target discovery. + *Deprecated:* if neither this nor serviceMonitorSelector are specified, + configuration is unmanaged.' properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -3390,6 +3476,15 @@ spec: description: Maximum time a query may take before being aborted. type: string type: object + queryLogFile: + description: QueryLogFile specifies the file to which PromQL queries + are logged. Note that this location must be writable, and can be persisted + using an attached volume. Alternatively, the location can be set to + a stdout location such as `/dev/stdout` to log querie information + to the default Prometheus log stream. This is only available in versions + of Prometheus >= 2.16.0. For more details, see the Prometheus docs + (https://prometheus.io/docs/guides/query-log/) + 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. @@ -3445,6 +3540,12 @@ spec: bearerTokenFile: description: File to read bearer token for remote read. type: string + name: + description: The name of the remote read queue, must be unique + if specified. The name is used in metrics and logging in order + to differentiate read configurations. Only valid in Prometheus + versions 2.15.0 and newer. + type: string proxyUrl: description: Optional ProxyURL type: string @@ -3649,6 +3750,12 @@ spec: bearerTokenFile: description: File to read bearer token for remote write. type: string + name: + description: The name of the remote write queue, must be unique + if specified. The name is used in metrics and logging in order + to differentiate queues. Only valid in Prometheus versions 2.15.0 + and newer. + type: string proxyUrl: description: Optional ProxyURL type: string @@ -3958,11 +4065,11 @@ spec: type: object ruleSelector: description: A selector to select which PrometheusRules to mount for - loading alerting rules from. Until (excluding) Prometheus Operator - v0.24.0 Prometheus Operator will migrate any legacy rule ConfigMaps - to PrometheusRule custom resources selected by RuleSelector. Make - sure it does not match any config maps that you do not want to be - migrated. + loading alerting/recording rules from. Until (excluding) Prometheus + Operator v0.24.0 Prometheus Operator will migrate any legacy rule + ConfigMaps to PrometheusRule custom resources selected by RuleSelector. + Make sure it does not match any config maps that you do not want to + be migrated. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -4049,6 +4156,15 @@ spec: ownership and permissions of any volume." format: int64 type: integer + fsGroupChangePolicy: + description: 'fsGroupChangePolicy defines behavior of changing ownership + and permission of the volume before being exposed inside Pod. + This field will only apply to volume types which support fsGroup + based ownership(and permissions). It will have no effect on ephemeral + volume types such as: secret, configmaps and emptydir. Valid values + are "OnRootMismatch" and "Always". If not specified defaults to + "Always".' + type: string runAsGroup: description: The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If @@ -4133,23 +4249,18 @@ spec: 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. + the GMSACredentialSpecName field. 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. + credential spec to use. type: string runAsUserName: description: The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. This - field is beta-level and may be disabled with the WindowsRunAsUserName - feature flag. + value specified in SecurityContext takes precedence. type: string type: object type: object @@ -4202,7 +4313,9 @@ spec: type: object type: object serviceMonitorSelector: - description: ServiceMonitors to be selected for target discovery. + description: ServiceMonitors to be selected for target discovery. *Deprecated:* + if neither this nor podMonitorSelector are specified, configuration + is unmanaged. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -4253,6 +4366,11 @@ spec: storage: description: Storage spec to specify how storage shall be used. properties: + disableMountSubPath: + description: 'Deprecated: subPath usage will be disabled by default + in a future release, this option will become unnecessary. DisableMountSubPath + allows to remove any subPath usage in volume mounts.' + type: boolean emptyDir: description: 'EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. @@ -4289,7 +4407,34 @@ spec: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: EmbeddedMetadata contains metadata relevant to + an EmbeddedResource. + properties: + annotations: + additionalProperties: + type: string + 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 + labels: + additionalProperties: + type: string + 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 + 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 type: object spec: description: 'Spec defines the desired characteristics of a @@ -4302,16 +4447,20 @@ spec: type: string type: array dataSource: - description: This field requires the VolumeSnapshotDataSource - alpha feature gate to be enabled and currently VolumeSnapshot - is the only supported data source. If the provisioner - can support VolumeSnapshot data source, it will create - a new volume and data will be restored to the volume at - the same time. If the provisioner does not support VolumeSnapshot - data source, volume will not be created and the failure - will be reported as an event. In the future, we plan to - support more data source types and the behavior of the - provisioner may change. + description: 'This field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot + - Beta) * An existing PVC (PersistentVolumeClaim) * An + existing custom resource/object that implements data population + (Alpha) In order to use VolumeSnapshot object types, the + appropriate feature gate must be enabled (VolumeSnapshotDataSource + or AnyVolumeDataSource) If the provisioner or an external + controller can support the specified data source, it will + create a new volume based on the contents of the specified + data source. If the specified data source is not supported, + the volume will not be created and the failure will be + reported as an event. In the future, we plan to support + more data source types and the behavior of the provisioner + may change.' properties: apiGroup: description: APIGroup is the group for the resource @@ -4402,7 +4551,7 @@ spec: volumeMode: description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not - included in claim spec. This is a beta feature. + included in claim spec. type: string volumeName: description: VolumeName is the binding reference to the @@ -4616,6 +4765,12 @@ spec: description: ListenLocal makes the Thanos sidecar listen on loopback, so that it does not bind against the Pod IP. type: boolean + logFormat: + description: LogFormat for Thanos sidecar to be configured with. + type: string + logLevel: + description: LogLevel for Thanos sidecar to be configured with. + type: string objectStorageConfig: description: ObjectStorageConfig configures object storage in Thanos. properties: diff --git a/bitnami/prometheus-operator/templates/prometheus-operator/clusterrole.yaml b/bitnami/prometheus-operator/templates/prometheus-operator/clusterrole.yaml index 47e0a099ab..beffdf9d32 100644 --- a/bitnami/prometheus-operator/templates/prometheus-operator/clusterrole.yaml +++ b/bitnami/prometheus-operator/templates/prometheus-operator/clusterrole.yaml @@ -20,6 +20,7 @@ rules: - prometheusrules.monitoring.coreos.com - servicemonitors.monitoring.coreos.com - thanosrulers.monitoring.coreos.com + - probes.monitoring.coreos.com resources: - customresourcedefinitions verbs: @@ -36,6 +37,7 @@ rules: - thanosrulers/finalizers - servicemonitors - podmonitors + - probes - prometheusrules verbs: - '*' diff --git a/bitnami/prometheus-operator/templates/prometheus-operator/crd-probes.yaml b/bitnami/prometheus-operator/templates/prometheus-operator/crd-probes.yaml new file mode 100644 index 0000000000..9fa89e480b --- /dev/null +++ b/bitnami/prometheus-operator/templates/prometheus-operator/crd-probes.yaml @@ -0,0 +1,217 @@ +{{- if and .Values.operator.enabled .Values.operator.createCustomResource -}} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: probes.monitoring.coreos.com + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + "helm.sh/hook": crd-install + {{- if .Values.operator.customResourceDeletePolicy }} + "helm.sh/hook-delete-policy": {{ .Values.operator.customResourceDeletePolicy }} + {{- end }} +spec: + group: monitoring.coreos.com + names: + kind: Probe + listKind: ProbeList + plural: probes + singular: probe + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + description: Probe defines monitoring for a set of static targets or ingresses. + 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' + 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. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Specification of desired Ingress selection for target discovery + by Prometheus. + properties: + interval: + description: Interval at which targets are probed using the configured + prober. If not specified Prometheus' global scrape interval is used. + type: string + jobName: + description: The job name assigned to scraped metrics by default. + type: string + module: + description: 'The module to use for probing specifying how to probe + the target. Example module configuring in the blackbox exporter: + https://github.com/prometheus/blackbox_exporter/blob/master/example.yml' + type: string + prober: + description: Specification for the prober to use for probing targets. + The prober.URL parameter is required. Targets cannot be probed if + left empty. + properties: + path: + description: Path to collect metrics from. Defaults to `/probe`. + type: string + scheme: + description: HTTP scheme to use for scraping. Defaults to `http`. + type: string + url: + description: Mandatory URL of the prober. + type: string + required: + - url + type: object + scrapeTimeout: + description: Timeout for scraping metrics from the Prometheus exporter. + type: string + targets: + description: Targets defines a set of static and/or dynamically discovered + targets to be probed using the prober. + properties: + ingress: + description: Ingress defines the set of dynamically discovered + ingress objects which hosts are considered for probing. + properties: + namespaceSelector: + description: Select Ingress objects by namespace. + properties: + any: + description: Boolean describing whether all namespaces + are selected in contrast to a list restricting them. + type: boolean + matchNames: + description: List of namespace names. + items: + type: string + type: array + type: object + relabelingConfigs: + description: 'RelabelConfigs to apply to samples before ingestion. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + items: + description: 'RelabelConfig allows dynamic rewriting of + the label set, being applied to samples before ingestion. + It defines ``-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. Default 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 + type: object + type: array + selector: + description: Select Ingress objects by labels. + 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: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + type: object + staticConfig: + description: 'StaticConfig defines static targets which are considers + for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.' + properties: + labels: + additionalProperties: + type: string + description: Labels assigned to all metrics scraped from the + targets. + type: object + static: + description: Targets is a list of URLs to probe using the + configured prober. + items: + type: string + type: array + type: object + type: object + type: object + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +{{- end }} diff --git a/bitnami/prometheus-operator/templates/prometheus-operator/crd-prometheus.yaml b/bitnami/prometheus-operator/templates/prometheus-operator/crd-prometheus.yaml index 51f5c6409e..8002d42139 100644 --- a/bitnami/prometheus-operator/templates/prometheus-operator/crd-prometheus.yaml +++ b/bitnami/prometheus-operator/templates/prometheus-operator/crd-prometheus.yaml @@ -1055,6 +1055,93 @@ spec: baseImage: description: Base image to use for a Prometheus deployment. type: string + probeNamespaceSelector: + description: '*Experimental* Namespaces to be selected for Probe + discovery. If nil, only check own namespace.' + 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: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + probeSelector: + description: '*Experimental* Probes to be selected for target discovery.' + 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: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object configMaps: description: ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus @@ -1325,7 +1412,8 @@ spec: type: object tcpSocket: description: 'TCPSocket specifies an action involving - a TCP port. TCP hooks not yet supported' + a TCP port. TCP hooks not yet supported TODO: implement + a realistic TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -1420,7 +1508,8 @@ spec: type: object tcpSocket: description: 'TCPSocket specifies an action involving - a TCP port. TCP hooks not yet supported' + a TCP port. TCP hooks not yet supported TODO: implement + a realistic TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -1530,7 +1619,8 @@ spec: type: integer tcpSocket: description: 'TCPSocket specifies an action involving a TCP - port. TCP hooks not yet supported' + port. TCP hooks not yet supported TODO: implement a realistic + TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -1691,7 +1781,8 @@ spec: type: integer tcpSocket: description: 'TCPSocket specifies an action involving a TCP - port. TCP hooks not yet supported' + port. TCP hooks not yet supported TODO: implement a realistic + TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -1843,15 +1934,11 @@ spec: 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. + by the GMSACredentialSpecName field. 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. + GMSA credential spec to use. type: string runAsUserName: description: The UserName in Windows to run the entrypoint @@ -1859,8 +1946,7 @@ spec: 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 beta-level and may be - disabled with the WindowsRunAsUserName feature flag. + takes precedence. type: string type: object type: object @@ -1872,7 +1958,7 @@ spec: be used to provide different probe parameters at the beginning of a Pod''s lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This - cannot be updated. This is an alpha feature enabled by the StartupProbe + cannot be updated. This is a beta feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' properties: exec: @@ -1961,7 +2047,8 @@ spec: type: integer tcpSocket: description: 'TCPSocket specifies an action involving a TCP - port. TCP hooks not yet supported' + port. TCP hooks not yet supported TODO: implement a realistic + TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -2026,7 +2113,7 @@ spec: type: boolean volumeDevices: description: volumeDevices is the list of block devices to be - used by the container. This is a beta feature. + used by the container. items: description: volumeDevice describes a mapping of a raw block device within a container. @@ -2411,7 +2498,8 @@ spec: type: object tcpSocket: description: 'TCPSocket specifies an action involving - a TCP port. TCP hooks not yet supported' + a TCP port. TCP hooks not yet supported TODO: implement + a realistic TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -2506,7 +2594,8 @@ spec: type: object tcpSocket: description: 'TCPSocket specifies an action involving - a TCP port. TCP hooks not yet supported' + a TCP port. TCP hooks not yet supported TODO: implement + a realistic TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -2616,7 +2705,8 @@ spec: type: integer tcpSocket: description: 'TCPSocket specifies an action involving a TCP - port. TCP hooks not yet supported' + port. TCP hooks not yet supported TODO: implement a realistic + TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -2777,7 +2867,8 @@ spec: type: integer tcpSocket: description: 'TCPSocket specifies an action involving a TCP - port. TCP hooks not yet supported' + port. TCP hooks not yet supported TODO: implement a realistic + TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -2929,15 +3020,11 @@ spec: 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. + by the GMSACredentialSpecName field. 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. + GMSA credential spec to use. type: string runAsUserName: description: The UserName in Windows to run the entrypoint @@ -2945,8 +3032,7 @@ spec: 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 beta-level and may be - disabled with the WindowsRunAsUserName feature flag. + takes precedence. type: string type: object type: object @@ -2958,7 +3044,7 @@ spec: be used to provide different probe parameters at the beginning of a Pod''s lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This - cannot be updated. This is an alpha feature enabled by the StartupProbe + cannot be updated. This is a beta feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' properties: exec: @@ -3047,7 +3133,8 @@ spec: type: integer tcpSocket: description: 'TCPSocket specifies an action involving a TCP - port. TCP hooks not yet supported' + port. TCP hooks not yet supported TODO: implement a realistic + TCP lifecycle hook' properties: host: description: 'Optional: Host name to connect to, defaults @@ -3112,7 +3199,7 @@ spec: type: boolean volumeDevices: description: volumeDevices is the list of block devices to be - used by the container. This is a beta feature. + used by the container. items: description: volumeDevice describes a mapping of a raw block device within a container. @@ -3228,6 +3315,13 @@ spec: selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' type: object + 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 type: object podMonitorNamespaceSelector: description: Namespaces to be selected for PodMonitor discovery. If @@ -3274,7 +3368,9 @@ spec: type: object type: object podMonitorSelector: - description: '*Experimental* PodMonitors to be selected for target discovery.' + description: '*Experimental* PodMonitors to be selected for target discovery. + *Deprecated:* if neither this nor serviceMonitorSelector are specified, + configuration is unmanaged.' properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -3351,6 +3447,15 @@ spec: description: Maximum time a query may take before being aborted. type: string type: object + queryLogFile: + description: QueryLogFile specifies the file to which PromQL queries + are logged. Note that this location must be writable, and can be persisted + using an attached volume. Alternatively, the location can be set to + a stdout location such as `/dev/stdout` to log querie information + to the default Prometheus log stream. This is only available in versions + of Prometheus >= 2.16.0. For more details, see the Prometheus docs + (https://prometheus.io/docs/guides/query-log/) + 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. @@ -3404,6 +3509,12 @@ spec: bearerTokenFile: description: File to read bearer token for remote read. type: string + name: + description: The name of the remote read queue, must be unique + if specified. The name is used in metrics and logging in order + to differentiate read configurations. Only valid in Prometheus + versions 2.15.0 and newer. + type: string proxyUrl: description: Optional ProxyURL type: string @@ -3597,6 +3708,12 @@ spec: bearerTokenFile: description: File to read bearer token for remote write. type: string + name: + description: The name of the remote write queue, must be unique + if specified. The name is used in metrics and logging in order + to differentiate queues. Only valid in Prometheus versions 2.15.0 + and newer. + type: string proxyUrl: description: Optional ProxyURL type: string @@ -3897,11 +4014,11 @@ spec: type: object ruleSelector: description: A selector to select which PrometheusRules to mount for - loading alerting rules from. Until (excluding) Prometheus Operator - v0.24.0 Prometheus Operator will migrate any legacy rule ConfigMaps - to PrometheusRule custom resources selected by RuleSelector. Make - sure it does not match any config maps that you do not want to be - migrated. + loading alerting/recording rules from. Until (excluding) Prometheus + Operator v0.24.0 Prometheus Operator will migrate any legacy rule + ConfigMaps to PrometheusRule custom resources selected by RuleSelector. + Make sure it does not match any config maps that you do not want to + be migrated. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -3988,6 +4105,15 @@ spec: ownership and permissions of any volume." format: int64 type: integer + fsGroupChangePolicy: + description: 'fsGroupChangePolicy defines behavior of changing ownership + and permission of the volume before being exposed inside Pod. + This field will only apply to volume types which support fsGroup + based ownership(and permissions). It will have no effect on ephemeral + volume types such as: secret, configmaps and emptydir. Valid values + are "OnRootMismatch" and "Always". If not specified defaults to + "Always".' + type: string runAsGroup: description: The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If @@ -4072,23 +4198,18 @@ spec: 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. + the GMSACredentialSpecName field. 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. + credential spec to use. type: string runAsUserName: description: The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. This - field is beta-level and may be disabled with the WindowsRunAsUserName - feature flag. + value specified in SecurityContext takes precedence. type: string type: object type: object @@ -4141,7 +4262,9 @@ spec: type: object type: object serviceMonitorSelector: - description: ServiceMonitors to be selected for target discovery. + description: ServiceMonitors to be selected for target discovery. *Deprecated:* + if neither this nor podMonitorSelector are specified, configuration + is unmanaged. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. @@ -4192,6 +4315,11 @@ spec: storage: description: Storage spec to specify how storage shall be used. properties: + disableMountSubPath: + description: 'Deprecated: subPath usage will be disabled by default + in a future release, this option will become unnecessary. DisableMountSubPath + allows to remove any subPath usage in volume mounts.' + type: boolean emptyDir: description: 'EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. @@ -4228,7 +4356,34 @@ spec: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: EmbeddedMetadata contains metadata relevant to + an EmbeddedResource. + properties: + annotations: + additionalProperties: + type: string + 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 + labels: + additionalProperties: + type: string + 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 + 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 type: object spec: description: 'Spec defines the desired characteristics of a @@ -4241,16 +4396,20 @@ spec: type: string type: array dataSource: - description: This field requires the VolumeSnapshotDataSource - alpha feature gate to be enabled and currently VolumeSnapshot - is the only supported data source. If the provisioner - can support VolumeSnapshot data source, it will create - a new volume and data will be restored to the volume at - the same time. If the provisioner does not support VolumeSnapshot - data source, volume will not be created and the failure - will be reported as an event. In the future, we plan to - support more data source types and the behavior of the - provisioner may change. + description: 'This field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot + - Beta) * An existing PVC (PersistentVolumeClaim) * An + existing custom resource/object that implements data population + (Alpha) In order to use VolumeSnapshot object types, the + appropriate feature gate must be enabled (VolumeSnapshotDataSource + or AnyVolumeDataSource) If the provisioner or an external + controller can support the specified data source, it will + create a new volume based on the contents of the specified + data source. If the specified data source is not supported, + the volume will not be created and the failure will be + reported as an event. In the future, we plan to support + more data source types and the behavior of the provisioner + may change.' properties: apiGroup: description: APIGroup is the group for the resource @@ -4341,7 +4500,7 @@ spec: volumeMode: description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not - included in claim spec. This is a beta feature. + included in claim spec. type: string volumeName: description: VolumeName is the binding reference to the @@ -4550,6 +4709,12 @@ spec: description: ListenLocal makes the Thanos sidecar listen on loopback, so that it does not bind against the Pod IP. type: boolean + logFormat: + description: LogFormat for Thanos sidecar to be configured with. + type: string + logLevel: + description: LogLevel for Thanos sidecar to be configured with. + type: string objectStorageConfig: description: ObjectStorageConfig configures object storage in Thanos. properties: