diff --git a/docs/examples/src/charts/charts.k b/docs/examples/src/charts/charts.k index fd98c0e7..9406c3a1 100644 --- a/docs/examples/src/charts/charts.k +++ b/docs/examples/src/charts/charts.k @@ -29,7 +29,7 @@ charts: helm.Charts = { crdPaths = ["**/crds/crds/*.yaml"] repoURL = "https://prometheus-community.github.io/helm-charts" schemaGenerator = "AUTO" - targetRevision = "86.2.2" + targetRevision = "87.13.0" } simple_chart: { chart = "simple-chart" diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_alertmanager.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_alertmanager.k index 12ef79d7..baf0d285 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_alertmanager.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_alertmanager.k @@ -1641,7 +1641,7 @@ schema MonitoringCoreosComV1AlertmanagerSpecAlertmanagerConfigurationGlobalHTTPC check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1AlertmanagerSpecAlertmanagerConfigurationGlobalHTTPConfigOauth2ClientID: r""" @@ -4253,7 +4253,6 @@ schema MonitoringCoreosComV1AlertmanagerSpecContainersItems0SecurityContext: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -5814,7 +5813,6 @@ schema MonitoringCoreosComV1AlertmanagerSpecInitContainersItems0SecurityContext: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -8506,7 +8504,7 @@ schema MonitoringCoreosComV1AlertmanagerSpecVolumesItems0Image: A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. - The volume will be mounted read-only (ro) and non-executable files (noexec). + The volume will be mounted read-only (ro). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. @@ -8661,8 +8659,7 @@ schema MonitoringCoreosComV1AlertmanagerSpecVolumesItems0PortworxVolume: r""" portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type - are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate - is on. + are redirected to the pxd.portworx.com CSI driver. Attributes ---------- diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_pod_monitor.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_pod_monitor.k index 3d47ff34..d2e9208b 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_pod_monitor.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_pod_monitor.k @@ -181,6 +181,10 @@ schema MonitoringCoreosComV1PodMonitorSpecAttachMetadata: The Prometheus service account must have the `list` and `watch` permissions on the `Nodes` objects. + + Node metadata labels are not automatically added to scraped metrics. They are + exposed as `__meta_kubernetes_node_*` labels and can be copied to timeseries + with relabeling configuration. """ node?: bool @@ -591,7 +595,7 @@ schema MonitoringCoreosComV1PodMonitorSpecPodMetricsEndpointsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1PodMonitorSpecPodMetricsEndpointsItems0Oauth2ClientID: r""" diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_probe.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_probe.k index 1600e57d..a3141304 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_probe.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_probe.k @@ -412,7 +412,7 @@ schema MonitoringCoreosComV1ProbeSpecOauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1ProbeSpecOauth2ClientID: r""" diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_prometheus.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_prometheus.k index 07a6267a..5e236d95 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_prometheus.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_prometheus.k @@ -3860,7 +3860,6 @@ schema MonitoringCoreosComV1PrometheusSpecContainersItems0SecurityContext: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -5464,7 +5463,6 @@ schema MonitoringCoreosComV1PrometheusSpecInitContainersItems0SecurityContext: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -5872,6 +5870,22 @@ schema MonitoringCoreosComV1PrometheusSpecOtlp: resource attributes to the `target_info` metric, on top of converting them into the `instance` and `job` labels. It requires Prometheus >= v3.1.0. + labelNamePreserveMultipleUnderscores : bool, default is Undefined, optional + labelNamePreserveMultipleUnderscores enables preserving of multiple consecutive underscores in label names when translation_strategy uses + underscore escaping. + When true (default), multiple consecutive underscores are preserved during label name sanitization. + + Notice: This one has no impact if `nameEscapingScheme` is `AllowUTF8`. + + It requires Prometheus >= v3.8.0. + labelNameUnderscoreSanitization : bool, default is Undefined, optional + labelNameUnderscoreSanitization controls whether to enable prepending of 'key_' to labels starting with '_'. + Reserved labels starting with '__' are not modified. + This is only relevant when translation_strategy uses underscore escaping (e.g., "UnderscoreEscapingWithSuffixes" or "UnderscoreEscapingWithoutSuffixes"). + + Notice: This one has no impact if `nameEscapingScheme` is `AllowUTF8`. + + It requires Prometheus >= v3.8.0. promoteAllResourceAttributes : bool, default is Undefined, optional promoteAllResourceAttributes promotes all resource attributes to metric labels except the ones defined in `ignoreResourceAttributes`. @@ -5892,6 +5906,8 @@ schema MonitoringCoreosComV1PrometheusSpecOtlp: convertHistogramsToNHCB?: bool ignoreResourceAttributes?: [str] keepIdentifyingResourceAttributes?: bool + labelNamePreserveMultipleUnderscores?: bool + labelNameUnderscoreSanitization?: bool promoteAllResourceAttributes?: bool promoteResourceAttributes?: [str] promoteScopeMetadata?: bool @@ -6260,6 +6276,8 @@ schema MonitoringCoreosComV1PrometheusSpecRemoteReadItems0: tls config url : str, default is Undefined, required url defines the URL of the endpoint to query from. + + It must use the HTTP or HTTPS scheme. """ authorization?: MonitoringCoreosComV1PrometheusSpecRemoteReadItems0Authorization basicAuth?: MonitoringCoreosComV1PrometheusSpecRemoteReadItems0BasicAuth @@ -6283,6 +6301,7 @@ schema MonitoringCoreosComV1PrometheusSpecRemoteReadItems0: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl _regex_match(str(remoteTimeout), r"^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$") if remoteTimeout + _regex_match(str(url), r"^(http|https)://.+$") schema MonitoringCoreosComV1PrometheusSpecRemoteReadItems0Authorization: r""" @@ -6449,7 +6468,7 @@ schema MonitoringCoreosComV1PrometheusSpecRemoteReadItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1PrometheusSpecRemoteReadItems0Oauth2ClientID: r""" @@ -7404,7 +7423,7 @@ schema MonitoringCoreosComV1PrometheusSpecRemoteWriteItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1PrometheusSpecRemoteWriteItems0Oauth2ClientID: r""" @@ -8319,6 +8338,10 @@ schema MonitoringCoreosComV1PrometheusSpecScrapeClassesItems0AttachMetadata: The Prometheus service account must have the `list` and `watch` permissions on the `Nodes` objects. + + Node metadata labels are not automatically added to scraped metrics. They are + exposed as `__meta_kubernetes_node_*` labels and can be copied to timeseries + with relabeling configuration. """ node?: bool @@ -9071,11 +9094,8 @@ schema MonitoringCoreosComV1PrometheusSpecServiceMonitorSelectorMatchExpressions schema MonitoringCoreosComV1PrometheusSpecShardRetentionPolicy: r""" shardRetentionPolicy defines the retention policy for the Prometheus shards. - (Alpha) Using this field requires the 'PrometheusShardRetentionPolicy' feature gate to be enabled. - The final goals for this feature can be seen at https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/proposals/202310-shard-autoscaling.md#graceful-scale-down-of-prometheus-servers, - however, the feature is not yet fully implemented in this PR. The limitation being: - * Retention duration is not settable, for now, shards are retained forever. + (Beta) Using this mode requires the `PrometheusShardRetentionPolicy` feature gate (enabled by default). Attributes ---------- @@ -10792,11 +10812,27 @@ schema MonitoringCoreosComV1PrometheusSpecTsdb: in a breaking way. It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0. + staleSeriesCompactionThreshold : int | str, default is Undefined, optional + staleSeriesCompactionThreshold configures the trigger point for compacting + stale series from memory into persistent blocks and removing those stale + series from memory. + + The threshold is a number between 0.0 and 1.0. It represents the ratio of + stale series in memory to the total series in memory. The stale series + compaction is triggered when this ratio crosses the configured threshold. + It may not trigger the stale series compaction if the usual head compaction + is about to happen soon. + + If set to 0, stale series compaction is disabled. + + It requires Prometheus >= v3.10.0. """ outOfOrderTimeWindow?: str + staleSeriesCompactionThreshold?: int | str check: _regex_match(str(outOfOrderTimeWindow), r"^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$") if outOfOrderTimeWindow + _regex_match(str(staleSeriesCompactionThreshold), r"^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if staleSeriesCompactionThreshold schema MonitoringCoreosComV1PrometheusSpecUpdateStrategy: r""" @@ -11865,7 +11901,7 @@ schema MonitoringCoreosComV1PrometheusSpecVolumesItems0Image: A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. - The volume will be mounted read-only (ro) and non-executable files (noexec). + The volume will be mounted read-only (ro). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. @@ -12020,8 +12056,7 @@ schema MonitoringCoreosComV1PrometheusSpecVolumesItems0PortworxVolume: r""" portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type - are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate - is on. + are redirected to the pxd.portworx.com CSI driver. Attributes ---------- diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_service_monitor.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_service_monitor.k index 36ace44a..0eb221cf 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_service_monitor.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_service_monitor.k @@ -196,6 +196,10 @@ schema MonitoringCoreosComV1ServiceMonitorSpecAttachMetadata: The Prometheus service account must have the `list` and `watch` permissions on the `Nodes` objects. + + Node metadata labels are not automatically added to scraped metrics. They are + exposed as `__meta_kubernetes_node_*` labels and can be copied to timeseries + with relabeling configuration. """ node?: bool @@ -256,7 +260,8 @@ schema MonitoringCoreosComV1ServiceMonitorSpecEndpointsItems0: If empty, Prometheus uses the default value (e.g. `/metrics`). port : str, default is Undefined, optional - port defines the name of the Service port which this endpoint refers to. + port defines the name of the Service port which this endpoint refers to + (e.g. `.spec.ports[].name`). It takes precedence over `targetPort`. proxyConnectHeader : {str:[MonitoringCoreosComV1ServiceMonitorSpecEndpointsItems0ProxyConnectHeaderItems0]}, default is Undefined, optional @@ -288,8 +293,10 @@ schema MonitoringCoreosComV1ServiceMonitorSpecEndpointsItems0: than the target's scrape interval value in which the latter is used. The value cannot be greater than the scrape interval otherwise the operator will reject the resource. targetPort : int | str, default is Undefined, optional - targetPort defines the name or number of the target port of the `Pod` object behind the - Service. The port must be specified with the container's port property. + targetPort defines the name or number of a container port on Pods selected + by the Service. + If a name, it matches against `.spec.containers[].ports[].name` of the Pods. + If a number, it matches against `.spec.containers[].ports[].containerPort` of the Pods. tlsConfig : MonitoringCoreosComV1ServiceMonitorSpecEndpointsItems0TLSConfig, default is Undefined, optional tls config trackTimestampsStaleness : bool, default is Undefined, optional @@ -570,7 +577,7 @@ schema MonitoringCoreosComV1ServiceMonitorSpecEndpointsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1ServiceMonitorSpecEndpointsItems0Oauth2ClientID: r""" diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_thanos_ruler.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_thanos_ruler.k index f362bf8e..2ede7fe7 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_thanos_ruler.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1/monitoring_coreos_com_v1_thanos_ruler.k @@ -2390,7 +2390,6 @@ schema MonitoringCoreosComV1ThanosRulerSpecContainersItems0SecurityContext: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -4185,7 +4184,6 @@ schema MonitoringCoreosComV1ThanosRulerSpecInitContainersItems0SecurityContext: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -5156,7 +5154,7 @@ schema MonitoringCoreosComV1ThanosRulerSpecRemoteWriteItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1ThanosRulerSpecRemoteWriteItems0Oauth2ClientID: r""" @@ -8154,7 +8152,7 @@ schema MonitoringCoreosComV1ThanosRulerSpecVolumesItems0Image: A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. - The volume will be mounted read-only (ro) and non-executable files (noexec). + The volume will be mounted read-only (ro). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. @@ -8309,8 +8307,7 @@ schema MonitoringCoreosComV1ThanosRulerSpecVolumesItems0PortworxVolume: r""" portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type - are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate - is on. + are redirected to the pxd.portworx.com CSI driver. Attributes ---------- diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_alertmanager_config.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_alertmanager_config.k index a9b4d7b1..79dfd5e8 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_alertmanager_config.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_alertmanager_config.k @@ -583,7 +583,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0DiscordCo check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0DiscordConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -1657,7 +1657,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0MsteamsCo check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0MsteamsConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -2421,7 +2421,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0Msteamsv2 check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0Msteamsv2ConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -3275,7 +3275,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0OpsgenieC check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0OpsgenieConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -4110,7 +4110,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0Pagerduty check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0PagerdutyConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -5003,7 +5003,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0PushoverC check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0PushoverConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -5901,7 +5901,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0Rocketcha check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0RocketchatConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -6901,7 +6901,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0SlackConf check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0SlackConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -7664,7 +7664,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0SnsConfig check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0SnsConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -8534,7 +8534,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0TelegramC check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0TelegramConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -9343,7 +9343,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0Victorops check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0VictoropsConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -10082,7 +10082,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebexConf check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebexConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -10566,6 +10566,11 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookCo maxAlerts : int, default is Undefined, optional maxAlerts defines the maximum number of alerts to be sent per webhook message. When 0, all alerts are included in the webhook payload. + payload : str, default is Undefined, optional + payload define custom payload to be sent to the webhook endpoint. + This is an advanced configuration option that allows you + to define a custom payload using Go templates. + It requires Alertmanager >= v0.32.0. sendResolved : bool, default is Undefined, optional sendResolved defines whether or not to notify about resolved alerts. timeout : str, default is Undefined, optional @@ -10580,6 +10585,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookCo """ httpConfig?: MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookConfigsItems0HTTPConfig maxAlerts?: int + payload?: str sendResolved?: bool timeout?: str url?: str @@ -10587,6 +10593,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookCo check: maxAlerts >= 0 if maxAlerts not in [None, Undefined] + len(payload) >= 1 if payload _regex_match(str(timeout), r"^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$") if timeout schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookConfigsItems0HTTPConfig: @@ -10827,7 +10834,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookCo check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WebhookConfigsItems0HTTPConfigOauth2ClientID: r""" @@ -11646,7 +11653,7 @@ schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WechatCon check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1AlertmanagerConfigSpecReceiversItems0WechatConfigsItems0HTTPConfigOauth2ClientID: r""" diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_prometheus_agent.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_prometheus_agent.k index d38d77b8..d85844fc 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_prometheus_agent.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_prometheus_agent.k @@ -3095,7 +3095,6 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecContainersItems0SecurityCon procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -4681,7 +4680,6 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecInitContainersItems0Securit procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. readOnlyRootFilesystem : bool, default is Undefined, optional Whether this container has a read-only root filesystem. @@ -5089,6 +5087,22 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecOtlp: resource attributes to the `target_info` metric, on top of converting them into the `instance` and `job` labels. It requires Prometheus >= v3.1.0. + labelNamePreserveMultipleUnderscores : bool, default is Undefined, optional + labelNamePreserveMultipleUnderscores enables preserving of multiple consecutive underscores in label names when translation_strategy uses + underscore escaping. + When true (default), multiple consecutive underscores are preserved during label name sanitization. + + Notice: This one has no impact if `nameEscapingScheme` is `AllowUTF8`. + + It requires Prometheus >= v3.8.0. + labelNameUnderscoreSanitization : bool, default is Undefined, optional + labelNameUnderscoreSanitization controls whether to enable prepending of 'key_' to labels starting with '_'. + Reserved labels starting with '__' are not modified. + This is only relevant when translation_strategy uses underscore escaping (e.g., "UnderscoreEscapingWithSuffixes" or "UnderscoreEscapingWithoutSuffixes"). + + Notice: This one has no impact if `nameEscapingScheme` is `AllowUTF8`. + + It requires Prometheus >= v3.8.0. promoteAllResourceAttributes : bool, default is Undefined, optional promoteAllResourceAttributes promotes all resource attributes to metric labels except the ones defined in `ignoreResourceAttributes`. @@ -5109,6 +5123,8 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecOtlp: convertHistogramsToNHCB?: bool ignoreResourceAttributes?: [str] keepIdentifyingResourceAttributes?: bool + labelNamePreserveMultipleUnderscores?: bool + labelNameUnderscoreSanitization?: bool promoteAllResourceAttributes?: bool promoteResourceAttributes?: [str] promoteScopeMetadata?: bool @@ -5841,7 +5857,7 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecRemoteWriteItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1PrometheusAgentSpecRemoteWriteItems0Oauth2ClientID: r""" @@ -6637,6 +6653,10 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecScrapeClassesItems0AttachMe The Prometheus service account must have the `list` and `watch` permissions on the `Nodes` objects. + + Node metadata labels are not automatically added to scraped metrics. They are + exposed as `__meta_kubernetes_node_*` labels and can be copied to timeseries + with relabeling configuration. """ node?: bool @@ -8547,11 +8567,27 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecTsdb: in a breaking way. It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0. + staleSeriesCompactionThreshold : int | str, default is Undefined, optional + staleSeriesCompactionThreshold configures the trigger point for compacting + stale series from memory into persistent blocks and removing those stale + series from memory. + + The threshold is a number between 0.0 and 1.0. It represents the ratio of + stale series in memory to the total series in memory. The stale series + compaction is triggered when this ratio crosses the configured threshold. + It may not trigger the stale series compaction if the usual head compaction + is about to happen soon. + + If set to 0, stale series compaction is disabled. + + It requires Prometheus >= v3.10.0. """ outOfOrderTimeWindow?: str + staleSeriesCompactionThreshold?: int | str check: _regex_match(str(outOfOrderTimeWindow), r"^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$") if outOfOrderTimeWindow + _regex_match(str(staleSeriesCompactionThreshold), r"^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if staleSeriesCompactionThreshold schema MonitoringCoreosComV1alpha1PrometheusAgentSpecUpdateStrategy: r""" @@ -9620,7 +9656,7 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecVolumesItems0Image: A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. - The volume will be mounted read-only (ro) and non-executable files (noexec). + The volume will be mounted read-only (ro). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. @@ -9775,8 +9811,7 @@ schema MonitoringCoreosComV1alpha1PrometheusAgentSpecVolumesItems0PortworxVolume r""" portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type - are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate - is on. + are redirected to the pxd.portworx.com CSI driver. Attributes ---------- diff --git a/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_scrape_config.k b/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_scrape_config.k index 3b5b0bb6..b8d058ad 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_scrape_config.k +++ b/docs/examples/src/charts/kube_prometheus_stack/api/v1alpha1/monitoring_coreos_com_v1alpha1_scrape_config.k @@ -605,7 +605,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecAzureSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecAzureSDConfigsItems0Oauth2ClientID: r""" @@ -1411,7 +1411,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecConsulSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecConsulSDConfigsItems0Oauth2ClientID: r""" @@ -2092,7 +2092,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecDigitalOceanSDConfigsItems0Oau check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecDigitalOceanSDConfigsItems0Oauth2ClientID: r""" @@ -2817,7 +2817,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecDockerSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecDockerSDConfigsItems0Oauth2ClientID: r""" @@ -3541,7 +3541,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecDockerSwarmSDConfigsItems0Oaut check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecDockerSwarmSDConfigsItems0Oauth2ClientID: r""" @@ -4566,7 +4566,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecEurekaSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecEurekaSDConfigsItems0Oauth2ClientID: r""" @@ -5330,7 +5330,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecHTTPSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecHTTPSDConfigsItems0Oauth2ClientID: r""" @@ -6025,7 +6025,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecHetznerSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecHetznerSDConfigsItems0Oauth2ClientID: r""" @@ -6653,7 +6653,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecIonosSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecIonosSDConfigsItems0Oauth2ClientID: r""" @@ -7384,7 +7384,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecKubernetesSDConfigsItems0Oauth check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecKubernetesSDConfigsItems0Oauth2ClientID: r""" @@ -8102,7 +8102,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecKumaSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecKumaSDConfigsItems0Oauth2ClientID: r""" @@ -8829,7 +8829,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecLightSailSDConfigsItems0Oauth2 check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecLightSailSDConfigsItems0Oauth2ClientID: r""" @@ -9482,7 +9482,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecLinodeSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecLinodeSDConfigsItems0Oauth2ClientID: r""" @@ -10236,7 +10236,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecNomadSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecNomadSDConfigsItems0Oauth2ClientID: r""" @@ -10759,7 +10759,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecOauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecOauth2ClientID: r""" @@ -11688,7 +11688,7 @@ schema MonitoringCoreosComV1alpha1ScrapeConfigSpecPuppetDBSDConfigsItems0Oauth2: check: _regex_match(str(proxyUrl), r"^(http|https|socks5)://.+$") if proxyUrl - len(tokenUrl) >= 1 + _regex_match(str(tokenUrl), r"^(http|https)://.+$") schema MonitoringCoreosComV1alpha1ScrapeConfigSpecPuppetDBSDConfigsItems0Oauth2ClientID: r""" diff --git a/docs/examples/src/charts/kube_prometheus_stack/chart.k b/docs/examples/src/charts/kube_prometheus_stack/chart.k index 0e2c26fe..2c5e058c 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/chart.k +++ b/docs/examples/src/charts/kube_prometheus_stack/chart.k @@ -14,10 +14,10 @@ schema Chart(helm.Chart): values : Values | any, optional chart : str, required, default is "kube-prometheus-stack" repoURL : str, required, default is "https://prometheus-community.github.io/helm-charts" - targetRevision : str, optional, default is "86.2.2" + targetRevision : str, optional, default is "87.13.0" """ values?: Values | any chart: str = "kube-prometheus-stack" repoURL: str = "https://prometheus-community.github.io/helm-charts" - targetRevision?: str = "86.2.2" + targetRevision?: str = "87.13.0" diff --git a/docs/examples/src/charts/kube_prometheus_stack/values.schema.json b/docs/examples/src/charts/kube_prometheus_stack/values.schema.json index b5014ab7..b0aaa733 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/values.schema.json +++ b/docs/examples/src/charts/kube_prometheus_stack/values.schema.json @@ -182,6 +182,13 @@ "title": "clusterPushpullInterval", "type": "string" }, + "clusterTLS": { + "additionalProperties": true, + "description": "# ClusterTLS defines the mutual TLS configuration for the Alertmanager cluster's gossip protocol.\n# Requires Alertmanager \u003e= v0.24.0.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ClusterTLSConfig", + "required": [], + "title": "clusterTLS", + "type": "object" + }, "configMaps": { "description": "# ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods.\n# The ConfigMaps are mounted into /etc/alertmanager/configmaps/.\n#", "items": { @@ -214,6 +221,13 @@ "title": "dnsPolicy", "type": "string" }, + "enableServiceLinks": { + "default": "~", + "description": "# EnableServiceLinks indicates whether information about services should be injected into the\n# pod's environment variables. Uses the operator/Kubernetes default when left unset (~).", + "required": [], + "title": "enableServiceLinks", + "type": "null" + }, "externalUrl": { "default": "", "description": "# The external URL the Alertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name. string false\n#", @@ -228,6 +242,15 @@ "title": "forceEnableClusterMode", "type": "boolean" }, + "hostAliases": { + "description": "# Pods' hostAliases configuration\n# ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/", + "items": { + "required": [] + }, + "required": [], + "title": "hostAliases", + "type": "array" + }, "hostNetwork": { "default": false, "description": "# Enable hostNetwork for Alertmanager.", @@ -271,7 +294,7 @@ "type": "string" }, "tag": { - "default": "v0.32.2", + "default": "v0.33.1", "required": [], "title": "tag", "type": "string" @@ -290,6 +313,13 @@ "title": "initContainers", "type": "array" }, + "limits": { + "additionalProperties": true, + "description": "# Limits defines the Alertmanager limits command line flags. Requires Alertmanager \u003e= v0.28.0.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.AlertmanagerLimitsSpec", + "required": [], + "title": "limits", + "type": "object" + }, "listenLocal": { "default": false, "description": "# ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.\n# Note this is only for the Alertmanager UI, not the gossip communication.\n#", @@ -409,6 +439,13 @@ "title": "routePrefix", "type": "string" }, + "schedulerName": { + "default": "", + "description": "# Set the scheduler name to use for the Alertmanager pods.", + "required": [], + "title": "schedulerName", + "type": "string" + }, "scheme": { "default": "", "description": "# scheme: HTTP scheme to use. Can be used with `tlsConfig` for example if using istio mTLS.", @@ -1201,6 +1238,142 @@ "title": "route", "type": "object" }, + "routePerReplica": { + "additionalProperties": true, + "description": "# Configuration for creating a Gateway API route that will map to each Alertmanager replica service\n# alertmanager.servicePerReplica must be enabled\n#", + "properties": { + "main": { + "additionalProperties": true, + "properties": { + "additionalRules": { + "description": "# Additional custom rules that can be added to the route", + "items": { + "required": [] + }, + "required": [], + "title": "additionalRules", + "type": "array" + }, + "annotations": { + "additionalProperties": true, + "required": [], + "title": "annotations", + "type": "object" + }, + "apiVersion": { + "default": "gateway.networking.k8s.io/v1", + "description": "Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2", + "required": [], + "title": "apiVersion", + "type": "string" + }, + "enabled": { + "default": false, + "description": "Enables or disables the routePerReplica", + "required": [], + "title": "enabled", + "type": "boolean" + }, + "filters": { + "description": "# Filters define the filters that are applied to requests that match this rule.", + "items": { + "required": [] + }, + "required": [], + "title": "filters", + "type": "array" + }, + "hostDomain": { + "default": "", + "description": "# Domain that will be used for the per replica route", + "required": [], + "title": "hostDomain", + "type": "string" + }, + "hostPrefix": { + "default": "", + "description": "# Final form of the hostname for each per replica route is\n# {{ routePerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ routePerReplica.hostDomain }}\n#\n# Prefix for the per replica route that will have `-$replicaNumber` appended to the end", + "required": [], + "title": "hostPrefix", + "type": "string" + }, + "httpsRedirect": { + "default": false, + "description": "create http route for redirect (https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/#http-to-https-redirects)\n# Take care that you only enable this on the http listener of the gateway to avoid an infinite redirect.\n# matches, filters and additionalRules will be ignored if this is set to true.", + "required": [], + "title": "httpsRedirect", + "type": "boolean" + }, + "kind": { + "default": "HTTPRoute", + "description": "Set the route kind\nValid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute", + "required": [], + "title": "kind", + "type": "string" + }, + "labels": { + "additionalProperties": true, + "required": [], + "title": "labels", + "type": "object" + }, + "matches": { + "items": { + "additionalProperties": true, + "properties": { + "path": { + "additionalProperties": true, + "properties": { + "type": { + "default": "PathPrefix", + "required": [], + "title": "type", + "type": "string" + }, + "value": { + "default": "/", + "required": [], + "title": "value", + "type": "string" + } + }, + "required": [], + "title": "path", + "type": "object" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "matches", + "type": "array" + }, + "parentRefs": { + "items": { + "required": [] + }, + "required": [], + "title": "parentRefs", + "type": "array" + }, + "sessionPersistence": { + "additionalProperties": true, + "description": "# Session persistence configuration for the route rule.", + "required": [], + "title": "sessionPersistence", + "type": "object" + } + }, + "required": [], + "title": "main", + "type": "object" + } + }, + "required": [], + "title": "routePerReplica", + "type": "object" + }, "secret": { "additionalProperties": true, "description": "# Configuration for Alertmanager secret\n#", @@ -1691,6 +1864,21 @@ "title": "assertNoLeakedSecrets", "type": "boolean" }, + "authFilter": { + "additionalProperties": true, + "description": "Enable kube-state-metrics native request authn/authz on the metrics endpoints\nvia the `--auth-filter` flag, as an alternative to running kube-rbac-proxy.\nWhen enabled, the `create` permissions on `tokenreviews` and\n`subjectaccessreviews` required by the filter are added to the (Cluster)Role\nautomatically. Scrapers must authenticate; see the chart README and the\nkube-state-metrics docs on protecting metrics endpoints.", + "properties": { + "enabled": { + "default": false, + "required": [], + "title": "enabled", + "type": "boolean" + } + }, + "required": [], + "title": "authFilter", + "type": "object" + }, "automountServiceAccountToken": { "default": true, "description": "If false then the user will opt out of automounting API credentials.", @@ -2520,7 +2708,7 @@ }, "additionalRuleAnnotations": { "additionalProperties": true, - "description": "# Additional annotations for PrometheusRule alerts", + "description": "# Additional annotations for specific PrometheusRule alerts by alert name", "required": [], "title": "additionalRuleAnnotations", "type": "object" @@ -3397,7 +3585,7 @@ "type": "string" }, "tag": { - "default": "8.20.0", + "default": "8.21.0", "required": [], "title": "tag", "type": "string" @@ -6526,7 +6714,7 @@ "type": "string" }, "tag": { - "default": "v0.22.0", + "default": "v0.22.1", "required": [], "title": "tag", "type": "string" @@ -7351,6 +7539,65 @@ "title": "lifecycleHooks", "type": "object" }, + "listenerSet": { + "additionalProperties": true, + "description": "BETA: Configure Gateway API ListenerSet resources for the chart here.\nListenerSet allows attaching additional listeners to an existing Gateway.\nMore listener sets can be added by adding a dictionary key like the 'main' entry.\nBeing BETA this can/will change in the future without notice, do not use unless you want to take that risk\n[[ref]](https://gateway-api.sigs.k8s.io/reference/api-spec/main/spec/#listenerset)", + "properties": { + "main": { + "additionalProperties": true, + "properties": { + "annotations": { + "additionalProperties": true, + "required": [], + "title": "annotations", + "type": "object" + }, + "apiVersion": { + "default": "gateway.networking.k8s.io/v1", + "description": "Set the ListenerSet apiVersion, e.g. gateway.networking.k8s.io/v1", + "required": [], + "title": "apiVersion", + "type": "string" + }, + "enabled": { + "default": false, + "description": "Enables or disables the listener set", + "required": [], + "title": "enabled", + "type": "boolean" + }, + "labels": { + "additionalProperties": true, + "required": [], + "title": "labels", + "type": "object" + }, + "listeners": { + "description": "List of listeners to attach to the parent Gateway", + "items": { + "required": [] + }, + "required": [], + "title": "listeners", + "type": "array" + }, + "parentRef": { + "additionalProperties": true, + "description": "Reference to the parent Gateway this ListenerSet attaches to", + "required": [], + "title": "parentRef", + "type": "object" + } + }, + "required": [], + "title": "main", + "type": "object" + } + }, + "required": [], + "title": "listenerSet", + "type": "object" + }, "livenessProbe": { "additionalProperties": true, "description": "# Liveness probe\n#", @@ -7842,6 +8089,13 @@ "title": "lookupVolumeName", "type": "boolean" }, + "persistentVolumeClaimRetentionPolicy": { + "additionalProperties": true, + "description": "# Configure StatefulSet persistent volume claim retention policy.\n# This is ignored when Grafana is configured to use a Deployment with a PVC.\n# By default, Kubernetes uses Retain for both whenDeleted and whenScaled.", + "required": [], + "title": "persistentVolumeClaimRetentionPolicy", + "type": "object" + }, "size": { "default": "10Gi", "required": [], @@ -8933,6 +9187,13 @@ "title": "automountServiceAccountToken", "type": "boolean" }, + "bodySizeLimit": { + "default": "", + "description": "# BodySizeLimit defines a global limit on the size of uncompressed response body that will be accepted. Example: 100MB.", + "required": [], + "title": "bodySizeLimit", + "type": "string" + }, "configMaps": { "description": "# ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.\n# The ConfigMaps are mounted into /etc/prometheus/configmaps/.\n#", "items": { @@ -9016,6 +9277,20 @@ "title": "enableRemoteWriteReceiver", "type": "boolean" }, + "enableServiceLinks": { + "default": "~", + "description": "# EnableServiceLinks indicates whether information about services should be injected into the pod's environment\n# variables. Uses the operator/Kubernetes default when left unset (~).", + "required": [], + "title": "enableServiceLinks", + "type": "null" + }, + "enforcedBodySizeLimit": { + "default": "", + "description": "# EnforcedBodySizeLimit defines the maximum size of uncompressed response body that will be accepted, overriding any\n# value set per ServiceMonitor/PodMonitor. Example: 100MB. Empty means no limit.", + "required": [], + "title": "enforcedBodySizeLimit", + "type": "string" + }, "enforcedKeepDroppedTargets": { "default": 0, "description": "EnforcedKeepDroppedTargetsLimit defines on the number of targets dropped by relabeling that will be kept in memory.\nThe value overrides any spec.keepDroppedTargets set by ServiceMonitor, PodMonitor, Probe objects unless spec.keepDroppedTargets\nis greater than zero and less than spec.enforcedKeepDroppedTargets. 0 means no limit.", @@ -9161,7 +9436,7 @@ "type": "string" }, "tag": { - "default": "v3.12.0-distroless", + "default": "v3.13.1-distroless", "required": [], "title": "tag", "type": "string" @@ -9180,6 +9455,34 @@ "title": "initContainers", "type": "array" }, + "keepDroppedTargets": { + "default": 0, + "description": "# Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit.", + "required": [], + "title": "keepDroppedTargets", + "type": "integer" + }, + "labelLimit": { + "default": 0, + "description": "# Per-scrape limit on number of labels that will be accepted for a sample. 0 means no limit.", + "required": [], + "title": "labelLimit", + "type": "integer" + }, + "labelNameLengthLimit": { + "default": 0, + "description": "# Per-scrape limit on length of labels name that will be accepted for a sample. 0 means no limit.", + "required": [], + "title": "labelNameLengthLimit", + "type": "integer" + }, + "labelValueLengthLimit": { + "default": 0, + "description": "# Per-scrape limit on length of labels value that will be accepted for a sample. 0 means no limit.", + "required": [], + "title": "labelValueLengthLimit", + "type": "integer" + }, "listenLocal": { "default": false, "description": "# ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP.\n#", @@ -9215,6 +9518,13 @@ "title": "minReadySeconds", "type": "integer" }, + "nameEscapingScheme": { + "default": "", + "description": "# Specifies the character escaping scheme applied to metric and label names.\n# Supported values are: AllowUTF8, Underscores, Dots, Values", + "required": [], + "title": "nameEscapingScheme", + "type": "string" + }, "nameValidationScheme": { "default": "", "description": "# Specifies the validation scheme for metric and label names.\n# Supported values are: Legacy, UTF8", @@ -9394,6 +9704,13 @@ "title": "queryLogFile", "type": "boolean" }, + "reloadStrategy": { + "default": "", + "description": "# Defines the strategy used to reload the Prometheus configuration.\n# Supported values are: HTTP, ProcessSignal", + "required": [], + "title": "reloadStrategy", + "type": "string" + }, "remoteRead": { "description": "# The remote_read spec configuration for Prometheus.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#remotereadspec", "items": { @@ -9419,7 +9736,16 @@ "title": "remoteWriteDashboards", "type": "boolean" }, - "replicaExternalLabelName": { + "remoteWriteReceiverMessageVersions": { + "description": "# List of the protobuf message versions to accept when receiving the remote writes. Example: [V1.0, V2.0].", + "items": { + "required": [] + }, + "required": [], + "title": "remoteWriteReceiverMessageVersions", + "type": "array" + }, + "replicaExternalLabelName": { "default": "", "description": "# Name of the external label used to denote replica name\n#", "required": [], @@ -9475,6 +9801,13 @@ "title": "ruleNamespaceSelector", "type": "object" }, + "ruleQueryOffset": { + "default": "", + "description": "# Defines the offset the rule evaluation timestamp of the rule evaluation queries is shifted backwards.\n# ref: https://github.com/prometheus-community/helm-charts/issues/5843", + "required": [], + "title": "ruleQueryOffset", + "type": "string" + }, "ruleSelector": { "additionalProperties": true, "description": "# PrometheusRules to be selected for target discovery.\n# If {}, select all PrometheusRules\n#", @@ -9489,6 +9822,13 @@ "title": "ruleSelectorNilUsesHelmValues", "type": "boolean" }, + "runtime": { + "additionalProperties": true, + "description": "# RuntimeConfig configures the values for the Prometheus process behavior.", + "required": [], + "title": "runtime", + "type": "object" + }, "sampleLimit": { "default": false, "description": "Use to set global sample_limit for Prometheus. This act as default SampleLimit for ServiceMonitor or/and PodMonitor.\nSet to 'false' to disable global sample_limit. or set to a number to override the default value.", @@ -9496,6 +9836,13 @@ "title": "sampleLimit", "type": "boolean" }, + "schedulerName": { + "default": "", + "description": "# Set the scheduler name to use for the Prometheus pods.", + "required": [], + "title": "schedulerName", + "type": "string" + }, "scrapeClasses": { "description": "# List of scrape classes to expose to scraping objects such as\n# PodMonitors, ServiceMonitors, Probes and ScrapeConfigs.\n#", "items": { @@ -9661,9 +10008,23 @@ "title": "serviceName", "type": "null" }, + "shardRetentionPolicy": { + "additionalProperties": true, + "description": "# Defines the retention policy for the resources of stale shards after a scale-down.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ShardRetentionPolicy", + "required": [], + "title": "shardRetentionPolicy", + "type": "object" + }, + "shardingStrategy": { + "additionalProperties": true, + "description": "# Defines the sharding strategy applied by the operator.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ShardingStrategy", + "required": [], + "title": "shardingStrategy", + "type": "object" + }, "shards": { "default": 1, - "description": "# EXPERIMENTAL: Number of shards to distribute targets onto.\n# Number of replicas multiplied by shards is the total number of Pods created.\n# Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved.\n# Increasing shards will not reshard data either but it will continue to be available from the same instances.\n# To query globally use Thanos sidecar and Thanos querier or remote write data to a central location.\n# Sharding is done on the content of the `__address__` target meta-label.\n#", + "description": "# EXPERIMENTAL: Number of shards to distribute targets onto.\n# Number of replicas multiplied by shards is the total number of Pods created.\n# Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved.\n# Increasing shards will not reshard data either but it will continue to be available from the same instances.\n# To query globally use Thanos sidecar and Thanos querier or remote write data to a central location.\n# Sharding is done on the content of the `__address__` target meta-label.\n# Set shards to null to omit spec.shards from the Prometheus custom resource (the operator then\n# defaults to 1 shard). Omitting the field lets an external autoscaler such as an HPA or a KEDA\n# ScaledObject own spec.shards through the /scale subresource without Helm reverting it.\n#", "required": [], "title": "shards", "type": "integer" @@ -9675,6 +10036,13 @@ "title": "storageSpec", "type": "object" }, + "targetLimit": { + "default": 0, + "description": "# TargetLimit defines a global limit on the number of scraped targets. 0 means no limit.", + "required": [], + "title": "targetLimit", + "type": "integer" + }, "terminationGracePeriodSeconds": { "default": "~", "description": "# Duration in seconds the pod needs to terminate gracefully.\n# ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination", @@ -9911,6 +10279,142 @@ "title": "route", "type": "object" }, + "routePerReplica": { + "additionalProperties": true, + "description": "# Configuration for creating a Gateway API route that will map to each Prometheus replica service\n# prometheus.servicePerReplica must be enabled\n#", + "properties": { + "main": { + "additionalProperties": true, + "properties": { + "additionalRules": { + "description": "# Additional custom rules that can be added to the route", + "items": { + "required": [] + }, + "required": [], + "title": "additionalRules", + "type": "array" + }, + "annotations": { + "additionalProperties": true, + "required": [], + "title": "annotations", + "type": "object" + }, + "apiVersion": { + "default": "gateway.networking.k8s.io/v1", + "description": "Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2", + "required": [], + "title": "apiVersion", + "type": "string" + }, + "enabled": { + "default": false, + "description": "Enables or disables the routePerReplica", + "required": [], + "title": "enabled", + "type": "boolean" + }, + "filters": { + "description": "# Filters define the filters that are applied to requests that match this rule.", + "items": { + "required": [] + }, + "required": [], + "title": "filters", + "type": "array" + }, + "hostDomain": { + "default": "", + "description": "# Domain that will be used for the per replica route", + "required": [], + "title": "hostDomain", + "type": "string" + }, + "hostPrefix": { + "default": "", + "description": "# Final form of the hostname for each per replica route is\n# {{ routePerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ routePerReplica.hostDomain }}\n#\n# Prefix for the per replica route that will have `-$replicaNumber` appended to the end", + "required": [], + "title": "hostPrefix", + "type": "string" + }, + "httpsRedirect": { + "default": false, + "description": "create http route for redirect (https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/#http-to-https-redirects)\n# Take care that you only enable this on the http listener of the gateway to avoid an infinite redirect.\n# matches, filters and additionalRules will be ignored if this is set to true.", + "required": [], + "title": "httpsRedirect", + "type": "boolean" + }, + "kind": { + "default": "HTTPRoute", + "description": "Set the route kind\nValid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute", + "required": [], + "title": "kind", + "type": "string" + }, + "labels": { + "additionalProperties": true, + "required": [], + "title": "labels", + "type": "object" + }, + "matches": { + "items": { + "additionalProperties": true, + "properties": { + "path": { + "additionalProperties": true, + "properties": { + "type": { + "default": "PathPrefix", + "required": [], + "title": "type", + "type": "string" + }, + "value": { + "default": "/", + "required": [], + "title": "value", + "type": "string" + } + }, + "required": [], + "title": "path", + "type": "object" + } + }, + "required": [], + "type": "object" + }, + "required": [], + "title": "matches", + "type": "array" + }, + "parentRefs": { + "items": { + "required": [] + }, + "required": [], + "title": "parentRefs", + "type": "array" + }, + "sessionPersistence": { + "additionalProperties": true, + "description": "# Session persistence configuration for the route rule.", + "required": [], + "title": "sessionPersistence", + "type": "object" + } + }, + "required": [], + "title": "main", + "type": "object" + } + }, + "required": [], + "title": "routePerReplica", + "type": "object" + }, "scrapeconfig": { "additionalProperties": true, "description": "# Create a scrapeConfig resource for scraping the kube-state-metrics service. Use this instead of serviceMonitor\n# to have more instances of kube-state-metrics safety.", @@ -11981,7 +12485,7 @@ "type": "string" }, "tag": { - "default": "1.8.3", + "default": "1.8.4", "required": [], "title": "tag", "type": "string" @@ -12322,6 +12826,13 @@ "title": "extraVolumes", "type": "array" }, + "featureGates": { + "additionalProperties": true, + "description": "# Feature gates to enable/disable operator features, rendered as --feature-gates=\u003ckey\u003e=\u003cvalue\u003e.\n# See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/feature-gates.md\n# Example:\n# featureGates:\n# PrometheusAgentDaemonSet: true\n# StatusForConfigurationResources: true", + "required": [], + "title": "featureGates", + "type": "object" + }, "fullnameOverride": { "default": "", "description": "# Use '{{ template \"kube-prometheus-stack.fullname\" . }}-operator' by default", @@ -13029,7 +13540,7 @@ "type": "string" }, "tag": { - "default": "v0.41.0", + "default": "v0.42.0", "required": [], "title": "tag", "type": "string" @@ -14390,7 +14901,7 @@ "type": "string" }, "tag": { - "default": "2.7.3", + "default": "2.8.1", "required": [], "title": "tag", "type": "string" @@ -15486,6 +15997,36 @@ "title": "alertDropLabels", "type": "array" }, + "alertRelabelConfigFile": { + "default": "", + "description": "# Path to an alert relabel configuration file on disk. Takes precedence over alertRelabelConfigs.", + "required": [], + "title": "alertRelabelConfigFile", + "type": "string" + }, + "alertRelabelConfigs": { + "additionalProperties": true, + "description": "# Configures alert relabeling for Thanos Ruler. Maps to the alert.relabel-config CLI argument.", + "properties": { + "existingSecret": { + "additionalProperties": true, + "description": "use existing secret, if configured, alertRelabelConfigs.secret will not be used", + "required": [], + "title": "existingSecret", + "type": "object" + }, + "secret": { + "additionalProperties": true, + "description": "name: \"\"\nkey: \"\"\nrender alertRelabelConfigs secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertRelabelConfigs.existingSecret is set", + "required": [], + "title": "secret", + "type": "object" + } + }, + "required": [], + "title": "alertRelabelConfigs", + "type": "object" + }, "alertmanagersConfig": { "additionalProperties": true, "description": "# AlertmanagerConfig define configuration for connecting to alertmanager.\n# Only available with Thanos v0.10.0 and higher. Maps to the alertmanagers.config Thanos Ruler arg.", @@ -15518,6 +16059,43 @@ "title": "containers", "type": "array" }, + "dnsConfig": { + "additionalProperties": true, + "description": "# Defines the DNS configuration for the pods.", + "required": [], + "title": "dnsConfig", + "type": "object" + }, + "dnsPolicy": { + "default": "", + "description": "# Defines the DNS policy for the pods.", + "required": [], + "title": "dnsPolicy", + "type": "string" + }, + "enableFeatures": { + "description": "# EnableFeatures API enables access to Thanos Ruler disabled features.", + "items": { + "required": [] + }, + "required": [], + "title": "enableFeatures", + "type": "array" + }, + "enableServiceLinks": { + "default": "~", + "description": "# EnableServiceLinks indicates whether information about services should be injected into the\n# pod's environment variables. Uses the operator/Kubernetes default when left unset (~).", + "required": [], + "title": "enableServiceLinks", + "type": "null" + }, + "enforcedNamespaceLabel": { + "default": "", + "description": "# EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric.", + "required": [], + "title": "enforcedNamespaceLabel", + "type": "string" + }, "evaluationInterval": { "default": "", "description": "# Interval between consecutive evaluations.\n#", @@ -15525,6 +16103,15 @@ "title": "evaluationInterval", "type": "string" }, + "excludedFromEnforcement": { + "description": "# List of references to PrometheusRule objects to be excluded from enforcement (requires enforcedNamespaceLabel).\n# Can be a list of objects, or a string that is passed through tpl.", + "items": { + "required": [] + }, + "required": [], + "title": "excludedFromEnforcement", + "type": "array" + }, "externalPrefix": { "default": "", "description": "# The external URL the Thanos Ruler instances will be available under. This is necessary to generate correct URLs. This is necessary if Thanos Ruler is not served from root of a DNS name. string false\n#", @@ -15548,6 +16135,22 @@ "title": "extraEnv", "type": "array" }, + "grpcServerTlsConfig": { + "additionalProperties": true, + "description": "# Configures the gRPC server TLS for Thanos Ruler.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.TLSConfig", + "required": [], + "title": "grpcServerTlsConfig", + "type": "object" + }, + "hostAliases": { + "description": "# Pods' hostAliases configuration\n# ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/", + "items": { + "required": [] + }, + "required": [], + "title": "hostAliases", + "type": "array" + }, "hostUsers": { "default": "~", "description": "# Use the host's user namespace for ThanosRuler pods.\n# ref: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/", @@ -15578,7 +16181,7 @@ "type": "string" }, "tag": { - "default": "v0.41.0", + "default": "v0.42.0", "required": [], "title": "tag", "type": "string" @@ -15588,6 +16191,13 @@ "title": "image", "type": "object" }, + "imagePullPolicy": { + "default": "", + "description": "# Image pull policy for the Thanos Ruler container.", + "required": [], + "title": "imagePullPolicy", + "type": "string" + }, "initContainers": { "description": "# InitContainers allows injecting additional initContainers. This is meant to allow doing some changes\n# (permissions, dir tree) on mounted volumes before starting prometheus", "items": { @@ -15625,6 +16235,13 @@ "title": "logLevel", "type": "string" }, + "minReadySeconds": { + "default": "~", + "description": "# Minimum number of seconds for which a newly created pod should be ready without any of its\n# containers crashing/restarting for it to be considered available.", + "required": [], + "title": "minReadySeconds", + "type": "null" + }, "nodeSelector": { "additionalProperties": true, "description": "# Define which Nodes the Pods are scheduled on.\n# ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector\n#", @@ -15655,6 +16272,13 @@ "title": "objectStorageConfig", "type": "object" }, + "objectStorageConfigFile": { + "default": "", + "description": "# Path to an object storage configuration file on disk. Takes precedence over objectStorageConfig.", + "required": [], + "title": "objectStorageConfigFile", + "type": "string" + }, "paused": { "default": false, "description": "# If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.\n#", @@ -15736,6 +16360,15 @@ "title": "queryEndpoints", "type": "array" }, + "remoteWrite": { + "description": "# Defines the list of remote write configurations. When not empty, the Thanos Ruler operates in stateless mode.\n# ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.RemoteWriteSpec", + "items": { + "required": [] + }, + "required": [], + "title": "remoteWrite", + "type": "array" + }, "replicas": { "default": 1, "description": "# Size is the expected size of the thanosRuler cluster. The controller will eventually make the size of the\n# running cluster equal to the expected size.", @@ -15743,6 +16376,13 @@ "title": "replicas", "type": "integer" }, + "resendDelay": { + "default": "", + "description": "# Minimum amount of time to wait before resending an alert to Alertmanager.", + "required": [], + "title": "resendDelay", + "type": "string" + }, "resources": { "additionalProperties": true, "description": "# Define resources requests and limits for single Pods.\n# ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/\n#", @@ -15764,6 +16404,20 @@ "title": "routePrefix", "type": "string" }, + "ruleConcurrentEval": { + "default": "~", + "description": "# Number of concurrent rule evaluations.", + "required": [], + "title": "ruleConcurrentEval", + "type": "null" + }, + "ruleGracePeriod": { + "default": "", + "description": "# Minimum duration between alert and restored \"for\" state. Maintained only for alerts with a configured \"for\"\n# time greater than the grace period.", + "required": [], + "title": "ruleGracePeriod", + "type": "string" + }, "ruleNamespaceSelector": { "additionalProperties": true, "description": "# Namespaces to be selected for PrometheusRules discovery.\n# If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.\n# See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#namespaceselector for usage\n#", @@ -15771,6 +16425,20 @@ "title": "ruleNamespaceSelector", "type": "object" }, + "ruleOutageTolerance": { + "default": "", + "description": "# Maximum time to tolerate outage for restoring \"for\" state of alert.", + "required": [], + "title": "ruleOutageTolerance", + "type": "string" + }, + "ruleQueryOffset": { + "default": "", + "description": "# The default rule group's query offset duration to shift the evaluation time of rules backwards.\n# ref: https://github.com/prometheus-community/helm-charts/issues/5843", + "required": [], + "title": "ruleQueryOffset", + "type": "string" + }, "ruleSelector": { "additionalProperties": true, "description": "# PrometheusRules to be selected for target discovery.\n# If {}, select all PrometheusRules\n#", @@ -15871,6 +16539,36 @@ "title": "topologySpreadConstraints", "type": "array" }, + "tracingConfig": { + "additionalProperties": true, + "description": "# Configures tracing for Thanos Ruler. Maps to the tracing.config CLI argument.", + "properties": { + "existingSecret": { + "additionalProperties": true, + "description": "use existing secret, if configured, tracingConfig.secret will not be used", + "required": [], + "title": "existingSecret", + "type": "object" + }, + "secret": { + "additionalProperties": true, + "description": "name: \"\"\nkey: \"\"\nrender tracingConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when tracingConfig.existingSecret is set", + "required": [], + "title": "secret", + "type": "object" + } + }, + "required": [], + "title": "tracingConfig", + "type": "object" + }, + "tracingConfigFile": { + "default": "", + "description": "# Path to a tracing configuration file on disk (e.g. mounted through a volume). Takes precedence over tracingConfig.", + "required": [], + "title": "tracingConfigFile", + "type": "string" + }, "updateStrategy": { "additionalProperties": true, "description": "# Update strategy for the StatefulSet.\n# ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies", @@ -15878,6 +16576,13 @@ "title": "updateStrategy", "type": "object" }, + "version": { + "default": "", + "description": "# Version of Thanos Ruler to deploy. Overrides the version derived from the image tag when set.", + "required": [], + "title": "version", + "type": "string" + }, "volumeMounts": { "description": "Additional VolumeMounts on the output StatefulSet definition.", "items": { @@ -16177,4 +16882,4 @@ }, "required": [], "type": "object" -} +} \ No newline at end of file diff --git a/docs/examples/src/charts/kube_prometheus_stack/values.schema.k b/docs/examples/src/charts/kube_prometheus_stack/values.schema.k index 9756147a..9a2863f7 100644 --- a/docs/examples/src/charts/kube_prometheus_stack/values.schema.k +++ b/docs/examples/src/charts/kube_prometheus_stack/values.schema.k @@ -38,6 +38,13 @@ schema Values: Alternatively, if you wish to allow secret values to be exposed in the rendered grafana.ini configmap, you can disable this check by setting assertNoLeakedSecrets to false. + authFilter : ValuesAuthFilter, optional + Enable kube-state-metrics native request authn/authz on the metrics endpoints + via the `--auth-filter` flag, as an alternative to running kube-rbac-proxy. + When enabled, the `create` permissions on `tokenreviews` and + `subjectaccessreviews` required by the filter are added to the (Cluster)Role + automatically. Scrapers must authenticate; see the chart README and the + kube-state-metrics docs on protecting metrics endpoints. automountServiceAccountToken : bool, optional, default is True If false then the user will opt out of automounting API credentials. autoscaling : ValuesAutoscaling, optional @@ -304,6 +311,12 @@ schema Values: # ref: http://docs.grafana.org/installation/ldap/#configuration lifecycleHooks : ValuesLifecycleHooks, optional # Container Lifecycle Hooks. Execute a specific bash command or make an HTTP request + listenerSet : ValuesListenerSet, optional + BETA: Configure Gateway API ListenerSet resources for the chart here. + ListenerSet allows attaching additional listeners to an existing Gateway. + More listener sets can be added by adding a dictionary key like the 'main' entry. + Being BETA this can/will change in the future without notice, do not use unless you want to take that risk + [[ref]](https://gateway-api.sigs.k8s.io/reference/api-spec/main/spec/#listenerset) livenessProbe : ValuesLivenessProbe, optional # Liveness probe # @@ -507,6 +520,7 @@ schema Values: alertmanager?: ValuesAlertmanager annotations?: ValuesAnnotations assertNoLeakedSecrets?: bool + authFilter?: ValuesAuthFilter automountServiceAccountToken?: bool autoscaling?: ValuesAutoscaling autosharding?: ValuesAutosharding @@ -595,6 +609,7 @@ schema Values: labels?: ValuesLabels ldap?: ValuesLdap lifecycleHooks?: ValuesLifecycleHooks + listenerSet?: ValuesListenerSet livenessProbe?: ValuesLivenessProbe metricAllowlist?: [any] metricAnnotationsAllowList?: [any] @@ -758,6 +773,10 @@ schema ValuesAlertmanager: kube-prometheus-stack does not guarantee this works and is subject to change. Being BETA this can/will change in the future without notice, do not use unless you want to take that risk [[ref]](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1alpha2) + routePerReplica : ValuesAlertmanagerRoutePerReplica, optional + # Configuration for creating a Gateway API route that will map to each Alertmanager replica service + # alertmanager.servicePerReplica must be enabled + # secret : ValuesAlertmanagerSecret, optional # Configuration for Alertmanager secret # @@ -819,6 +838,7 @@ schema ValuesAlertmanager: networkPolicy?: ValuesAlertmanagerNetworkPolicy podDisruptionBudget?: ValuesAlertmanagerPodDisruptionBudget route?: ValuesAlertmanagerRoute + routePerReplica?: ValuesAlertmanagerRoutePerReplica secret?: ValuesAlertmanagerSecret service?: ValuesAlertmanagerService serviceAccount?: ValuesAlertmanagerServiceAccount @@ -888,6 +908,10 @@ schema ValuesAlertmanagerAlertmanagerSpec: clusterPushpullInterval : str, optional, default is "" # clusterPushpullInterval determines interval between pushpull attempts. # Needs to be specified as GoDuration, a time duration that can be parsed by Go's time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s) + clusterTLS : ValuesAlertmanagerAlertmanagerSpecClusterTls, optional + # ClusterTLS defines the mutual TLS configuration for the Alertmanager cluster's gossip protocol. + # Requires Alertmanager >= v0.24.0. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ClusterTLSConfig configMaps : [any], optional # ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods. # The ConfigMaps are mounted into /etc/alertmanager/configmaps/. @@ -901,12 +925,18 @@ schema ValuesAlertmanagerAlertmanagerSpec: dnsPolicy : str, optional, default is "" # DNS policy for Alertmanager. # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#dnspolicystring-alias + enableServiceLinks : any, optional, default is "~" + # EnableServiceLinks indicates whether information about services should be injected into the + # pod's environment variables. Uses the operator/Kubernetes default when left unset (~). externalUrl : any, optional, default is "" # The external URL the Alertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name. string false # forceEnableClusterMode : bool, optional, default is False # ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica. # Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each. + hostAliases : [any], optional + # Pods' hostAliases configuration + # ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ hostNetwork : bool, optional, default is False # Enable hostNetwork for Alertmanager. hostUsers : any, optional, default is "~" @@ -918,6 +948,9 @@ schema ValuesAlertmanagerAlertmanagerSpec: initContainers : [any], optional # InitContainers allows injecting additional initContainers. This is meant to allow doing some changes # (permissions, dir tree) on mounted volumes before starting prometheus + limits : ValuesAlertmanagerAlertmanagerSpecLimits, optional + # Limits defines the Alertmanager limits command line flags. Requires Alertmanager >= v0.28.0. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.AlertmanagerLimitsSpec listenLocal : bool, optional, default is False # ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP. # Note this is only for the Alertmanager UI, not the gossip communication. @@ -983,6 +1016,8 @@ schema ValuesAlertmanagerAlertmanagerSpec: # The route prefix Alertmanager 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. # + schedulerName : str, optional, default is "" + # Set the scheduler name to use for the Alertmanager pods. scheme : str, optional, default is "" # scheme: HTTP scheme to use. Can be used with `tlsConfig` for example if using istio mTLS. secrets : [any], optional @@ -1045,16 +1080,20 @@ schema ValuesAlertmanagerAlertmanagerSpec: clusterLabel?: str clusterPeerTimeout?: str clusterPushpullInterval?: str + clusterTLS?: ValuesAlertmanagerAlertmanagerSpecClusterTls configMaps?: [any] containers?: [any] dnsConfig?: ValuesAlertmanagerAlertmanagerSpecDnsConfig dnsPolicy?: str + enableServiceLinks?: any externalUrl?: any forceEnableClusterMode?: bool + hostAliases?: [any] hostNetwork?: bool hostUsers?: any image?: ValuesAlertmanagerAlertmanagerSpecImage initContainers?: [any] + limits?: ValuesAlertmanagerAlertmanagerSpecLimits listenLocal?: bool logFormat?: str logLevel?: str @@ -1072,6 +1111,7 @@ schema ValuesAlertmanagerAlertmanagerSpec: resources?: ValuesAlertmanagerAlertmanagerSpecResources retention?: str routePrefix?: str + schedulerName?: str scheme?: str secrets?: [any] securityContext?: ValuesAlertmanagerAlertmanagerSpecSecurityContext @@ -1129,6 +1169,14 @@ schema ValuesAlertmanagerAlertmanagerSpecAlertmanagerConfiguration: """ [...str]: any +schema ValuesAlertmanagerAlertmanagerSpecClusterTls: + r""" + # ClusterTLS defines the mutual TLS configuration for the Alertmanager cluster's gossip protocol. + # Requires Alertmanager >= v0.24.0. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ClusterTLSConfig + """ + [...str]: any + schema ValuesAlertmanagerAlertmanagerSpecDnsConfig: r""" # DNS configuration for Alertmanager. @@ -1147,7 +1195,7 @@ schema ValuesAlertmanagerAlertmanagerSpecImage: registry : str, optional, default is "quay.io" repository : str, optional, default is "prometheus/alertmanager" sha : str, optional, default is "" - tag : str, optional, default is "v0.32.2" + tag : str, optional, default is "v0.33.1" """ [...str]: any pullPolicy?: str @@ -1156,6 +1204,13 @@ schema ValuesAlertmanagerAlertmanagerSpecImage: sha?: str tag?: str +schema ValuesAlertmanagerAlertmanagerSpecLimits: + r""" + # Limits defines the Alertmanager limits command line flags. Requires Alertmanager >= v0.28.0. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.AlertmanagerLimitsSpec + """ + [...str]: any + schema ValuesAlertmanagerAlertmanagerSpecNodeSelector: r""" # Define which Nodes the Pods are scheduled on. @@ -1713,6 +1768,111 @@ schema ValuesAlertmanagerRouteMainSessionPersistence: """ [...str]: any +schema ValuesAlertmanagerRoutePerReplica: + r""" + # Configuration for creating a Gateway API route that will map to each Alertmanager replica service + # alertmanager.servicePerReplica must be enabled + # + + Attributes + ---------- + main : ValuesAlertmanagerRoutePerReplicaMain, optional + """ + [...str]: any + main?: ValuesAlertmanagerRoutePerReplicaMain + +schema ValuesAlertmanagerRoutePerReplicaMain: + r""" + ValuesAlertmanagerRoutePerReplicaMain + + Attributes + ---------- + additionalRules : [any], optional + # Additional custom rules that can be added to the route + annotations : ValuesAlertmanagerRoutePerReplicaMainAnnotations, optional + apiVersion : str, optional, default is "gateway.networking.k8s.io/v1" + Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2 + enabled : bool, optional, default is False + Enables or disables the routePerReplica + filters : [any], optional + # Filters define the filters that are applied to requests that match this rule. + hostDomain : str, optional, default is "" + # Domain that will be used for the per replica route + hostPrefix : str, optional, default is "" + # Final form of the hostname for each per replica route is + # {{ routePerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ routePerReplica.hostDomain }} + # + # Prefix for the per replica route that will have `-$replicaNumber` appended to the end + httpsRedirect : bool, optional, default is False + create http route for redirect (https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/#http-to-https-redirects) + # Take care that you only enable this on the http listener of the gateway to avoid an infinite redirect. + # matches, filters and additionalRules will be ignored if this is set to true. + kind : str, optional, default is "HTTPRoute" + Set the route kind + Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute + labels : ValuesAlertmanagerRoutePerReplicaMainLabels, optional + matches : [ValuesAlertmanagerRoutePerReplicaMainMatchesItems0], optional + parentRefs : [any], optional + sessionPersistence : ValuesAlertmanagerRoutePerReplicaMainSessionPersistence, optional + # Session persistence configuration for the route rule. + """ + [...str]: any + additionalRules?: [any] + annotations?: ValuesAlertmanagerRoutePerReplicaMainAnnotations + apiVersion?: str + enabled?: bool + filters?: [any] + hostDomain?: str + hostPrefix?: str + httpsRedirect?: bool + kind?: str + labels?: ValuesAlertmanagerRoutePerReplicaMainLabels + matches?: [ValuesAlertmanagerRoutePerReplicaMainMatchesItems0] + parentRefs?: [any] + sessionPersistence?: ValuesAlertmanagerRoutePerReplicaMainSessionPersistence + +schema ValuesAlertmanagerRoutePerReplicaMainAnnotations: + r""" + ValuesAlertmanagerRoutePerReplicaMainAnnotations + """ + [...str]: any + +schema ValuesAlertmanagerRoutePerReplicaMainLabels: + r""" + ValuesAlertmanagerRoutePerReplicaMainLabels + """ + [...str]: any + +schema ValuesAlertmanagerRoutePerReplicaMainMatchesItems0: + r""" + ValuesAlertmanagerRoutePerReplicaMainMatchesItems0 + + Attributes + ---------- + path : ValuesAlertmanagerRoutePerReplicaMainMatchesItems0Path, optional + """ + [...str]: any + path?: ValuesAlertmanagerRoutePerReplicaMainMatchesItems0Path + +schema ValuesAlertmanagerRoutePerReplicaMainMatchesItems0Path: + r""" + ValuesAlertmanagerRoutePerReplicaMainMatchesItems0Path + + Attributes + ---------- + $type : str, optional, default is "PathPrefix" + value : str, optional, default is "/" + """ + [...str]: any + $type?: str + value?: str + +schema ValuesAlertmanagerRoutePerReplicaMainSessionPersistence: + r""" + # Session persistence configuration for the route rule. + """ + [...str]: any + schema ValuesAlertmanagerSecret: r""" # Configuration for Alertmanager secret @@ -2074,6 +2234,22 @@ schema ValuesAnnotations: """ [...str]: any +schema ValuesAuthFilter: + r""" + Enable kube-state-metrics native request authn/authz on the metrics endpoints + via the `--auth-filter` flag, as an alternative to running kube-rbac-proxy. + When enabled, the `create` permissions on `tokenreviews` and + `subjectaccessreviews` required by the filter are added to the (Cluster)Role + automatically. Scrapers must authenticate; see the chart README and the + kube-state-metrics docs on protecting metrics endpoints. + + Attributes + ---------- + enabled : bool, optional, default is False + """ + [...str]: any + enabled?: bool + schema ValuesAutoscaling: r""" # Create HorizontalPodAutoscaler object for deployment type @@ -2709,7 +2885,7 @@ schema ValuesDefaultRules: ---------- additionalAggregationLabels : [any], optional additionalRuleAnnotations : ValuesDefaultRulesAdditionalRuleAnnotations, optional - # Additional annotations for PrometheusRule alerts + # Additional annotations for specific PrometheusRule alerts by alert name additionalRuleGroupAnnotations : ValuesDefaultRulesAdditionalRuleGroupAnnotations, optional # Additional annotations for specific PrometheusRule alert groups additionalRuleGroupLabels : ValuesDefaultRulesAdditionalRuleGroupLabels, optional @@ -2760,7 +2936,7 @@ schema ValuesDefaultRules: schema ValuesDefaultRulesAdditionalRuleAnnotations: r""" - # Additional annotations for PrometheusRule alerts + # Additional annotations for specific PrometheusRule alerts by alert name """ [...str]: any @@ -3493,7 +3669,7 @@ schema ValuesDownloadDashboardsImage: The Docker registry repository : str, optional, default is "curlimages/curl" sha : str, optional, default is "" - tag : str, optional, default is "8.20.0" + tag : str, optional, default is "8.21.0" """ [...str]: any pullPolicy?: str @@ -5710,7 +5886,7 @@ schema ValuesKubeRbacproxyImage: registry : str, optional, default is "quay.io" repository : str, optional, default is "brancz/kube-rbac-proxy" sha : str, optional, default is "" - tag : str, optional, default is "v0.22.0" + tag : str, optional, default is "v0.22.1" """ [...str]: any pullPolicy?: str @@ -6288,6 +6464,64 @@ schema ValuesLifecycleHooks: """ [...str]: any +schema ValuesListenerSet: + r""" + BETA: Configure Gateway API ListenerSet resources for the chart here. + ListenerSet allows attaching additional listeners to an existing Gateway. + More listener sets can be added by adding a dictionary key like the 'main' entry. + Being BETA this can/will change in the future without notice, do not use unless you want to take that risk + [[ref]](https://gateway-api.sigs.k8s.io/reference/api-spec/main/spec/#listenerset) + + Attributes + ---------- + main : ValuesListenerSetMain, optional + """ + [...str]: any + main?: ValuesListenerSetMain + +schema ValuesListenerSetMain: + r""" + ValuesListenerSetMain + + Attributes + ---------- + annotations : ValuesListenerSetMainAnnotations, optional + apiVersion : str, optional, default is "gateway.networking.k8s.io/v1" + Set the ListenerSet apiVersion, e.g. gateway.networking.k8s.io/v1 + enabled : bool, optional, default is False + Enables or disables the listener set + labels : ValuesListenerSetMainLabels, optional + listeners : [any], optional + List of listeners to attach to the parent Gateway + parentRef : ValuesListenerSetMainParentRef, optional + Reference to the parent Gateway this ListenerSet attaches to + """ + [...str]: any + annotations?: ValuesListenerSetMainAnnotations + apiVersion?: str + enabled?: bool + labels?: ValuesListenerSetMainLabels + listeners?: [any] + parentRef?: ValuesListenerSetMainParentRef + +schema ValuesListenerSetMainAnnotations: + r""" + ValuesListenerSetMainAnnotations + """ + [...str]: any + +schema ValuesListenerSetMainLabels: + r""" + ValuesListenerSetMainLabels + """ + [...str]: any + +schema ValuesListenerSetMainParentRef: + r""" + Reference to the parent Gateway this ListenerSet attaches to + """ + [...str]: any + schema ValuesLivenessProbe: r""" # Liveness probe @@ -6626,6 +6860,10 @@ schema ValuesPersistence: lookupVolumeName : bool, optional, default is True # If 'lookupVolumeName' is set to true, Helm will attempt to retrieve # the current value of 'spec.volumeName' and incorporate it into the template. + persistentVolumeClaimRetentionPolicy : ValuesPersistencePersistentVolumeClaimRetentionPolicy, optional + # Configure StatefulSet persistent volume claim retention policy. + # This is ignored when Grafana is configured to use a Deployment with a PVC. + # By default, Kubernetes uses Retain for both whenDeleted and whenScaled. size : str, optional, default is "10Gi" $type : str, optional, default is "pvc" volumeName : str, optional, default is "" @@ -6640,6 +6878,7 @@ schema ValuesPersistence: finalizers?: [str] inMemory?: ValuesPersistenceInMemory lookupVolumeName?: bool + persistentVolumeClaimRetentionPolicy?: ValuesPersistencePersistentVolumeClaimRetentionPolicy size?: str $type?: str volumeName?: str @@ -6668,6 +6907,14 @@ schema ValuesPersistenceInMemory: [...str]: any enabled?: bool +schema ValuesPersistencePersistentVolumeClaimRetentionPolicy: + r""" + # Configure StatefulSet persistent volume claim retention policy. + # This is ignored when Grafana is configured to use a Deployment with a PVC. + # By default, Kubernetes uses Retain for both whenDeleted and whenScaled. + """ + [...str]: any + schema ValuesPodAnnotations: r""" Annotations to be added to windows exporter pods @@ -6754,6 +7001,10 @@ schema ValuesPrometheus: kube-prometheus-stack does not guarantee this works and is subject to change. Being BETA this can/will change in the future without notice, do not use unless you want to take that risk [[ref]](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1alpha2) + routePerReplica : ValuesPrometheusRoutePerReplica, optional + # Configuration for creating a Gateway API route that will map to each Prometheus replica service + # prometheus.servicePerReplica must be enabled + # scrapeconfig : ValuesPrometheusScrapeconfig, optional # Create a scrapeConfig resource for scraping the kube-state-metrics service. Use this instead of serviceMonitor # to have more instances of kube-state-metrics safety. @@ -6804,6 +7055,7 @@ schema ValuesPrometheus: podMonitor?: ValuesPrometheusPodMonitor prometheusSpec?: ValuesPrometheusPrometheusSpec route?: ValuesPrometheusRoute + routePerReplica?: ValuesPrometheusRoutePerReplica scrapeconfig?: ValuesPrometheusScrapeconfig service?: ValuesPrometheusService serviceAccount?: ValuesPrometheusServiceAccount @@ -7470,6 +7722,13 @@ schema ValuesPrometheusOperator: extraVolumes : [any], optional # Additional volumes # + featureGates : ValuesPrometheusOperatorFeatureGates, optional + # Feature gates to enable/disable operator features, rendered as --feature-gates==. + # See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/feature-gates.md + # Example: + # featureGates: + # PrometheusAgentDaemonSet: true + # StatusForConfigurationResources: true fullnameOverride : str, optional, default is "" # Use '{{ template "kube-prometheus-stack.fullname" . }}-operator' by default hostNetwork : bool, optional, default is False @@ -7596,6 +7855,7 @@ schema ValuesPrometheusOperator: extraArgs?: [any] extraVolumeMounts?: [any] extraVolumes?: [any] + featureGates?: ValuesPrometheusOperatorFeatureGates fullnameOverride?: str hostNetwork?: bool hostUsers?: any @@ -8347,7 +8607,7 @@ schema ValuesPrometheusOperatorAdmissionWebhooksPatchImage: registry : str, optional, default is "ghcr.io" repository : str, optional, default is "jkroepke/kube-webhook-certgen" sha : str, optional, default is "" - tag : str, optional, default is "1.8.3" + tag : str, optional, default is "1.8.4" """ [...str]: any pullPolicy?: str @@ -8553,6 +8813,17 @@ schema ValuesPrometheusOperatorEnv: [...str]: any GOGC?: str +schema ValuesPrometheusOperatorFeatureGates: + r""" + # Feature gates to enable/disable operator features, rendered as --feature-gates==. + # See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/feature-gates.md + # Example: + # featureGates: + # PrometheusAgentDaemonSet: true + # StatusForConfigurationResources: true + """ + [...str]: any + schema ValuesPrometheusOperatorImage: r""" # Prometheus-operator image @@ -8985,7 +9256,7 @@ schema ValuesPrometheusOperatorThanosImage: registry : str, optional, default is "quay.io" repository : str, optional, default is "thanos/thanos" sha : str, optional, default is "" - tag : str, optional, default is "v0.41.0" + tag : str, optional, default is "v0.42.0" """ [...str]: any registry?: str @@ -9361,6 +9632,8 @@ schema ValuesPrometheusPrometheusSpec: # If the field isn't set, the operator mounts the service account token by default. # Warning: be aware that by default, Prometheus requires the service account token for Kubernetes service discovery, # It is possible to use strategic merge patch to project the service account token into the 'prometheus' container. + bodySizeLimit : str, optional, default is "" + # BodySizeLimit defines a global limit on the size of uncompressed response body that will be accepted. Example: 100MB. configMaps : [any], optional # ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. # The ConfigMaps are mounted into /etc/prometheus/configmaps/. @@ -9397,6 +9670,12 @@ schema ValuesPrometheusPrometheusSpec: enableRemoteWriteReceiver : bool, optional, default is False # enable --web.enable-remote-write-receiver flag on prometheus-server # + enableServiceLinks : any, optional, default is "~" + # EnableServiceLinks indicates whether information about services should be injected into the pod's environment + # variables. Uses the operator/Kubernetes default when left unset (~). + enforcedBodySizeLimit : str, optional, default is "" + # EnforcedBodySizeLimit defines the maximum size of uncompressed response body that will be accepted, overriding any + # value set per ServiceMonitor/PodMonitor. Example: 100MB. Empty means no limit. enforcedKeepDroppedTargets : int, optional, default is 0 EnforcedKeepDroppedTargetsLimit defines on the number of targets dropped by relabeling that will be kept in memory. The value overrides any spec.keepDroppedTargets set by ServiceMonitor, PodMonitor, Probe objects unless spec.keepDroppedTargets @@ -9465,6 +9744,14 @@ schema ValuesPrometheusPrometheusSpec: initContainers : [any], optional # InitContainers allows injecting additional initContainers. This is meant to allow doing some changes # (permissions, dir tree) on mounted volumes before starting prometheus + keepDroppedTargets : int, optional, default is 0 + # Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. + labelLimit : int, optional, default is 0 + # Per-scrape limit on number of labels that will be accepted for a sample. 0 means no limit. + labelNameLengthLimit : int, optional, default is 0 + # Per-scrape limit on length of labels name that will be accepted for a sample. 0 means no limit. + labelValueLengthLimit : int, optional, default is 0 + # Per-scrape limit on length of labels value that will be accepted for a sample. 0 means no limit. listenLocal : bool, optional, default is False # ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP. # @@ -9483,6 +9770,9 @@ schema ValuesPrometheusPrometheusSpec: minReadySeconds : int, optional, default is 0 # Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to # be considered available. Defaults to 0 (pod will be considered available as soon as it is ready). + nameEscapingScheme : str, optional, default is "" + # Specifies the character escaping scheme applied to metric and label names. + # Supported values are: AllowUTF8, Underscores, Dots, Values nameValidationScheme : str, optional, default is "" # Specifies the validation scheme for metric and label names. # Supported values are: Legacy, UTF8 @@ -9574,6 +9864,9 @@ schema ValuesPrometheusPrometheusSpec: # 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/) + reloadStrategy : str, optional, default is "" + # Defines the strategy used to reload the Prometheus configuration. + # Supported values are: HTTP, ProcessSignal remoteRead : [any], optional # The remote_read spec configuration for Prometheus. # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#remotereadspec @@ -9582,6 +9875,8 @@ schema ValuesPrometheusPrometheusSpec: # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#remotewritespec remoteWriteDashboards : bool, optional, default is False # Enable/Disable Grafana dashboards provisioning for prometheus remote write feature + remoteWriteReceiverMessageVersions : [any], optional + # List of the protobuf message versions to accept when receiving the remote writes. Example: [V1.0, V2.0]. replicaExternalLabelName : str, optional, default is "" # Name of the external label used to denote replica name # @@ -9607,6 +9902,9 @@ schema ValuesPrometheusPrometheusSpec: # ruleNamespaceSelector : ValuesPrometheusPrometheusSpecRuleNamespaceSelector, optional # If nil, select own namespace. Namespaces to be selected for PrometheusRules discovery. + ruleQueryOffset : str, optional, default is "" + # Defines the offset the rule evaluation timestamp of the rule evaluation queries is shifted backwards. + # ref: https://github.com/prometheus-community/helm-charts/issues/5843 ruleSelector : ValuesPrometheusPrometheusSpecRuleSelector, optional # PrometheusRules to be selected for target discovery. # If {}, select all PrometheusRules @@ -9616,9 +9914,13 @@ schema ValuesPrometheusPrometheusSpec: # prometheus resource to be created with selectors based on values in the helm deployment, # which will also match the PrometheusRule resources created # + runtime : ValuesPrometheusPrometheusSpecRuntime, optional + # RuntimeConfig configures the values for the Prometheus process behavior. sampleLimit : bool, optional, default is False Use to set global sample_limit for Prometheus. This act as default SampleLimit for ServiceMonitor or/and PodMonitor. Set to 'false' to disable global sample_limit. or set to a number to override the default value. + schedulerName : str, optional, default is "" + # Set the scheduler name to use for the Prometheus pods. scrapeClasses : [any], optional # List of scrape classes to expose to scraping objects such as # PodMonitors, ServiceMonitors, Probes and ScrapeConfigs. @@ -9691,6 +9993,12 @@ schema ValuesPrometheusPrometheusSpec: # serviceName : any, optional, default is "" # + shardRetentionPolicy : ValuesPrometheusPrometheusSpecShardRetentionPolicy, optional + # Defines the retention policy for the resources of stale shards after a scale-down. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ShardRetentionPolicy + shardingStrategy : ValuesPrometheusPrometheusSpecShardingStrategy, optional + # Defines the sharding strategy applied by the operator. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ShardingStrategy shards : int, optional, default is 1 # EXPERIMENTAL: Number of shards to distribute targets onto. # Number of replicas multiplied by shards is the total number of Pods created. @@ -9698,11 +10006,16 @@ schema ValuesPrometheusPrometheusSpec: # Increasing shards will not reshard data either but it will continue to be available from the same instances. # To query globally use Thanos sidecar and Thanos querier or remote write data to a central location. # Sharding is done on the content of the `__address__` target meta-label. + # Set shards to null to omit spec.shards from the Prometheus custom resource (the operator then + # defaults to 1 shard). Omitting the field lets an external autoscaler such as an HPA or a KEDA + # ScaledObject own spec.shards through the /scale subresource without Helm reverting it. # storageSpec : ValuesPrometheusPrometheusSpecStorageSpec, optional # Prometheus StorageSpec for persistent data # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/platform/storage.md # + targetLimit : int, optional, default is 0 + # TargetLimit defines a global limit on the number of scraped targets. 0 means no limit. terminationGracePeriodSeconds : any, optional, default is "~" # Duration in seconds the pod needs to terminate gracefully. # ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination @@ -9762,6 +10075,7 @@ schema ValuesPrometheusPrometheusSpec: apiserverConfig?: ValuesPrometheusPrometheusSpecApiserverConfig arbitraryFSAccessThroughSMs?: bool automountServiceAccountToken?: bool + bodySizeLimit?: str configMaps?: [any] containers?: [any] convertClassicHistogramsToNHCB?: bool @@ -9773,6 +10087,8 @@ schema ValuesPrometheusPrometheusSpec: enableFeatures?: [any] enableOTLPReceiver?: bool enableRemoteWriteReceiver?: bool + enableServiceLinks?: any + enforcedBodySizeLimit?: str enforcedKeepDroppedTargets?: int enforcedLabelLimit?: bool enforcedLabelNameLengthLimit?: bool @@ -9791,11 +10107,16 @@ schema ValuesPrometheusPrometheusSpec: ignoreNamespaceSelectors?: bool image?: ValuesPrometheusPrometheusSpecImage initContainers?: [any] + keepDroppedTargets?: int + labelLimit?: int + labelNameLengthLimit?: int + labelValueLengthLimit?: int listenLocal?: bool logFormat?: str logLevel?: str maximumStartupDurationSeconds?: int minReadySeconds?: int + nameEscapingScheme?: str nameValidationScheme?: str nodeSelector?: ValuesPrometheusPrometheusSpecNodeSelector otlp?: ValuesPrometheusPrometheusSpecOtlp @@ -9821,9 +10142,11 @@ schema ValuesPrometheusPrometheusSpec: prometheusRulesExcludedFromEnforce?: [any] query?: ValuesPrometheusPrometheusSpecQuery queryLogFile?: bool + reloadStrategy?: str remoteRead?: [any] remoteWrite?: [any] remoteWriteDashboards?: bool + remoteWriteReceiverMessageVersions?: [any] replicaExternalLabelName?: str replicaExternalLabelNameClear?: bool replicas?: int @@ -9832,9 +10155,12 @@ schema ValuesPrometheusPrometheusSpec: retentionSize?: str routePrefix?: str ruleNamespaceSelector?: ValuesPrometheusPrometheusSpecRuleNamespaceSelector + ruleQueryOffset?: str ruleSelector?: ValuesPrometheusPrometheusSpecRuleSelector ruleSelectorNilUsesHelmValues?: bool + runtime?: ValuesPrometheusPrometheusSpecRuntime sampleLimit?: bool + schedulerName?: str scrapeClasses?: [any] scrapeClassicHistograms?: bool scrapeConfigNamespaceSelector?: ValuesPrometheusPrometheusSpecScrapeConfigNamespaceSelector @@ -9852,8 +10178,11 @@ schema ValuesPrometheusPrometheusSpec: serviceMonitorSelector?: ValuesPrometheusPrometheusSpecServiceMonitorSelector serviceMonitorSelectorNilUsesHelmValues?: bool serviceName?: any + shardRetentionPolicy?: ValuesPrometheusPrometheusSpecShardRetentionPolicy + shardingStrategy?: ValuesPrometheusPrometheusSpecShardingStrategy shards?: int storageSpec?: ValuesPrometheusPrometheusSpecStorageSpec + targetLimit?: int terminationGracePeriodSeconds?: any thanos?: ValuesPrometheusPrometheusSpecThanos tolerations?: [any] @@ -9954,7 +10283,7 @@ schema ValuesPrometheusPrometheusSpecImage: registry : str, optional, default is "quay.io" repository : str, optional, default is "prometheus/prometheus" sha : str, optional, default is "" - tag : str, optional, default is "v3.12.0-distroless" + tag : str, optional, default is "v3.13.1-distroless" """ [...str]: any pullPolicy?: str @@ -10054,6 +10383,12 @@ schema ValuesPrometheusPrometheusSpecRuleSelector: """ [...str]: any +schema ValuesPrometheusPrometheusSpecRuntime: + r""" + # RuntimeConfig configures the values for the Prometheus process behavior. + """ + [...str]: any + schema ValuesPrometheusPrometheusSpecScrapeConfigNamespaceSelector: r""" # If nil, select own namespace. Namespaces to be selected for scrapeConfig discovery. @@ -10117,6 +10452,20 @@ schema ValuesPrometheusPrometheusSpecServiceMonitorSelector: """ [...str]: any +schema ValuesPrometheusPrometheusSpecShardRetentionPolicy: + r""" + # Defines the retention policy for the resources of stale shards after a scale-down. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ShardRetentionPolicy + """ + [...str]: any + +schema ValuesPrometheusPrometheusSpecShardingStrategy: + r""" + # Defines the sharding strategy applied by the operator. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.ShardingStrategy + """ + [...str]: any + schema ValuesPrometheusPrometheusSpecStorageSpec: r""" # Prometheus StorageSpec for persistent data @@ -10270,6 +10619,111 @@ schema ValuesPrometheusRouteMainSessionPersistence: """ [...str]: any +schema ValuesPrometheusRoutePerReplica: + r""" + # Configuration for creating a Gateway API route that will map to each Prometheus replica service + # prometheus.servicePerReplica must be enabled + # + + Attributes + ---------- + main : ValuesPrometheusRoutePerReplicaMain, optional + """ + [...str]: any + main?: ValuesPrometheusRoutePerReplicaMain + +schema ValuesPrometheusRoutePerReplicaMain: + r""" + ValuesPrometheusRoutePerReplicaMain + + Attributes + ---------- + additionalRules : [any], optional + # Additional custom rules that can be added to the route + annotations : ValuesPrometheusRoutePerReplicaMainAnnotations, optional + apiVersion : str, optional, default is "gateway.networking.k8s.io/v1" + Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2 + enabled : bool, optional, default is False + Enables or disables the routePerReplica + filters : [any], optional + # Filters define the filters that are applied to requests that match this rule. + hostDomain : str, optional, default is "" + # Domain that will be used for the per replica route + hostPrefix : str, optional, default is "" + # Final form of the hostname for each per replica route is + # {{ routePerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ routePerReplica.hostDomain }} + # + # Prefix for the per replica route that will have `-$replicaNumber` appended to the end + httpsRedirect : bool, optional, default is False + create http route for redirect (https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/#http-to-https-redirects) + # Take care that you only enable this on the http listener of the gateway to avoid an infinite redirect. + # matches, filters and additionalRules will be ignored if this is set to true. + kind : str, optional, default is "HTTPRoute" + Set the route kind + Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute + labels : ValuesPrometheusRoutePerReplicaMainLabels, optional + matches : [ValuesPrometheusRoutePerReplicaMainMatchesItems0], optional + parentRefs : [any], optional + sessionPersistence : ValuesPrometheusRoutePerReplicaMainSessionPersistence, optional + # Session persistence configuration for the route rule. + """ + [...str]: any + additionalRules?: [any] + annotations?: ValuesPrometheusRoutePerReplicaMainAnnotations + apiVersion?: str + enabled?: bool + filters?: [any] + hostDomain?: str + hostPrefix?: str + httpsRedirect?: bool + kind?: str + labels?: ValuesPrometheusRoutePerReplicaMainLabels + matches?: [ValuesPrometheusRoutePerReplicaMainMatchesItems0] + parentRefs?: [any] + sessionPersistence?: ValuesPrometheusRoutePerReplicaMainSessionPersistence + +schema ValuesPrometheusRoutePerReplicaMainAnnotations: + r""" + ValuesPrometheusRoutePerReplicaMainAnnotations + """ + [...str]: any + +schema ValuesPrometheusRoutePerReplicaMainLabels: + r""" + ValuesPrometheusRoutePerReplicaMainLabels + """ + [...str]: any + +schema ValuesPrometheusRoutePerReplicaMainMatchesItems0: + r""" + ValuesPrometheusRoutePerReplicaMainMatchesItems0 + + Attributes + ---------- + path : ValuesPrometheusRoutePerReplicaMainMatchesItems0Path, optional + """ + [...str]: any + path?: ValuesPrometheusRoutePerReplicaMainMatchesItems0Path + +schema ValuesPrometheusRoutePerReplicaMainMatchesItems0Path: + r""" + ValuesPrometheusRoutePerReplicaMainMatchesItems0Path + + Attributes + ---------- + $type : str, optional, default is "PathPrefix" + value : str, optional, default is "/" + """ + [...str]: any + $type?: str + value?: str + +schema ValuesPrometheusRoutePerReplicaMainSessionPersistence: + r""" + # Session persistence configuration for the route rule. + """ + [...str]: any + schema ValuesPrometheusScrapeconfig: r""" # Create a scrapeConfig resource for scraping the kube-state-metrics service. Use this instead of serviceMonitor @@ -12007,7 +12461,7 @@ schema ValuesSidecarImage: The Docker registry repository : str, optional, default is "kiwigrid/k8s-sidecar" sha : str, optional, default is "" - tag : str, optional, default is "2.7.3" + tag : str, optional, default is "2.8.1" """ [...str]: any registry?: str @@ -12878,15 +13332,33 @@ schema ValuesThanosRulerThanosRulerSpec: alertDropLabels : [any], optional # Labels by name to drop before sending to alertmanager # Maps to the --alert.label-drop flag of thanos ruler. + alertRelabelConfigFile : str, optional, default is "" + # Path to an alert relabel configuration file on disk. Takes precedence over alertRelabelConfigs. + alertRelabelConfigs : ValuesThanosRulerThanosRulerSpecAlertRelabelConfigs, optional + # Configures alert relabeling for Thanos Ruler. Maps to the alert.relabel-config CLI argument. alertmanagersConfig : ValuesThanosRulerThanosRulerSpecAlertmanagersConfig, optional # AlertmanagerConfig define configuration for connecting to alertmanager. # Only available with Thanos v0.10.0 and higher. Maps to the alertmanagers.config Thanos Ruler arg. containers : [any], optional # Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an ThanosRuler pod. # + dnsConfig : ValuesThanosRulerThanosRulerSpecDnsConfig, optional + # Defines the DNS configuration for the pods. + dnsPolicy : str, optional, default is "" + # Defines the DNS policy for the pods. + enableFeatures : [any], optional + # EnableFeatures API enables access to Thanos Ruler disabled features. + enableServiceLinks : any, optional, default is "~" + # EnableServiceLinks indicates whether information about services should be injected into the + # pod's environment variables. Uses the operator/Kubernetes default when left unset (~). + enforcedNamespaceLabel : str, optional, default is "" + # EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric. evaluationInterval : str, optional, default is "" # Interval between consecutive evaluations. # + excludedFromEnforcement : [any], optional + # List of references to PrometheusRule objects to be excluded from enforcement (requires enforcedNamespaceLabel). + # Can be a list of objects, or a string that is passed through tpl. externalPrefix : any, optional, default is "" # The external URL the Thanos Ruler instances will be available under. This is necessary to generate correct URLs. This is necessary if Thanos Ruler is not served from root of a DNS name. string false # @@ -12897,12 +13369,20 @@ schema ValuesThanosRulerThanosRulerSpec: # Additional environment variables to set on the ThanosRuler container. # This is rendered through the Prometheus Operator strategic merge patch. # + grpcServerTlsConfig : ValuesThanosRulerThanosRulerSpecGrpcServerTlsConfig, optional + # Configures the gRPC server TLS for Thanos Ruler. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.TLSConfig + hostAliases : [any], optional + # Pods' hostAliases configuration + # ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ hostUsers : any, optional, default is "~" # Use the host's user namespace for ThanosRuler pods. # ref: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/ image : ValuesThanosRulerThanosRulerSpecImage, optional # Image of ThanosRuler # + imagePullPolicy : str, optional, default is "" + # Image pull policy for the Thanos Ruler container. initContainers : [any], optional # InitContainers allows injecting additional initContainers. This is meant to allow doing some changes # (permissions, dir tree) on mounted volumes before starting prometheus @@ -12920,12 +13400,17 @@ schema ValuesThanosRulerThanosRulerSpec: logLevel : str, optional, default is "info" # Log level for ThanosRuler to be configured with. # + minReadySeconds : any, optional, default is "~" + # Minimum number of seconds for which a newly created pod should be ready without any of its + # containers crashing/restarting for it to be considered available. nodeSelector : ValuesThanosRulerThanosRulerSpecNodeSelector, optional # Define which Nodes the Pods are scheduled on. # ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector # objectStorageConfig : ValuesThanosRulerThanosRulerSpecObjectStorageConfig, optional # ObjectStorageConfig configures object storage in Thanos + objectStorageConfigFile : str, optional, default is "" + # Path to an object storage configuration file on disk. Takes precedence over objectStorageConfig. paused : bool, optional, default is False # If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions. # @@ -12958,9 +13443,14 @@ schema ValuesThanosRulerThanosRulerSpec: queryEndpoints : [any], optional # QueryEndpoints defines Thanos querier endpoints from which to query metrics. # Maps to the --query flag of thanos ruler. + remoteWrite : [any], optional + # Defines the list of remote write configurations. When not empty, the Thanos Ruler operates in stateless mode. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.RemoteWriteSpec replicas : int, optional, default is 1 # Size is the expected size of the thanosRuler cluster. The controller will eventually make the size of the # running cluster equal to the expected size. + resendDelay : str, optional, default is "" + # Minimum amount of time to wait before resending an alert to Alertmanager. resources : ValuesThanosRulerThanosRulerSpecResources, optional # Define resources requests and limits for single Pods. # ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ @@ -12973,11 +13463,21 @@ schema ValuesThanosRulerThanosRulerSpec: # The route prefix ThanosRuler 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. # + ruleConcurrentEval : any, optional, default is "~" + # Number of concurrent rule evaluations. + ruleGracePeriod : str, optional, default is "" + # Minimum duration between alert and restored "for" state. Maintained only for alerts with a configured "for" + # time greater than the grace period. ruleNamespaceSelector : ValuesThanosRulerThanosRulerSpecRuleNamespaceSelector, optional # Namespaces to be selected for PrometheusRules discovery. # If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery. # See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#namespaceselector for usage # + ruleOutageTolerance : str, optional, default is "" + # Maximum time to tolerate outage for restoring "for" state of alert. + ruleQueryOffset : str, optional, default is "" + # The default rule group's query offset duration to shift the evaluation time of rules backwards. + # ref: https://github.com/prometheus-community/helm-charts/issues/5843 ruleSelector : ValuesThanosRulerThanosRulerSpecRuleSelector, optional # PrometheusRules to be selected for target discovery. # If {}, select all PrometheusRules @@ -13009,9 +13509,15 @@ schema ValuesThanosRulerThanosRulerSpec: # If specified, the pod's topology spread constraints. # ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/ # + tracingConfig : ValuesThanosRulerThanosRulerSpecTracingConfig, optional + # Configures tracing for Thanos Ruler. Maps to the tracing.config CLI argument. + tracingConfigFile : str, optional, default is "" + # Path to a tracing configuration file on disk (e.g. mounted through a volume). Takes precedence over tracingConfig. updateStrategy : ValuesThanosRulerThanosRulerSpecUpdateStrategy, optional # Update strategy for the StatefulSet. # ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies + version : str, optional, default is "" + # Version of Thanos Ruler to deploy. Overrides the version derived from the image tag when set. volumeMounts : [any], optional Additional VolumeMounts on the output StatefulSet definition. volumes : [any], optional @@ -13026,21 +13532,34 @@ schema ValuesThanosRulerThanosRulerSpec: additionalConfigString?: str affinity?: ValuesThanosRulerThanosRulerSpecAffinity alertDropLabels?: [any] + alertRelabelConfigFile?: str + alertRelabelConfigs?: ValuesThanosRulerThanosRulerSpecAlertRelabelConfigs alertmanagersConfig?: ValuesThanosRulerThanosRulerSpecAlertmanagersConfig containers?: [any] + dnsConfig?: ValuesThanosRulerThanosRulerSpecDnsConfig + dnsPolicy?: str + enableFeatures?: [any] + enableServiceLinks?: any + enforcedNamespaceLabel?: str evaluationInterval?: str + excludedFromEnforcement?: [any] externalPrefix?: any externalPrefixNilUsesHelmValues?: bool extraEnv?: [any] + grpcServerTlsConfig?: ValuesThanosRulerThanosRulerSpecGrpcServerTlsConfig + hostAliases?: [any] hostUsers?: any image?: ValuesThanosRulerThanosRulerSpecImage + imagePullPolicy?: str initContainers?: [any] labels?: ValuesThanosRulerThanosRulerSpecLabels listenLocal?: bool logFormat?: str logLevel?: str + minReadySeconds?: any nodeSelector?: ValuesThanosRulerThanosRulerSpecNodeSelector objectStorageConfig?: ValuesThanosRulerThanosRulerSpecObjectStorageConfig + objectStorageConfigFile?: str paused?: bool podAntiAffinity?: str podAntiAffinityTopologyKey?: str @@ -13050,11 +13569,17 @@ schema ValuesThanosRulerThanosRulerSpec: priorityClassName?: str queryConfig?: ValuesThanosRulerThanosRulerSpecQueryConfig queryEndpoints?: [any] + remoteWrite?: [any] replicas?: int + resendDelay?: str resources?: ValuesThanosRulerThanosRulerSpecResources retention?: str routePrefix?: str + ruleConcurrentEval?: any + ruleGracePeriod?: str ruleNamespaceSelector?: ValuesThanosRulerThanosRulerSpecRuleNamespaceSelector + ruleOutageTolerance?: str + ruleQueryOffset?: str ruleSelector?: ValuesThanosRulerThanosRulerSpecRuleSelector ruleSelectorNilUsesHelmValues?: bool securityContext?: ValuesThanosRulerThanosRulerSpecSecurityContext @@ -13063,7 +13588,10 @@ schema ValuesThanosRulerThanosRulerSpec: terminationGracePeriodSeconds?: any tolerations?: [any] topologySpreadConstraints?: [any] + tracingConfig?: ValuesThanosRulerThanosRulerSpecTracingConfig + tracingConfigFile?: str updateStrategy?: ValuesThanosRulerThanosRulerSpecUpdateStrategy + version?: str volumeMounts?: [any] volumes?: [any] web?: ValuesThanosRulerThanosRulerSpecWeb @@ -13082,6 +13610,37 @@ schema ValuesThanosRulerThanosRulerSpecAffinity: """ [...str]: any +schema ValuesThanosRulerThanosRulerSpecAlertRelabelConfigs: + r""" + # Configures alert relabeling for Thanos Ruler. Maps to the alert.relabel-config CLI argument. + + Attributes + ---------- + existingSecret : ValuesThanosRulerThanosRulerSpecAlertRelabelConfigsExistingSecret, optional + use existing secret, if configured, alertRelabelConfigs.secret will not be used + secret : ValuesThanosRulerThanosRulerSpecAlertRelabelConfigsSecret, optional + name: "" + key: "" + render alertRelabelConfigs secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertRelabelConfigs.existingSecret is set + """ + [...str]: any + existingSecret?: ValuesThanosRulerThanosRulerSpecAlertRelabelConfigsExistingSecret + secret?: ValuesThanosRulerThanosRulerSpecAlertRelabelConfigsSecret + +schema ValuesThanosRulerThanosRulerSpecAlertRelabelConfigsExistingSecret: + r""" + use existing secret, if configured, alertRelabelConfigs.secret will not be used + """ + [...str]: any + +schema ValuesThanosRulerThanosRulerSpecAlertRelabelConfigsSecret: + r""" + name: "" + key: "" + render alertRelabelConfigs secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertRelabelConfigs.existingSecret is set + """ + [...str]: any + schema ValuesThanosRulerThanosRulerSpecAlertmanagersConfig: r""" # AlertmanagerConfig define configuration for connecting to alertmanager. @@ -13116,6 +13675,19 @@ schema ValuesThanosRulerThanosRulerSpecAlertmanagersConfigSecret: """ [...str]: any +schema ValuesThanosRulerThanosRulerSpecDnsConfig: + r""" + # Defines the DNS configuration for the pods. + """ + [...str]: any + +schema ValuesThanosRulerThanosRulerSpecGrpcServerTlsConfig: + r""" + # Configures the gRPC server TLS for Thanos Ruler. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#monitoring.coreos.com/v1.TLSConfig + """ + [...str]: any + schema ValuesThanosRulerThanosRulerSpecImage: r""" # Image of ThanosRuler @@ -13126,7 +13698,7 @@ schema ValuesThanosRulerThanosRulerSpecImage: registry : str, optional, default is "quay.io" repository : str, optional, default is "thanos/thanos" sha : str, optional, default is "" - tag : str, optional, default is "v0.41.0" + tag : str, optional, default is "v0.42.0" """ [...str]: any registry?: str @@ -13291,6 +13863,37 @@ schema ValuesThanosRulerThanosRulerSpecStorage: """ [...str]: any +schema ValuesThanosRulerThanosRulerSpecTracingConfig: + r""" + # Configures tracing for Thanos Ruler. Maps to the tracing.config CLI argument. + + Attributes + ---------- + existingSecret : ValuesThanosRulerThanosRulerSpecTracingConfigExistingSecret, optional + use existing secret, if configured, tracingConfig.secret will not be used + secret : ValuesThanosRulerThanosRulerSpecTracingConfigSecret, optional + name: "" + key: "" + render tracingConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when tracingConfig.existingSecret is set + """ + [...str]: any + existingSecret?: ValuesThanosRulerThanosRulerSpecTracingConfigExistingSecret + secret?: ValuesThanosRulerThanosRulerSpecTracingConfigSecret + +schema ValuesThanosRulerThanosRulerSpecTracingConfigExistingSecret: + r""" + use existing secret, if configured, tracingConfig.secret will not be used + """ + [...str]: any + +schema ValuesThanosRulerThanosRulerSpecTracingConfigSecret: + r""" + name: "" + key: "" + render tracingConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when tracingConfig.existingSecret is set + """ + [...str]: any + schema ValuesThanosRulerThanosRulerSpecUpdateStrategy: r""" # Update strategy for the StatefulSet.