Skip to content

feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.12.1 )#3001

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kube-prometheus-stack-87.x
Open

feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.12.1 )#3001
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kube-prometheus-stack-87.x

Conversation

@renovate

@renovate renovate Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
kube-prometheus-stack (source) major 86.2.287.12.1

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

prometheus-community/helm-charts (kube-prometheus-stack)

v87.12.1

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

New Contributors

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.12.0...kube-prometheus-stack-87.12.1

v87.12.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7080

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.11.0...kube-prometheus-stack-87.12.0

v87.11.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@prometheus-postgres-exporter-8.1.1...kube-prometheus-stack-87.11.0

v87.10.1

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update quay.io/prometheus/alertmanager Docker tag to v0.33.1 by @​renovate[bot] in #​7070

Full Changelog: prometheus-community/helm-charts@alertmanager-1.40.2...kube-prometheus-stack-87.10.1

v87.10.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.9.0...kube-prometheus-stack-87.10.0

v87.9.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.8.0...kube-prometheus-stack-87.9.0

v87.8.0

Compare Source

v87.7.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@prometheus-postgres-exporter-8.1.0...kube-prometheus-stack-87.7.0

v87.6.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@prometheus-yet-another-cloudwatch-exporter-0.47.0...kube-prometheus-stack-87.6.0

v87.5.1

Compare Source

v87.5.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update quay.io/prometheus/prometheus Docker tag to v3.13.0 by @​renovate[bot] in #​7054

Full Changelog: prometheus-community/helm-charts@prometheus-29.13.1...kube-prometheus-stack-87.5.0

v87.4.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7049

Full Changelog: prometheus-community/helm-charts@prometheus-operator-admission-webhook-0.42.2...kube-prometheus-stack-87.4.0

v87.3.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@prometheus-pgbouncer-exporter-0.10.1...kube-prometheus-stack-87.3.0

v87.2.1

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7035

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.2.0...kube-prometheus-stack-87.2.1

v87.2.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7034

Full Changelog: prometheus-community/helm-charts@prometheus-fastly-exporter-0.12.0...kube-prometheus-stack-87.2.0

v87.1.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Add agent skill for prometheus-operator bumps by @​DrFaust92 in #​7013
  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7020

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.0.1...kube-prometheus-stack-87.1.0

v87.0.1

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7016

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-87.0.0...kube-prometheus-stack-87.0.1

v87.0.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

Full Changelog: prometheus-community/helm-charts@prometheus-smartctl-exporter-0.17.1...kube-prometheus-stack-87.0.0

v86.3.2

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed
  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7008

Full Changelog: prometheus-community/helm-charts@prometheus-operator-admission-webhook-0.42.1...kube-prometheus-stack-86.3.2

v86.3.1

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [CI] Update github-workflow dependency updates to v7 by @​renovate[bot] in #​7007
  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​7006

Full Changelog: prometheus-community/helm-charts@kube-prometheus-stack-86.3.0...kube-prometheus-stack-86.3.1

v86.3.0

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​6990

Full Changelog: prometheus-community/helm-charts@prometheus-29.13.0...kube-prometheus-stack-86.3.0

v86.2.3

Compare Source

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

What's Changed

  • [kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by @​renovate[bot] in #​6988

Full Changelog: prometheus-community/helm-charts@kube-state-metrics-7.4.1...kube-prometheus-stack-86.2.3


Configuration

📅 Schedule: (in timezone Europe/Moscow)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@mglants-bot

mglants-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown
--- kubernetes/berries/apps/monitoring/kube-prometheus-stack/app Kustomization: flux-system/cluster-apps-kube-prometheus-stack HelmRelease: monitoring/kube-prometheus-stack

+++ kubernetes/berries/apps/monitoring/kube-prometheus-stack/app Kustomization: flux-system/cluster-apps-kube-prometheus-stack HelmRelease: monitoring/kube-prometheus-stack

@@ -13,13 +13,13 @@

       chart: kube-prometheus-stack
       interval: 5m
       sourceRef:
         kind: HelmRepository
         name: prometheus-community-charts
         namespace: flux-system
-      version: 86.2.2
+      version: 87.12.1
   install:
     crds: CreateReplace
   interval: 5m
   postRenderers:
   - kustomize:
       patches:

@mglants-bot

mglants-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown
--- HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-kube-state-metrics

+++ HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-kube-state-metrics

@@ -45,13 +45,13 @@

       - name: kube-state-metrics
         args:
         - --port=8080
         - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpointslices,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments
         - --metric-labels-allowlist=persistentvolumeclaims=[*]
         imagePullPolicy: IfNotPresent
-        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.19.0
+        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.19.1
         ports:
         - containerPort: 8080
           name: http
         - containerPort: 8081
           name: metrics
         livenessProbe:
--- HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-operator

+++ HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-operator

@@ -31,25 +31,25 @@

         app: kube-prometheus-stack-operator
         app.kubernetes.io/name: kube-prometheus-stack-prometheus-operator
         app.kubernetes.io/component: prometheus-operator
     spec:
       containers:
       - name: kube-prometheus-stack
-        image: quay.io/prometheus-operator/prometheus-operator:v0.91.0
+        image: quay.io/prometheus-operator/prometheus-operator:v0.92.1
         imagePullPolicy: IfNotPresent
         args:
         - --kubelet-service=kube-system/kube-prometheus-stack-kubelet
         - --kubelet-endpoints=true
         - --kubelet-endpointslice=false
         - --localhost=127.0.0.1
-        - --prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.91.0
+        - --prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.92.1
         - --config-reloader-cpu-request=5m
         - --config-reloader-cpu-limit=0
         - --config-reloader-memory-request=32M
         - --config-reloader-memory-limit=32M
-        - --thanos-default-base-image=quay.io/thanos/thanos:v0.41.0
+        - --thanos-default-base-image=quay.io/thanos/thanos:v0.42.0
         - --secret-field-selector=type!=kubernetes.io/dockercfg,type!=kubernetes.io/service-account-token,type!=helm.sh/release.v1
         - --web.enable-tls=true
         - --web.cert-file=/cert/cert
         - --web.key-file=/cert/key
         - --web.listen-address=:10250
         - --web.tls-min-version=VersionTLS13
--- HelmRelease: monitoring/kube-prometheus-stack Prometheus: monitoring/kube-prometheus-stack-prometheus

+++ HelmRelease: monitoring/kube-prometheus-stack Prometheus: monitoring/kube-prometheus-stack-prometheus

@@ -16,15 +16,15 @@

   alerting:
     alertmanagers:
     - apiVersion: v2
       name: alertmanager
       namespace: monitoring
       port: 9093
-  image: quay.io/prometheus/prometheus:v3.12.0-distroless
+  image: quay.io/prometheus/prometheus:v3.13.0-distroless
   imagePullPolicy: IfNotPresent
-  version: v3.12.0-distroless
+  version: v3.13.0-distroless
   externalLabels:
     cluster: sweethome
   replicaExternalLabelName: __replica__
   externalUrl: http://prometheus.home/
   paused: false
   replicas: 1
--- HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-alertmanager.rules

+++ HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-alertmanager.rules

@@ -152,7 +152,20 @@

           )
         )
         >= 0.5
       for: 5m
       labels:
         severity: critical
+    - alert: AlertmanagerClusterFailedPeers
+      annotations:
+        description: Alertmanager {{ $labels.namespace }}/{{ $labels.pod}} has {{
+          $value }} failed peers in the {{$labels.job}} cluster.
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/alertmanager/alertmanagerclusterfailedpeers
+        summary: An Alertmanager instance has failed peers in the cluster.
+      expr: |-
+        # Without max_over_time, failed scrapes could create false negatives, see
+        # https://www.robustperception.io/alerting-on-gauges-in-prometheus-2-0 for details.
+        max_over_time(alertmanager_cluster_failed_peers{job="kube-prometheus-stack-alertmanager",container="alertmanager",namespace="monitoring"}[5m]) > 0
+      for: 15m
+      labels:
+        severity: warning
 
--- HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-etcd

+++ HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-etcd

@@ -14,12 +14,13 @@

 spec:
   groups:
   - name: etcd
     rules:
     - alert: etcdMembersDown
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdmembersdown
         description: 'etcd cluster "{{ $labels.job }}": members are down ({{ $value
           }}).'
         summary: etcd cluster members are down.
       expr: |-
         max without (endpoint) (
           sum without (instance, pod) (up{job=~".*etcd.*"} == bool 0)
@@ -31,31 +32,34 @@

         > 0
       for: 20m
       labels:
         severity: warning
     - alert: etcdInsufficientMembers
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdinsufficientmembers
         description: 'etcd cluster "{{ $labels.job }}": insufficient members ({{ $value
           }}).'
         summary: etcd cluster has insufficient number of members.
       expr: sum(up{job=~".*etcd.*"} == bool 1) without (instance, pod) < ((count(up{job=~".*etcd.*"})
         without (instance, pod) + 1) / 2)
       for: 3m
       labels:
         severity: critical
     - alert: etcdNoLeader
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdnoleader
         description: 'etcd cluster "{{ $labels.job }}": member {{ $labels.instance
           }} has no leader.'
         summary: etcd cluster has no leader.
       expr: etcd_server_has_leader{job=~".*etcd.*"} == 0
       for: 1m
       labels:
         severity: critical
     - alert: etcdHighNumberOfLeaderChanges
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberofleaderchanges
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }} leader changes
           within the last 15 minutes. Frequent elections may be a sign of insufficient
           resources, high network latency, or disruptions by other components and
           should be investigated.'
         summary: etcd cluster has high number of leader changes.
       expr: increase((max without (instance, pod) (etcd_server_leader_changes_seen_total{job=~".*etcd.*"})
@@ -63,12 +67,13 @@

         >= 4
       for: 5m
       labels:
         severity: warning
     - alert: etcdHighNumberOfFailedGRPCRequests
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberoffailedgrpcrequests
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }}% of requests
           for {{ $labels.grpc_method }} failed on etcd instance {{ $labels.instance
           }}.'
         summary: etcd cluster has high number of failed grpc requests.
       expr: |-
         100 * sum(rate(grpc_server_handled_total{job=~".*etcd.*", grpc_code=~"Unknown|FailedPrecondition|ResourceExhausted|Internal|Unavailable|DataLoss|DeadlineExceeded"}[5m])) without (grpc_type, grpc_code)
@@ -77,12 +82,13 @@

           > 1
       for: 10m
       labels:
         severity: warning
     - alert: etcdHighNumberOfFailedGRPCRequests
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberoffailedgrpcrequests
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }}% of requests
           for {{ $labels.grpc_method }} failed on etcd instance {{ $labels.instance
           }}.'
         summary: etcd cluster has high number of failed grpc requests.
       expr: |-
         100 * sum(rate(grpc_server_handled_total{job=~".*etcd.*", grpc_code=~"Unknown|FailedPrecondition|ResourceExhausted|Internal|Unavailable|DataLoss|DeadlineExceeded"}[5m])) without (grpc_type, grpc_code)
@@ -91,90 +97,98 @@

           > 5
       for: 5m
       labels:
         severity: critical
     - alert: etcdGRPCRequestsSlow
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdgrpcrequestsslow
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile of gRPC requests
           is {{ $value }}s on etcd instance {{ $labels.instance }} for {{ $labels.grpc_method
           }} method.'
         summary: etcd grpc requests are slow
       expr: |-
         histogram_quantile(0.99, sum(rate(grpc_server_handling_seconds_bucket{job=~".*etcd.*", grpc_method!="Defragment", grpc_type="unary"}[5m])) without(grpc_type))
         > 0.15
       for: 10m
       labels:
         severity: critical
     - alert: etcdMemberCommunicationSlow
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdmembercommunicationslow
         description: 'etcd cluster "{{ $labels.job }}": member communication with
           {{ $labels.To }} is taking {{ $value }}s on etcd instance {{ $labels.instance
           }}.'
         summary: etcd cluster member communication is slow.
       expr: |-
         histogram_quantile(0.99, rate(etcd_network_peer_round_trip_time_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 0.15
       for: 10m
       labels:
         severity: warning
     - alert: etcdHighNumberOfFailedProposals
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberoffailedproposals
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }} proposal failures
           within the last 30 minutes on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster has high number of proposal failures.
       expr: rate(etcd_server_proposals_failed_total{job=~".*etcd.*"}[15m]) > 5
       for: 15m
       labels:
         severity: warning
     - alert: etcdHighFsyncDurations
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighfsyncdurations
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile fsync durations
           are {{ $value }}s on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster 99th percentile fsync durations are too high.
       expr: |-
         histogram_quantile(0.99, rate(etcd_disk_wal_fsync_duration_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 0.5
       for: 10m
       labels:
         severity: warning
     - alert: etcdHighFsyncDurations
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighfsyncdurations
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile fsync durations
           are {{ $value }}s on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster 99th percentile fsync durations are too high.
       expr: |-
         histogram_quantile(0.99, rate(etcd_disk_wal_fsync_duration_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 1
       for: 10m
       labels:
         severity: critical
     - alert: etcdHighCommitDurations
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighcommitdurations
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile commit durations
           {{ $value }}s on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster 99th percentile commit durations are too high.
       expr: |-
         histogram_quantile(0.99, rate(etcd_disk_backend_commit_duration_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 0.25
       for: 10m
       labels:
         severity: warning
     - alert: etcdDatabaseQuotaLowSpace
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcddatabasequotalowspace
         description: 'etcd cluster "{{ $labels.job }}": database size exceeds the
           defined quota on etcd instance {{ $labels.instance }}, please defrag or
           increase the quota as the writes to etcd will be disabled when it is full.'
         summary: etcd cluster database is running full.
       expr: (last_over_time(etcd_mvcc_db_total_size_in_bytes{job=~".*etcd.*"}[5m])
         / last_over_time(etcd_server_quota_backend_bytes{job=~".*etcd.*"}[5m]))*100
         > 95
       for: 10m
       labels:
         severity: critical
     - alert: etcdExcessiveDatabaseGrowth
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdexcessivedatabasegrowth
         description: 'etcd cluster "{{ $labels.job }}": Predicting running out of
           disk space in the next four hours, based on write observations within the
           past four hours on etcd instance {{ $labels.instance }}, please check as
           it might be disruptive.'
         summary: etcd cluster database growing very fast.
       expr: predict_linear(etcd_mvcc_db_total_size_in_bytes{job=~".*etcd.*"}[4h],
@@ -185,13 +199,13 @@

     - alert: etcdDatabaseHighFragmentationRatio
       annotations:
         description: 'etcd cluster "{{ $labels.job }}": database size in use on instance
           {{ $labels.instance }} is {{ $value | humanizePercentage }} of the actual
           allocated disk space, please run defragmentation (e.g. etcdctl defrag) to
           retrieve the unused fragmented disk space.'
-        runbook_url: https://etcd.io/docs/v3.5/op-guide/maintenance/#defragmentation
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcddatabasehighfragmentationratio
         summary: etcd database size in use is less than 50% of the actual allocated
           storage.
       expr: (last_over_time(etcd_mvcc_db_total_size_in_use_in_bytes{job=~".*etcd.*"}[5m])
         / last_over_time(etcd_mvcc_db_total_size_in_bytes{job=~".*etcd.*"}[5m])) <
         0.5 and etcd_mvcc_db_total_size_in_use_in_bytes{job=~".*etcd.*"} > 104857600
       for: 10m
--- HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-kube-apiserver-slos

+++ HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-kube-apiserver-slos

@@ -14,61 +14,61 @@

 spec:
   groups:
   - name: kube-apiserver-slos
     rules:
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate1h) > (14.40 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate5m) > (14.40 * 0.01000)
       for: 2m
       labels:
         long: 1h
         severity: critical
         short: 5m
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate6h) > (6.00 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate30m) > (6.00 * 0.01000)
       for: 15m
       labels:
         long: 6h
         severity: critical
         short: 30m
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate1d) > (3.00 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate2h) > (3.00 * 0.01000)
       for: 1h
       labels:
         long: 1d
         severity: warning
         short: 2h
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate3d) > (1.00 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate6h) > (1.00 * 0.01000)
       for: 3h
       labels:
--- HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-create

+++ HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-create

@@ -30,13 +30,13 @@

         heritage: Helm
         app.kubernetes.io/name: kube-prometheus-stack-prometheus-operator
         app.kubernetes.io/component: prometheus-operator-webhook
     spec:
       containers:
       - name: create
-        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.3
+        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.4
         imagePullPolicy: IfNotPresent
         args:
         - create
         - --host=kube-prometheus-stack-operator,kube-prometheus-stack-operator.monitoring.svc
         - --namespace=monitoring
         - --secret-name=kube-prometheus-stack-admission
--- HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-patch

+++ HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-patch

@@ -30,13 +30,13 @@

         heritage: Helm
         app.kubernetes.io/name: kube-prometheus-stack-prometheus-operator
         app.kubernetes.io/component: prometheus-operator-webhook
     spec:
       containers:
       - name: patch
-        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.3
+        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.4
         imagePullPolicy: IfNotPresent
         args:
         - patch
         - --webhook-name=kube-prometheus-stack-admission
         - --namespace=monitoring
         - --secret-name=kube-prometheus-stack-admission
--- HelmRelease: monitoring/kube-prometheus-stack ConfigMap: monitoring/kube-prometheus-stack-k8s-resources-nodes-overview

+++ HelmRelease: monitoring/kube-prometheus-stack ConfigMap: monitoring/kube-prometheus-stack-k8s-resources-nodes-overview

@@ -0,0 +1,40 @@

+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  namespace: monitoring
+  name: kube-prometheus-stack-k8s-resources-nodes-overview
+  labels:
+    grafana_dashboard: '1'
+    app: kube-prometheus-stack-grafana
+    app.kubernetes.io/managed-by: Helm
+    app.kubernetes.io/instance: kube-prometheus-stack
+    app.kubernetes.io/part-of: kube-prometheus-stack
+    release: kube-prometheus-stack
+    heritage: Helm
+data:
+  k8s-resources-nodes-overview.json: '{"editable":true,"links":[{"asDropdown":true,"includeVars":true,"keepTime":true,"tags":["kubernetes-mixin"],"targetBlank":false,"title":"Kubernetes","type":"dashboards"}],"panels":[{"datasource":{"type":"datasource","uid":"--
+    Mixed --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":0,"showPoints":"never","spanNulls":true},"decimals":0,"unit":"short"},"overrides":[{"matcher":{"id":"byName","options":"pods"},"properties":[{"id":"custom.axisPlacement","value":"right"},{"id":"custom.axisSoftMin","value":0}]}]},"gridPos":{"h":8,"w":24,"x":0,"y":0},"id":1,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"count(kube_node_info{cluster=\"$cluster\",
+    job=\"kube-state-metrics\"})","legendFormat":"nodes"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(kubelet_running_pods{cluster=\"$cluster\",
+    job=\"kubelet\", metrics_path=\"/metrics\"})","legendFormat":"pods"}],"title":"Node
+    & Pod Count","type":"timeseries"},{"datasource":{"type":"datasource","uid":"--
+    Mixed --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"short"}},"gridPos":{"h":8,"w":24,"x":0,"y":8},"id":2,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(kube_node_status_allocatable{cluster=\"$cluster\",
+    job=\"kube-state-metrics\", resource=\"cpu\"})","legendFormat":"allocatable"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\"})","legendFormat":"requests"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate5m{cluster=\"$cluster\"})","legendFormat":"usage"}],"title":"CPU
+    Usage","type":"timeseries"},{"datasource":{"type":"datasource","uid":"-- Mixed
+    --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"bytes"}},"gridPos":{"h":8,"w":24,"x":0,"y":16},"id":3,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(kube_node_status_allocatable{cluster=\"$cluster\",
+    job=\"kube-state-metrics\", resource=\"memory\"})","legendFormat":"allocatable"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\"})","legendFormat":"requests"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\",
+    container!=\"\"})","legendFormat":"usage"}],"title":"Memory Usage","type":"timeseries"},{"datasource":{"type":"datasource","uid":"--
+    Mixed --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"percentunit"}},"gridPos":{"h":8,"w":24,"x":0,"y":24},"id":4,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum
+    by (node) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate5m{cluster=\"$cluster\"})\n/\nsum
+    by (node) (kube_node_status_allocatable{cluster=\"$cluster\", job=\"kube-state-metrics\",
+    resource=\"cpu\"})\n","legendFormat":"{{node}}"}],"title":"CPU Utilization per
+    Node","type":"timeseries"},{"datasource":{"type":"datasource","uid":"-- Mixed
+    --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"percentunit"}},"gridPos":{"h":8,"w":24,"x":0,"y":32},"id":5,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum
+    by (node) (node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\",
+    container!=\"\"})\n/\nsum by (node) (kube_node_status_allocatable{cluster=\"$cluster\",
+    job=\"kube-state-metrics\", resource=\"memory\"})\n","legendFormat":"{{node}}"}],"title":"Memory
+    Utilization per Node","type":"timeseries"}],"refresh":"10s","schemaVersion":39,"tags":["kubernetes-mixin"],"templating":{"list":[{"current":{"selected":true,"text":"default","value":"default"},"hide":0,"label":"Data
+    source","name":"datasource","query":"prometheus","regex":"","type":"datasource"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"hide":2,"label":"cluster","name":"cluster","query":"label_values(up{job=\"kube-state-metrics\"},
+    cluster)","refresh":2,"sort":1,"type":"query","allValue":".*"}]},"time":{"from":"now-6h","to":"now"},"timezone":
+    "utc","title":"Kubernetes / Compute Resources / Nodes Overview","uid":"058020e04168bfdea0c52269cb699df2"}'
+

@mglants-bot

mglants-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown
--- kubernetes/subterra/apps/monitoring/kube-prometheus-stack/app Kustomization: flux-system/cluster-apps-kube-prometheus-stack HelmRelease: monitoring/kube-prometheus-stack

+++ kubernetes/subterra/apps/monitoring/kube-prometheus-stack/app Kustomization: flux-system/cluster-apps-kube-prometheus-stack HelmRelease: monitoring/kube-prometheus-stack

@@ -13,13 +13,13 @@

       chart: kube-prometheus-stack
       interval: 5m
       sourceRef:
         kind: HelmRepository
         name: prometheus-community-charts
         namespace: flux-system
-      version: 86.2.2
+      version: 87.12.1
   install:
     crds: CreateReplace
   interval: 5m
   postRenderers:
   - kustomize:
       patches:

@mglants-bot

mglants-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown
--- HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-kube-state-metrics

+++ HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-kube-state-metrics

@@ -45,13 +45,13 @@

       - name: kube-state-metrics
         args:
         - --port=8080
         - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpointslices,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments
         - --metric-labels-allowlist=persistentvolumeclaims=[*]
         imagePullPolicy: IfNotPresent
-        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.19.0
+        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.19.1
         ports:
         - containerPort: 8080
           name: http
         - containerPort: 8081
           name: metrics
         livenessProbe:
--- HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-operator

+++ HelmRelease: monitoring/kube-prometheus-stack Deployment: monitoring/kube-prometheus-stack-operator

@@ -31,25 +31,25 @@

         app: kube-prometheus-stack-operator
         app.kubernetes.io/name: kube-prometheus-stack-prometheus-operator
         app.kubernetes.io/component: prometheus-operator
     spec:
       containers:
       - name: kube-prometheus-stack
-        image: quay.io/prometheus-operator/prometheus-operator:v0.91.0
+        image: quay.io/prometheus-operator/prometheus-operator:v0.92.1
         imagePullPolicy: IfNotPresent
         args:
         - --kubelet-service=kube-system/kube-prometheus-stack-kubelet
         - --kubelet-endpoints=true
         - --kubelet-endpointslice=false
         - --localhost=127.0.0.1
-        - --prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.91.0
+        - --prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.92.1
         - --config-reloader-cpu-request=5m
         - --config-reloader-cpu-limit=0
         - --config-reloader-memory-request=32M
         - --config-reloader-memory-limit=32M
-        - --thanos-default-base-image=quay.io/thanos/thanos:v0.41.0
+        - --thanos-default-base-image=quay.io/thanos/thanos:v0.42.0
         - --secret-field-selector=type!=kubernetes.io/dockercfg,type!=kubernetes.io/service-account-token,type!=helm.sh/release.v1
         - --web.enable-tls=true
         - --web.cert-file=/cert/cert
         - --web.key-file=/cert/key
         - --web.listen-address=:10250
         - --web.tls-min-version=VersionTLS13
--- HelmRelease: monitoring/kube-prometheus-stack Prometheus: monitoring/kube-prometheus-stack-prometheus

+++ HelmRelease: monitoring/kube-prometheus-stack Prometheus: monitoring/kube-prometheus-stack-prometheus

@@ -16,15 +16,15 @@

   alerting:
     alertmanagers:
     - apiVersion: v2
       name: alertmanager
       namespace: monitoring
       port: 9093
-  image: quay.io/prometheus/prometheus:v3.12.0-distroless
+  image: quay.io/prometheus/prometheus:v3.13.0-distroless
   imagePullPolicy: IfNotPresent
-  version: v3.12.0-distroless
+  version: v3.13.0-distroless
   externalLabels:
     cluster: subterra
   replicaExternalLabelName: __replica__
   externalUrl: http://prometheus.ur30.ru/
   paused: false
   replicas: 1
--- HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-alertmanager.rules

+++ HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-alertmanager.rules

@@ -152,7 +152,20 @@

           )
         )
         >= 0.5
       for: 5m
       labels:
         severity: critical
+    - alert: AlertmanagerClusterFailedPeers
+      annotations:
+        description: Alertmanager {{ $labels.namespace }}/{{ $labels.pod}} has {{
+          $value }} failed peers in the {{$labels.job}} cluster.
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/alertmanager/alertmanagerclusterfailedpeers
+        summary: An Alertmanager instance has failed peers in the cluster.
+      expr: |-
+        # Without max_over_time, failed scrapes could create false negatives, see
+        # https://www.robustperception.io/alerting-on-gauges-in-prometheus-2-0 for details.
+        max_over_time(alertmanager_cluster_failed_peers{job="kube-prometheus-stack-alertmanager",container="alertmanager",namespace="monitoring"}[5m]) > 0
+      for: 15m
+      labels:
+        severity: warning
 
--- HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-etcd

+++ HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-etcd

@@ -14,12 +14,13 @@

 spec:
   groups:
   - name: etcd
     rules:
     - alert: etcdMembersDown
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdmembersdown
         description: 'etcd cluster "{{ $labels.job }}": members are down ({{ $value
           }}).'
         summary: etcd cluster members are down.
       expr: |-
         max without (endpoint) (
           sum without (instance, pod) (up{job=~".*etcd.*"} == bool 0)
@@ -31,31 +32,34 @@

         > 0
       for: 20m
       labels:
         severity: warning
     - alert: etcdInsufficientMembers
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdinsufficientmembers
         description: 'etcd cluster "{{ $labels.job }}": insufficient members ({{ $value
           }}).'
         summary: etcd cluster has insufficient number of members.
       expr: sum(up{job=~".*etcd.*"} == bool 1) without (instance, pod) < ((count(up{job=~".*etcd.*"})
         without (instance, pod) + 1) / 2)
       for: 3m
       labels:
         severity: critical
     - alert: etcdNoLeader
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdnoleader
         description: 'etcd cluster "{{ $labels.job }}": member {{ $labels.instance
           }} has no leader.'
         summary: etcd cluster has no leader.
       expr: etcd_server_has_leader{job=~".*etcd.*"} == 0
       for: 1m
       labels:
         severity: critical
     - alert: etcdHighNumberOfLeaderChanges
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberofleaderchanges
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }} leader changes
           within the last 15 minutes. Frequent elections may be a sign of insufficient
           resources, high network latency, or disruptions by other components and
           should be investigated.'
         summary: etcd cluster has high number of leader changes.
       expr: increase((max without (instance, pod) (etcd_server_leader_changes_seen_total{job=~".*etcd.*"})
@@ -63,12 +67,13 @@

         >= 4
       for: 5m
       labels:
         severity: warning
     - alert: etcdHighNumberOfFailedGRPCRequests
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberoffailedgrpcrequests
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }}% of requests
           for {{ $labels.grpc_method }} failed on etcd instance {{ $labels.instance
           }}.'
         summary: etcd cluster has high number of failed grpc requests.
       expr: |-
         100 * sum(rate(grpc_server_handled_total{job=~".*etcd.*", grpc_code=~"Unknown|FailedPrecondition|ResourceExhausted|Internal|Unavailable|DataLoss|DeadlineExceeded"}[5m])) without (grpc_type, grpc_code)
@@ -77,12 +82,13 @@

           > 1
       for: 10m
       labels:
         severity: warning
     - alert: etcdHighNumberOfFailedGRPCRequests
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberoffailedgrpcrequests
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }}% of requests
           for {{ $labels.grpc_method }} failed on etcd instance {{ $labels.instance
           }}.'
         summary: etcd cluster has high number of failed grpc requests.
       expr: |-
         100 * sum(rate(grpc_server_handled_total{job=~".*etcd.*", grpc_code=~"Unknown|FailedPrecondition|ResourceExhausted|Internal|Unavailable|DataLoss|DeadlineExceeded"}[5m])) without (grpc_type, grpc_code)
@@ -91,90 +97,98 @@

           > 5
       for: 5m
       labels:
         severity: critical
     - alert: etcdGRPCRequestsSlow
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdgrpcrequestsslow
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile of gRPC requests
           is {{ $value }}s on etcd instance {{ $labels.instance }} for {{ $labels.grpc_method
           }} method.'
         summary: etcd grpc requests are slow
       expr: |-
         histogram_quantile(0.99, sum(rate(grpc_server_handling_seconds_bucket{job=~".*etcd.*", grpc_method!="Defragment", grpc_type="unary"}[5m])) without(grpc_type))
         > 0.15
       for: 10m
       labels:
         severity: critical
     - alert: etcdMemberCommunicationSlow
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdmembercommunicationslow
         description: 'etcd cluster "{{ $labels.job }}": member communication with
           {{ $labels.To }} is taking {{ $value }}s on etcd instance {{ $labels.instance
           }}.'
         summary: etcd cluster member communication is slow.
       expr: |-
         histogram_quantile(0.99, rate(etcd_network_peer_round_trip_time_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 0.15
       for: 10m
       labels:
         severity: warning
     - alert: etcdHighNumberOfFailedProposals
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighnumberoffailedproposals
         description: 'etcd cluster "{{ $labels.job }}": {{ $value }} proposal failures
           within the last 30 minutes on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster has high number of proposal failures.
       expr: rate(etcd_server_proposals_failed_total{job=~".*etcd.*"}[15m]) > 5
       for: 15m
       labels:
         severity: warning
     - alert: etcdHighFsyncDurations
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighfsyncdurations
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile fsync durations
           are {{ $value }}s on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster 99th percentile fsync durations are too high.
       expr: |-
         histogram_quantile(0.99, rate(etcd_disk_wal_fsync_duration_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 0.5
       for: 10m
       labels:
         severity: warning
     - alert: etcdHighFsyncDurations
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighfsyncdurations
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile fsync durations
           are {{ $value }}s on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster 99th percentile fsync durations are too high.
       expr: |-
         histogram_quantile(0.99, rate(etcd_disk_wal_fsync_duration_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 1
       for: 10m
       labels:
         severity: critical
     - alert: etcdHighCommitDurations
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdhighcommitdurations
         description: 'etcd cluster "{{ $labels.job }}": 99th percentile commit durations
           {{ $value }}s on etcd instance {{ $labels.instance }}.'
         summary: etcd cluster 99th percentile commit durations are too high.
       expr: |-
         histogram_quantile(0.99, rate(etcd_disk_backend_commit_duration_seconds_bucket{job=~".*etcd.*"}[5m]))
         > 0.25
       for: 10m
       labels:
         severity: warning
     - alert: etcdDatabaseQuotaLowSpace
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcddatabasequotalowspace
         description: 'etcd cluster "{{ $labels.job }}": database size exceeds the
           defined quota on etcd instance {{ $labels.instance }}, please defrag or
           increase the quota as the writes to etcd will be disabled when it is full.'
         summary: etcd cluster database is running full.
       expr: (last_over_time(etcd_mvcc_db_total_size_in_bytes{job=~".*etcd.*"}[5m])
         / last_over_time(etcd_server_quota_backend_bytes{job=~".*etcd.*"}[5m]))*100
         > 95
       for: 10m
       labels:
         severity: critical
     - alert: etcdExcessiveDatabaseGrowth
       annotations:
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcdexcessivedatabasegrowth
         description: 'etcd cluster "{{ $labels.job }}": Predicting running out of
           disk space in the next four hours, based on write observations within the
           past four hours on etcd instance {{ $labels.instance }}, please check as
           it might be disruptive.'
         summary: etcd cluster database growing very fast.
       expr: predict_linear(etcd_mvcc_db_total_size_in_bytes{job=~".*etcd.*"}[4h],
@@ -185,13 +199,13 @@

     - alert: etcdDatabaseHighFragmentationRatio
       annotations:
         description: 'etcd cluster "{{ $labels.job }}": database size in use on instance
           {{ $labels.instance }} is {{ $value | humanizePercentage }} of the actual
           allocated disk space, please run defragmentation (e.g. etcdctl defrag) to
           retrieve the unused fragmented disk space.'
-        runbook_url: https://etcd.io/docs/v3.5/op-guide/maintenance/#defragmentation
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/etcd/etcddatabasehighfragmentationratio
         summary: etcd database size in use is less than 50% of the actual allocated
           storage.
       expr: (last_over_time(etcd_mvcc_db_total_size_in_use_in_bytes{job=~".*etcd.*"}[5m])
         / last_over_time(etcd_mvcc_db_total_size_in_bytes{job=~".*etcd.*"}[5m])) <
         0.5 and etcd_mvcc_db_total_size_in_use_in_bytes{job=~".*etcd.*"} > 104857600
       for: 10m
--- HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-kube-apiserver-slos

+++ HelmRelease: monitoring/kube-prometheus-stack PrometheusRule: monitoring/kube-prometheus-stack-kube-apiserver-slos

@@ -14,61 +14,61 @@

 spec:
   groups:
   - name: kube-apiserver-slos
     rules:
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate1h) > (14.40 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate5m) > (14.40 * 0.01000)
       for: 2m
       labels:
         long: 1h
         severity: critical
         short: 5m
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate6h) > (6.00 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate30m) > (6.00 * 0.01000)
       for: 15m
       labels:
         long: 6h
         severity: critical
         short: 30m
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate1d) > (3.00 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate2h) > (3.00 * 0.01000)
       for: 1h
       labels:
         long: 1d
         severity: warning
         short: 2h
     - alert: KubeAPIErrorBudgetBurn
       annotations:
-        description: The API server is burning too much error budget on cluster {{
-          $labels.cluster }}.
+        description: The Kube API server is burning too much error budget on cluster
+          {{ $labels.cluster }}.
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn
-        summary: The API server is burning too much error budget.
+        summary: The Kube API server is burning too much error budget.
       expr: |-
         sum by (cluster) (apiserver_request:burnrate3d) > (1.00 * 0.01000)
         and on (cluster)
         sum by (cluster) (apiserver_request:burnrate6h) > (1.00 * 0.01000)
       for: 3h
       labels:
--- HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-create

+++ HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-create

@@ -30,13 +30,13 @@

         heritage: Helm
         app.kubernetes.io/name: kube-prometheus-stack-prometheus-operator
         app.kubernetes.io/component: prometheus-operator-webhook
     spec:
       containers:
       - name: create
-        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.3
+        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.4
         imagePullPolicy: IfNotPresent
         args:
         - create
         - --host=kube-prometheus-stack-operator,kube-prometheus-stack-operator.monitoring.svc
         - --namespace=monitoring
         - --secret-name=kube-prometheus-stack-admission
--- HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-patch

+++ HelmRelease: monitoring/kube-prometheus-stack Job: monitoring/kube-prometheus-stack-admission-patch

@@ -30,13 +30,13 @@

         heritage: Helm
         app.kubernetes.io/name: kube-prometheus-stack-prometheus-operator
         app.kubernetes.io/component: prometheus-operator-webhook
     spec:
       containers:
       - name: patch
-        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.3
+        image: ghcr.io/jkroepke/kube-webhook-certgen:1.8.4
         imagePullPolicy: IfNotPresent
         args:
         - patch
         - --webhook-name=kube-prometheus-stack-admission
         - --namespace=monitoring
         - --secret-name=kube-prometheus-stack-admission
--- HelmRelease: monitoring/kube-prometheus-stack ConfigMap: monitoring/kube-prometheus-stack-k8s-resources-nodes-overview

+++ HelmRelease: monitoring/kube-prometheus-stack ConfigMap: monitoring/kube-prometheus-stack-k8s-resources-nodes-overview

@@ -0,0 +1,40 @@

+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  namespace: monitoring
+  name: kube-prometheus-stack-k8s-resources-nodes-overview
+  labels:
+    grafana_dashboard: '1'
+    app: kube-prometheus-stack-grafana
+    app.kubernetes.io/managed-by: Helm
+    app.kubernetes.io/instance: kube-prometheus-stack
+    app.kubernetes.io/part-of: kube-prometheus-stack
+    release: kube-prometheus-stack
+    heritage: Helm
+data:
+  k8s-resources-nodes-overview.json: '{"editable":true,"links":[{"asDropdown":true,"includeVars":true,"keepTime":true,"tags":["kubernetes-mixin"],"targetBlank":false,"title":"Kubernetes","type":"dashboards"}],"panels":[{"datasource":{"type":"datasource","uid":"--
+    Mixed --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":0,"showPoints":"never","spanNulls":true},"decimals":0,"unit":"short"},"overrides":[{"matcher":{"id":"byName","options":"pods"},"properties":[{"id":"custom.axisPlacement","value":"right"},{"id":"custom.axisSoftMin","value":0}]}]},"gridPos":{"h":8,"w":24,"x":0,"y":0},"id":1,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"count(kube_node_info{cluster=\"$cluster\",
+    job=\"kube-state-metrics\"})","legendFormat":"nodes"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(kubelet_running_pods{cluster=\"$cluster\",
+    job=\"kubelet\", metrics_path=\"/metrics\"})","legendFormat":"pods"}],"title":"Node
+    & Pod Count","type":"timeseries"},{"datasource":{"type":"datasource","uid":"--
+    Mixed --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"short"}},"gridPos":{"h":8,"w":24,"x":0,"y":8},"id":2,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(kube_node_status_allocatable{cluster=\"$cluster\",
+    job=\"kube-state-metrics\", resource=\"cpu\"})","legendFormat":"allocatable"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\"})","legendFormat":"requests"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate5m{cluster=\"$cluster\"})","legendFormat":"usage"}],"title":"CPU
+    Usage","type":"timeseries"},{"datasource":{"type":"datasource","uid":"-- Mixed
+    --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"bytes"}},"gridPos":{"h":8,"w":24,"x":0,"y":16},"id":3,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(kube_node_status_allocatable{cluster=\"$cluster\",
+    job=\"kube-state-metrics\", resource=\"memory\"})","legendFormat":"allocatable"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\"})","legendFormat":"requests"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\",
+    container!=\"\"})","legendFormat":"usage"}],"title":"Memory Usage","type":"timeseries"},{"datasource":{"type":"datasource","uid":"--
+    Mixed --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"percentunit"}},"gridPos":{"h":8,"w":24,"x":0,"y":24},"id":4,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum
+    by (node) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate5m{cluster=\"$cluster\"})\n/\nsum
+    by (node) (kube_node_status_allocatable{cluster=\"$cluster\", job=\"kube-state-metrics\",
+    resource=\"cpu\"})\n","legendFormat":"{{node}}"}],"title":"CPU Utilization per
+    Node","type":"timeseries"},{"datasource":{"type":"datasource","uid":"-- Mixed
+    --"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"percentunit"}},"gridPos":{"h":8,"w":24,"x":0,"y":32},"id":5,"interval":"1m","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"}},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"sum
+    by (node) (node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\",
+    container!=\"\"})\n/\nsum by (node) (kube_node_status_allocatable{cluster=\"$cluster\",
+    job=\"kube-state-metrics\", resource=\"memory\"})\n","legendFormat":"{{node}}"}],"title":"Memory
+    Utilization per Node","type":"timeseries"}],"refresh":"10s","schemaVersion":39,"tags":["kubernetes-mixin"],"templating":{"list":[{"current":{"selected":true,"text":"default","value":"default"},"hide":0,"label":"Data
+    source","name":"datasource","query":"prometheus","regex":"","type":"datasource"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"hide":2,"label":"cluster","name":"cluster","query":"label_values(up{job=\"kube-state-metrics\"},
+    cluster)","refresh":2,"sort":1,"type":"query","allValue":".*"}]},"time":{"from":"now-6h","to":"now"},"timezone":
+    "utc","title":"Kubernetes / Compute Resources / Nodes Overview","uid":"058020e04168bfdea0c52269cb699df2"}'
+

@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.0.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.0.1 ) Jun 22, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from 7ec7f82 to 3c0bc82 Compare June 22, 2026 22:42
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.0.1 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.1.0 ) Jun 23, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from 3c0bc82 to e700d79 Compare June 23, 2026 21:43
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.1.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.2.0 ) Jun 24, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch 2 times, most recently from 2ffe099 to e48b610 Compare June 24, 2026 21:41
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.2.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.2.1 ) Jun 24, 2026
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.2.1 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.3.0 ) Jun 27, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from e48b610 to 4b796ac Compare June 27, 2026 21:46
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.3.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.4.0 ) Jun 30, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from 4b796ac to 96f4d17 Compare June 30, 2026 18:38
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.4.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.5.0 ) Jul 2, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from 96f4d17 to c2a61b5 Compare July 2, 2026 00:02
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.5.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.5.1 ) Jul 2, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from c2a61b5 to 5513be4 Compare July 2, 2026 02:29
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.5.1 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.6.0 ) Jul 3, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch 2 times, most recently from fc2fb16 to eaaeb25 Compare July 4, 2026 17:41
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.6.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.10.0 ) Jul 4, 2026
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.10.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.10.1 ) Jul 5, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from eaaeb25 to 419e174 Compare July 5, 2026 02:28
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.10.1 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.12.0 ) Jul 8, 2026
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from 419e174 to e82841f Compare July 8, 2026 17:38
| datasource | package               | from   | to      |
| ---------- | --------------------- | ------ | ------- |
| helm       | kube-prometheus-stack | 86.2.2 | 87.12.1 |
@renovate renovate Bot force-pushed the renovate/kube-prometheus-stack-87.x branch from e82841f to d0dbb92 Compare July 8, 2026 22:10
@renovate renovate Bot changed the title feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.12.0 ) feat(helm)!: Update chart kube-prometheus-stack ( 86.2.2 → 87.12.1 ) Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants