From b5b59bc0b45508b85647eb7a84b96dc167be15f1 Mon Sep 17 00:00:00 2001
From: PromOperatorBot <85787986+prom-op-bot@users.noreply.github.com>
Date: Mon, 24 Jun 2024 11:47:03 +0200
Subject: [PATCH] [bot] [main] Automated version update (#2449)

Co-authored-by: Prometheus Operator Bot <prom-op-bot@users.noreply.github.com>
---
 jsonnet/kube-prometheus/versions.json         |   2 +-
 jsonnetfile.lock.json                         |  28 +--
 manifests/prometheus-clusterRole.yaml         |   2 +-
 manifests/prometheus-clusterRoleBinding.yaml  |   2 +-
 manifests/prometheus-networkPolicy.yaml       |   2 +-
 manifests/prometheus-podDisruptionBudget.yaml |   2 +-
 manifests/prometheus-prometheus.yaml          |   8 +-
 manifests/prometheus-prometheusRule.yaml      |  12 +-
 manifests/prometheus-roleBindingConfig.yaml   |   2 +-
 ...metheus-roleBindingSpecificNamespaces.yaml |   6 +-
 manifests/prometheus-roleConfig.yaml          |   2 +-
 .../prometheus-roleSpecificNamespaces.yaml    |   6 +-
 manifests/prometheus-service.yaml             |   2 +-
 manifests/prometheus-serviceAccount.yaml      |   2 +-
 manifests/prometheus-serviceMonitor.yaml      |   2 +-
 ...managerConfigCustomResourceDefinition.yaml |   4 +
 .../0prometheusCustomResourceDefinition.yaml  | 202 +++++++++++++++++-
 ...ometheusagentCustomResourceDefinition.yaml | 143 ++++++++++++-
 18 files changed, 391 insertions(+), 38 deletions(-)

diff --git a/jsonnet/kube-prometheus/versions.json b/jsonnet/kube-prometheus/versions.json
index d17cf5ae..cd9040c9 100644
--- a/jsonnet/kube-prometheus/versions.json
+++ b/jsonnet/kube-prometheus/versions.json
@@ -4,7 +4,7 @@
   "grafana": "11.0.0",
   "kubeStateMetrics": "2.12.0",
   "nodeExporter": "1.8.1",
-  "prometheus": "2.52.0",
+  "prometheus": "2.53.0",
   "prometheusAdapter": "0.12.0",
   "prometheusOperator": "0.74.0",
   "kubeRbacProxy": "0.18.0",
diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json
index f2b40a80..4b15b03c 100644
--- a/jsonnetfile.lock.json
+++ b/jsonnetfile.lock.json
@@ -18,7 +18,7 @@
           "subdir": "contrib/mixin"
         }
       },
-      "version": "debc8fb00bd935249256e397fc0e001bc2e87abb",
+      "version": "67a6dbdb7c0f15c5610936edbe62224bb76dff70",
       "sum": "IXI3LQIT9NmTPJAk8WLUJd5+qZfcGpeNCyWIK7oEpws="
     },
     {
@@ -88,8 +88,8 @@
           "subdir": "grafana-builder"
         }
       },
-      "version": "3637c31c4307e7bbf9c8ad7270b0798e1b840aeb",
-      "sum": "5ku1Hd8UPnjmn8nWyaTFzMpT3Pa+VylBnmposMSVEuU="
+      "version": "02db06f540086fa3f67d487bd01e1b314853fb8f",
+      "sum": "B49EzIY2WZsFxNMJcgRxE/gcZ9ltnS8pkOOV6Q5qioc="
     },
     {
       "source": {
@@ -98,7 +98,7 @@
           "subdir": "mixin-utils"
         }
       },
-      "version": "3637c31c4307e7bbf9c8ad7270b0798e1b840aeb",
+      "version": "a49eaa8de3eb6c22818418fdd4b9aed2f40a15a5",
       "sum": "A0f0G3aJEkdu5sqHXtizHDyU1jOSx6VuEXLRlI9Psp8="
     },
     {
@@ -138,7 +138,7 @@
           "subdir": "jsonnet/kube-state-metrics"
         }
       },
-      "version": "89f0db6dd2fda206094b46fbcaa524731570f5b5",
+      "version": "086af0cbafb5e8c2b882181a3a622f720147d8ff",
       "sum": "msMZyUvcebzRILLzNlTIiSOwa1XgQKtP7jbZTkiqwM0="
     },
     {
@@ -148,7 +148,7 @@
           "subdir": "jsonnet/kube-state-metrics-mixin"
         }
       },
-      "version": "89f0db6dd2fda206094b46fbcaa524731570f5b5",
+      "version": "086af0cbafb5e8c2b882181a3a622f720147d8ff",
       "sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c="
     },
     {
@@ -158,7 +158,7 @@
           "subdir": "jsonnet/mixin"
         }
       },
-      "version": "f3091ec630c30c9bb57d9308c2c65afdf8842566",
+      "version": "94823a886f2b835a1248059283ddbedf837269bf",
       "sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=",
       "name": "prometheus-operator-mixin"
     },
@@ -169,8 +169,8 @@
           "subdir": "jsonnet/prometheus-operator"
         }
       },
-      "version": "f3091ec630c30c9bb57d9308c2c65afdf8842566",
-      "sum": "Ghvz95shJYV2GZVdtsAlt8v3zbN2OSq6LEr+KbmUi70="
+      "version": "94823a886f2b835a1248059283ddbedf837269bf",
+      "sum": "uL7mkBVkxqnDpr4oSrm+dto2eSZrsIbZ4gV5CbLsC4c="
     },
     {
       "source": {
@@ -179,7 +179,7 @@
           "subdir": "doc/alertmanager-mixin"
         }
       },
-      "version": "7e2cd80c2d69bb1943374c9c3bf2cda1eced73ab",
+      "version": "36d653ab9f2c8784c8ea99563abc743735bb2843",
       "sum": "IpF46ZXsm+0wJJAPtAre8+yxTNZA57mBqGpBP/r7/kw=",
       "name": "alertmanager"
     },
@@ -190,7 +190,7 @@
           "subdir": "docs/node-mixin"
         }
       },
-      "version": "80859a9f1879c753c2a12b3de990ad7c49579545",
+      "version": "4f7bd3544d312477d3e144d4ac2300248219f313",
       "sum": "R9ROsvpjZLgQJ78WAyD4HzrIq976Bpr4V2P2Fo2Kfns="
     },
     {
@@ -200,8 +200,8 @@
           "subdir": "documentation/prometheus-mixin"
         }
       },
-      "version": "5efc8dd27b6e68d5102b77bc708e52c9821c5101",
-      "sum": "vGD+MxGadIBvvDC+/71BRKWEA8vHgcuBP5PcuCKZGEs=",
+      "version": "00b110c65c7af446e675ee27cb06b7971afc6e18",
+      "sum": "dYLcLzGH4yF3qB7OGC/7z4nqeTNjv42L7Q3BENU8XJI=",
       "name": "prometheus"
     },
     {
@@ -222,7 +222,7 @@
           "subdir": "mixin"
         }
       },
-      "version": "aa10ec301ac6e1beef8ce1fdb53ee6d9159dd904",
+      "version": "ddcdeebebe4326b3ee029510e34ad05ab9d10a67",
       "sum": "HhSSbGGCNHCMy1ee5jElYDm0yS9Vesa7QB2/SHKdjsY=",
       "name": "thanos-mixin"
     },
diff --git a/manifests/prometheus-clusterRole.yaml b/manifests/prometheus-clusterRole.yaml
index 6bdf74b6..3d4b9202 100644
--- a/manifests/prometheus-clusterRole.yaml
+++ b/manifests/prometheus-clusterRole.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
 rules:
 - apiGroups:
diff --git a/manifests/prometheus-clusterRoleBinding.yaml b/manifests/prometheus-clusterRoleBinding.yaml
index a0c1b20c..a1ff537d 100644
--- a/manifests/prometheus-clusterRoleBinding.yaml
+++ b/manifests/prometheus-clusterRoleBinding.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
 roleRef:
   apiGroup: rbac.authorization.k8s.io
diff --git a/manifests/prometheus-networkPolicy.yaml b/manifests/prometheus-networkPolicy.yaml
index cd4e0ee9..4dd1c514 100644
--- a/manifests/prometheus-networkPolicy.yaml
+++ b/manifests/prometheus-networkPolicy.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/prometheus-podDisruptionBudget.yaml b/manifests/prometheus-podDisruptionBudget.yaml
index 19596133..5dd92c5d 100644
--- a/manifests/prometheus-podDisruptionBudget.yaml
+++ b/manifests/prometheus-podDisruptionBudget.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/prometheus-prometheus.yaml b/manifests/prometheus-prometheus.yaml
index 4fb23524..1151c837 100644
--- a/manifests/prometheus-prometheus.yaml
+++ b/manifests/prometheus-prometheus.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: k8s
   namespace: monitoring
 spec:
@@ -18,7 +18,7 @@ spec:
       port: web
   enableFeatures: []
   externalLabels: {}
-  image: quay.io/prometheus/prometheus:v2.52.0
+  image: quay.io/prometheus/prometheus:v2.53.0
   nodeSelector:
     kubernetes.io/os: linux
   podMetadata:
@@ -27,7 +27,7 @@ spec:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
   podMonitorNamespaceSelector: {}
   podMonitorSelector: {}
   probeNamespaceSelector: {}
@@ -47,4 +47,4 @@ spec:
   serviceAccountName: prometheus-k8s
   serviceMonitorNamespaceSelector: {}
   serviceMonitorSelector: {}
-  version: 2.52.0
+  version: 2.53.0
diff --git a/manifests/prometheus-prometheusRule.yaml b/manifests/prometheus-prometheusRule.yaml
index 288fba70..62911a68 100644
--- a/manifests/prometheus-prometheusRule.yaml
+++ b/manifests/prometheus-prometheusRule.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
     prometheus: k8s
     role: alert-rules
   name: prometheus-k8s-prometheus-rules
@@ -37,6 +37,16 @@ spec:
       for: 20m
       labels:
         severity: warning
+    - alert: PrometheusKubernetesListWatchFailures
+      annotations:
+        description: Kubernetes service discovery of Prometheus {{$labels.namespace}}/{{$labels.pod}} is experiencing {{ printf "%.0f" $value }} failures with LIST/WATCH requests to the Kubernetes API in the last 5 minutes.
+        runbook_url: https://runbooks.prometheus-operator.dev/runbooks/prometheus/prometheuskuberneteslistwatchfailures
+        summary: Requests in Kubernetes SD are failing.
+      expr: |
+        increase(prometheus_sd_kubernetes_failures_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
+      for: 15m
+      labels:
+        severity: warning
     - alert: PrometheusNotificationQueueRunningFull
       annotations:
         description: Alert notification queue of Prometheus {{$labels.namespace}}/{{$labels.pod}} is running full.
diff --git a/manifests/prometheus-roleBindingConfig.yaml b/manifests/prometheus-roleBindingConfig.yaml
index c544ca35..775eb2a0 100644
--- a/manifests/prometheus-roleBindingConfig.yaml
+++ b/manifests/prometheus-roleBindingConfig.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s-config
   namespace: monitoring
 roleRef:
diff --git a/manifests/prometheus-roleBindingSpecificNamespaces.yaml b/manifests/prometheus-roleBindingSpecificNamespaces.yaml
index d3b6cb2b..fb4edb2b 100644
--- a/manifests/prometheus-roleBindingSpecificNamespaces.yaml
+++ b/manifests/prometheus-roleBindingSpecificNamespaces.yaml
@@ -8,7 +8,7 @@ items:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
     name: prometheus-k8s
     namespace: default
   roleRef:
@@ -27,7 +27,7 @@ items:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
     name: prometheus-k8s
     namespace: kube-system
   roleRef:
@@ -46,7 +46,7 @@ items:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
     name: prometheus-k8s
     namespace: monitoring
   roleRef:
diff --git a/manifests/prometheus-roleConfig.yaml b/manifests/prometheus-roleConfig.yaml
index 1f6995da..0ba5f766 100644
--- a/manifests/prometheus-roleConfig.yaml
+++ b/manifests/prometheus-roleConfig.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s-config
   namespace: monitoring
 rules:
diff --git a/manifests/prometheus-roleSpecificNamespaces.yaml b/manifests/prometheus-roleSpecificNamespaces.yaml
index 963ca001..7b597c6f 100644
--- a/manifests/prometheus-roleSpecificNamespaces.yaml
+++ b/manifests/prometheus-roleSpecificNamespaces.yaml
@@ -8,7 +8,7 @@ items:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
     name: prometheus-k8s
     namespace: default
   rules:
@@ -46,7 +46,7 @@ items:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
     name: prometheus-k8s
     namespace: kube-system
   rules:
@@ -84,7 +84,7 @@ items:
       app.kubernetes.io/instance: k8s
       app.kubernetes.io/name: prometheus
       app.kubernetes.io/part-of: kube-prometheus
-      app.kubernetes.io/version: 2.52.0
+      app.kubernetes.io/version: 2.53.0
     name: prometheus-k8s
     namespace: monitoring
   rules:
diff --git a/manifests/prometheus-service.yaml b/manifests/prometheus-service.yaml
index c9aecd55..67749976 100644
--- a/manifests/prometheus-service.yaml
+++ b/manifests/prometheus-service.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/prometheus-serviceAccount.yaml b/manifests/prometheus-serviceAccount.yaml
index 3c53f6ff..351f6b25 100644
--- a/manifests/prometheus-serviceAccount.yaml
+++ b/manifests/prometheus-serviceAccount.yaml
@@ -7,6 +7,6 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
   namespace: monitoring
diff --git a/manifests/prometheus-serviceMonitor.yaml b/manifests/prometheus-serviceMonitor.yaml
index 2bebe0af..f2ece777 100644
--- a/manifests/prometheus-serviceMonitor.yaml
+++ b/manifests/prometheus-serviceMonitor.yaml
@@ -6,7 +6,7 @@ metadata:
     app.kubernetes.io/instance: k8s
     app.kubernetes.io/name: prometheus
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.52.0
+    app.kubernetes.io/version: 2.53.0
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml b/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml
index 4070574d..33b421b1 100644
--- a/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml
+++ b/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml
@@ -2783,6 +2783,10 @@ spec:
                               Either `token` or `tokenFile` is required.
                               It requires Alertmanager >= v0.26.0.
                             type: string
+                          ttl:
+                            description: The time to live definition for the alert notification
+                            pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
+                            type: string
                           url:
                             description: A supplementary URL shown alongside the message.
                             type: string
diff --git a/manifests/setup/0prometheusCustomResourceDefinition.yaml b/manifests/setup/0prometheusCustomResourceDefinition.yaml
index 508a9787..423e0799 100644
--- a/manifests/setup/0prometheusCustomResourceDefinition.yaml
+++ b/manifests/setup/0prometheusCustomResourceDefinition.yaml
@@ -1992,6 +1992,10 @@ spec:
                 description: |-
                   BodySizeLimit defines per-scrape on response body size.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit.
                 pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
                 type: string
               configMaps:
@@ -3451,6 +3455,13 @@ spec:
 
 
                   It requires Prometheus >= v2.28.0.
+
+
+                  When both `enforcedBodySizeLimit` and `bodySizeLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined bodySizeLimit value will inherit the global bodySizeLimit value (Prometheus >= 2.45.0) or the enforcedBodySizeLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedBodySizeLimit` is greater than the `bodySizeLimit`, the `bodySizeLimit` will be set to `enforcedBodySizeLimit`.
+                  * Scrape objects with a bodySizeLimit value less than or equal to enforcedBodySizeLimit keep their specific value.
+                  * Scrape objects with a bodySizeLimit value greater than enforcedBodySizeLimit are set to enforcedBodySizeLimit.
                 pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
                 type: string
               enforcedKeepDroppedTargets:
@@ -3463,6 +3474,13 @@ spec:
 
 
                   It requires Prometheus >= v2.47.0.
+
+
+                  When both `enforcedKeepDroppedTargets` and `keepDroppedTargets` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined keepDroppedTargets value will inherit the global keepDroppedTargets value (Prometheus >= 2.45.0) or the enforcedKeepDroppedTargets value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedKeepDroppedTargets` is greater than the `keepDroppedTargets`, the `keepDroppedTargets` will be set to `enforcedKeepDroppedTargets`.
+                  * Scrape objects with a keepDroppedTargets value less than or equal to enforcedKeepDroppedTargets keep their specific value.
+                  * Scrape objects with a keepDroppedTargets value greater than enforcedKeepDroppedTargets are set to enforcedKeepDroppedTargets.
                 format: int64
                 type: integer
               enforcedLabelLimit:
@@ -3474,6 +3492,13 @@ spec:
 
 
                   It requires Prometheus >= v2.27.0.
+
+
+                  When both `enforcedLabelLimit` and `labelLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined labelLimit value will inherit the global labelLimit value (Prometheus >= 2.45.0) or the enforcedLabelLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedLabelLimit` is greater than the `labelLimit`, the `labelLimit` will be set to `enforcedLabelLimit`.
+                  * Scrape objects with a labelLimit value less than or equal to enforcedLabelLimit keep their specific value.
+                  * Scrape objects with a labelLimit value greater than enforcedLabelLimit are set to enforcedLabelLimit.
                 format: int64
                 type: integer
               enforcedLabelNameLengthLimit:
@@ -3485,6 +3510,13 @@ spec:
 
 
                   It requires Prometheus >= v2.27.0.
+
+
+                  When both `enforcedLabelNameLengthLimit` and `labelNameLengthLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined labelNameLengthLimit value will inherit the global labelNameLengthLimit value (Prometheus >= 2.45.0) or the enforcedLabelNameLengthLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedLabelNameLengthLimit` is greater than the `labelNameLengthLimit`, the `labelNameLengthLimit` will be set to `enforcedLabelNameLengthLimit`.
+                  * Scrape objects with a labelNameLengthLimit value less than or equal to enforcedLabelNameLengthLimit keep their specific value.
+                  * Scrape objects with a labelNameLengthLimit value greater than enforcedLabelNameLengthLimit are set to enforcedLabelNameLengthLimit.
                 format: int64
                 type: integer
               enforcedLabelValueLengthLimit:
@@ -3496,6 +3528,13 @@ spec:
 
 
                   It requires Prometheus >= v2.27.0.
+
+
+                  When both `enforcedLabelValueLengthLimit` and `labelValueLengthLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined labelValueLengthLimit value will inherit the global labelValueLengthLimit value (Prometheus >= 2.45.0) or the enforcedLabelValueLengthLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedLabelValueLengthLimit` is greater than the `labelValueLengthLimit`, the `labelValueLengthLimit` will be set to `enforcedLabelValueLengthLimit`.
+                  * Scrape objects with a labelValueLengthLimit value less than or equal to enforcedLabelValueLengthLimit keep their specific value.
+                  * Scrape objects with a labelValueLengthLimit value greater than enforcedLabelValueLengthLimit are set to enforcedLabelValueLengthLimit.
                 format: int64
                 type: integer
               enforcedNamespaceLabel:
@@ -3527,6 +3566,13 @@ spec:
 
                   It is meant to be used by admins to keep the overall number of
                   samples/series under a desired limit.
+
+
+                  When both `enforcedSampleLimit` and `sampleLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined sampleLimit value will inherit the global sampleLimit value (Prometheus >= 2.45.0) or the enforcedSampleLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedSampleLimit` is greater than the `sampleLimit`, the `sampleLimit` will be set to `enforcedSampleLimit`.
+                  * Scrape objects with a sampleLimit value less than or equal to enforcedSampleLimit keep their specific value.
+                  * Scrape objects with a sampleLimit value greater than enforcedSampleLimit are set to enforcedSampleLimit.
                 format: int64
                 type: integer
               enforcedTargetLimit:
@@ -3539,6 +3585,13 @@ spec:
 
                   It is meant to be used by admins to to keep the overall number of
                   targets under a desired limit.
+
+
+                  When both `enforcedTargetLimit` and `targetLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined targetLimit value will inherit the global targetLimit value (Prometheus >= 2.45.0) or the enforcedTargetLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedTargetLimit` is greater than the `targetLimit`, the `targetLimit` will be set to `enforcedTargetLimit`.
+                  * Scrape objects with a targetLimit value less than or equal to enforcedTargetLimit keep their specific value.
+                  * Scrape objects with a targetLimit value greater than enforcedTargetLimit are set to enforcedTargetLimit.
                 format: int64
                 type: integer
               evaluationInterval:
@@ -5111,24 +5164,40 @@ spec:
 
 
                   It requires Prometheus >= v2.47.0.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedKeepDroppedTargets.
                 format: int64
                 type: integer
               labelLimit:
                 description: |-
                   Per-scrape limit on number of labels that will be accepted for a sample.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelLimit.
                 format: int64
                 type: integer
               labelNameLengthLimit:
                 description: |-
                   Per-scrape limit on length of labels name that will be accepted for a sample.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelNameLengthLimit.
                 format: int64
                 type: integer
               labelValueLengthLimit:
                 description: |-
                   Per-scrape limit on length of labels value that will be accepted for a sample.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelValueLengthLimit.
                 format: int64
                 type: integer
               listenLocal:
@@ -5721,6 +5790,15 @@ spec:
 
                         It requires Prometheus >= v2.15.0.
                       type: string
+                    noProxy:
+                      description: |-
+                        `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
+                        that should be excluded from proxying. IP and domain names can
+                        contain port numbers.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: string
                     oauth2:
                       description: |-
                         OAuth2 configuration for the URL.
@@ -5832,8 +5910,56 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
+                    proxyConnectHeader:
+                      additionalProperties:
+                        items:
+                          description: SecretKeySelector selects a key of a Secret.
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
+                              type: string
+                            name:
+                              default: ""
+                              description: |-
+                                Name of the referent.
+                                This field is effectively required, but due to backwards compatibility is
+                                allowed to be empty. Instances of this type with an empty value here are
+                                almost certainly wrong.
+                                TODO: Add other useful fields. apiVersion, kind, uid?
+                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+                              type: string
+                            optional:
+                              description: Specify whether the Secret or its key must be defined
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                          x-kubernetes-map-type: atomic
+                        type: array
+                      description: |-
+                        ProxyConnectHeader optionally specifies headers to send to
+                        proxies during CONNECT requests.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: object
+                      x-kubernetes-map-type: atomic
+                    proxyFromEnvironment:
+                      description: |-
+                        Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
+                        If unset, Prometheus uses its default value.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: boolean
                     proxyUrl:
-                      description: Optional ProxyURL.
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      pattern: ^http(s)?://.+$
                       type: string
                     readRecent:
                       description: |-
@@ -6227,6 +6353,13 @@ spec:
                     enableHTTP2:
                       description: Whether to enable HTTP2.
                       type: boolean
+                    followRedirects:
+                      description: |-
+                        Configure whether HTTP requests follow HTTP 3xx redirects.
+
+
+                        It requires Prometheus >= v2.26.0.
+                      type: boolean
                     headers:
                       additionalProperties:
                         type: string
@@ -6256,6 +6389,15 @@ spec:
 
                         It requires Prometheus >= v2.15.0.
                       type: string
+                    noProxy:
+                      description: |-
+                        `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
+                        that should be excluded from proxying. IP and domain names can
+                        contain port numbers.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: string
                     oauth2:
                       description: |-
                         OAuth2 configuration for the URL.
@@ -6367,8 +6509,56 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
+                    proxyConnectHeader:
+                      additionalProperties:
+                        items:
+                          description: SecretKeySelector selects a key of a Secret.
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
+                              type: string
+                            name:
+                              default: ""
+                              description: |-
+                                Name of the referent.
+                                This field is effectively required, but due to backwards compatibility is
+                                allowed to be empty. Instances of this type with an empty value here are
+                                almost certainly wrong.
+                                TODO: Add other useful fields. apiVersion, kind, uid?
+                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+                              type: string
+                            optional:
+                              description: Specify whether the Secret or its key must be defined
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                          x-kubernetes-map-type: atomic
+                        type: array
+                      description: |-
+                        ProxyConnectHeader optionally specifies headers to send to
+                        proxies during CONNECT requests.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: object
+                      x-kubernetes-map-type: atomic
+                    proxyFromEnvironment:
+                      description: |-
+                        Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
+                        If unset, Prometheus uses its default value.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: boolean
                     proxyUrl:
-                      description: Optional ProxyURL.
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      pattern: ^http(s)?://.+$
                       type: string
                     queueConfig:
                       description: QueueConfig allows tuning of the remote write queue parameters.
@@ -6980,6 +7170,10 @@ spec:
                 description: |-
                   SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedSampleLimit.
                 format: int64
                 type: integer
               scrapeClasses:
@@ -8482,6 +8676,10 @@ spec:
                 description: |-
                   TargetLimit defines a limit on the number of scraped targets that will be accepted.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit.
                 format: int64
                 type: integer
               thanos:
diff --git a/manifests/setup/0prometheusagentCustomResourceDefinition.yaml b/manifests/setup/0prometheusagentCustomResourceDefinition.yaml
index f966959f..8e2b6019 100644
--- a/manifests/setup/0prometheusagentCustomResourceDefinition.yaml
+++ b/manifests/setup/0prometheusagentCustomResourceDefinition.yaml
@@ -1333,6 +1333,10 @@ spec:
                 description: |-
                   BodySizeLimit defines per-scrape on response body size.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit.
                 pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
                 type: string
               configMaps:
@@ -2775,6 +2779,13 @@ spec:
 
 
                   It requires Prometheus >= v2.28.0.
+
+
+                  When both `enforcedBodySizeLimit` and `bodySizeLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined bodySizeLimit value will inherit the global bodySizeLimit value (Prometheus >= 2.45.0) or the enforcedBodySizeLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedBodySizeLimit` is greater than the `bodySizeLimit`, the `bodySizeLimit` will be set to `enforcedBodySizeLimit`.
+                  * Scrape objects with a bodySizeLimit value less than or equal to enforcedBodySizeLimit keep their specific value.
+                  * Scrape objects with a bodySizeLimit value greater than enforcedBodySizeLimit are set to enforcedBodySizeLimit.
                 pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
                 type: string
               enforcedKeepDroppedTargets:
@@ -2787,6 +2798,13 @@ spec:
 
 
                   It requires Prometheus >= v2.47.0.
+
+
+                  When both `enforcedKeepDroppedTargets` and `keepDroppedTargets` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined keepDroppedTargets value will inherit the global keepDroppedTargets value (Prometheus >= 2.45.0) or the enforcedKeepDroppedTargets value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedKeepDroppedTargets` is greater than the `keepDroppedTargets`, the `keepDroppedTargets` will be set to `enforcedKeepDroppedTargets`.
+                  * Scrape objects with a keepDroppedTargets value less than or equal to enforcedKeepDroppedTargets keep their specific value.
+                  * Scrape objects with a keepDroppedTargets value greater than enforcedKeepDroppedTargets are set to enforcedKeepDroppedTargets.
                 format: int64
                 type: integer
               enforcedLabelLimit:
@@ -2798,6 +2816,13 @@ spec:
 
 
                   It requires Prometheus >= v2.27.0.
+
+
+                  When both `enforcedLabelLimit` and `labelLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined labelLimit value will inherit the global labelLimit value (Prometheus >= 2.45.0) or the enforcedLabelLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedLabelLimit` is greater than the `labelLimit`, the `labelLimit` will be set to `enforcedLabelLimit`.
+                  * Scrape objects with a labelLimit value less than or equal to enforcedLabelLimit keep their specific value.
+                  * Scrape objects with a labelLimit value greater than enforcedLabelLimit are set to enforcedLabelLimit.
                 format: int64
                 type: integer
               enforcedLabelNameLengthLimit:
@@ -2809,6 +2834,13 @@ spec:
 
 
                   It requires Prometheus >= v2.27.0.
+
+
+                  When both `enforcedLabelNameLengthLimit` and `labelNameLengthLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined labelNameLengthLimit value will inherit the global labelNameLengthLimit value (Prometheus >= 2.45.0) or the enforcedLabelNameLengthLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedLabelNameLengthLimit` is greater than the `labelNameLengthLimit`, the `labelNameLengthLimit` will be set to `enforcedLabelNameLengthLimit`.
+                  * Scrape objects with a labelNameLengthLimit value less than or equal to enforcedLabelNameLengthLimit keep their specific value.
+                  * Scrape objects with a labelNameLengthLimit value greater than enforcedLabelNameLengthLimit are set to enforcedLabelNameLengthLimit.
                 format: int64
                 type: integer
               enforcedLabelValueLengthLimit:
@@ -2820,6 +2852,13 @@ spec:
 
 
                   It requires Prometheus >= v2.27.0.
+
+
+                  When both `enforcedLabelValueLengthLimit` and `labelValueLengthLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined labelValueLengthLimit value will inherit the global labelValueLengthLimit value (Prometheus >= 2.45.0) or the enforcedLabelValueLengthLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedLabelValueLengthLimit` is greater than the `labelValueLengthLimit`, the `labelValueLengthLimit` will be set to `enforcedLabelValueLengthLimit`.
+                  * Scrape objects with a labelValueLengthLimit value less than or equal to enforcedLabelValueLengthLimit keep their specific value.
+                  * Scrape objects with a labelValueLengthLimit value greater than enforcedLabelValueLengthLimit are set to enforcedLabelValueLengthLimit.
                 format: int64
                 type: integer
               enforcedNamespaceLabel:
@@ -2851,6 +2890,13 @@ spec:
 
                   It is meant to be used by admins to keep the overall number of
                   samples/series under a desired limit.
+
+
+                  When both `enforcedSampleLimit` and `sampleLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined sampleLimit value will inherit the global sampleLimit value (Prometheus >= 2.45.0) or the enforcedSampleLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedSampleLimit` is greater than the `sampleLimit`, the `sampleLimit` will be set to `enforcedSampleLimit`.
+                  * Scrape objects with a sampleLimit value less than or equal to enforcedSampleLimit keep their specific value.
+                  * Scrape objects with a sampleLimit value greater than enforcedSampleLimit are set to enforcedSampleLimit.
                 format: int64
                 type: integer
               enforcedTargetLimit:
@@ -2863,6 +2909,13 @@ spec:
 
                   It is meant to be used by admins to to keep the overall number of
                   targets under a desired limit.
+
+
+                  When both `enforcedTargetLimit` and `targetLimit` are defined and greater than zero, the following rules apply:
+                  * Scrape objects without a defined targetLimit value will inherit the global targetLimit value (Prometheus >= 2.45.0) or the enforcedTargetLimit value (Prometheus < v2.45.0).
+                    If Prometheus version is >= 2.45.0 and the `enforcedTargetLimit` is greater than the `targetLimit`, the `targetLimit` will be set to `enforcedTargetLimit`.
+                  * Scrape objects with a targetLimit value less than or equal to enforcedTargetLimit keep their specific value.
+                  * Scrape objects with a targetLimit value greater than enforcedTargetLimit are set to enforcedTargetLimit.
                 format: int64
                 type: integer
               excludedFromEnforcement:
@@ -4409,24 +4462,40 @@ spec:
 
 
                   It requires Prometheus >= v2.47.0.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedKeepDroppedTargets.
                 format: int64
                 type: integer
               labelLimit:
                 description: |-
                   Per-scrape limit on number of labels that will be accepted for a sample.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelLimit.
                 format: int64
                 type: integer
               labelNameLengthLimit:
                 description: |-
                   Per-scrape limit on length of labels name that will be accepted for a sample.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelNameLengthLimit.
                 format: int64
                 type: integer
               labelValueLengthLimit:
                 description: |-
                   Per-scrape limit on length of labels value that will be accepted for a sample.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelValueLengthLimit.
                 format: int64
                 type: integer
               listenLocal:
@@ -5030,6 +5099,13 @@ spec:
                     enableHTTP2:
                       description: Whether to enable HTTP2.
                       type: boolean
+                    followRedirects:
+                      description: |-
+                        Configure whether HTTP requests follow HTTP 3xx redirects.
+
+
+                        It requires Prometheus >= v2.26.0.
+                      type: boolean
                     headers:
                       additionalProperties:
                         type: string
@@ -5059,6 +5135,15 @@ spec:
 
                         It requires Prometheus >= v2.15.0.
                       type: string
+                    noProxy:
+                      description: |-
+                        `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
+                        that should be excluded from proxying. IP and domain names can
+                        contain port numbers.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: string
                     oauth2:
                       description: |-
                         OAuth2 configuration for the URL.
@@ -5170,8 +5255,56 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
+                    proxyConnectHeader:
+                      additionalProperties:
+                        items:
+                          description: SecretKeySelector selects a key of a Secret.
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
+                              type: string
+                            name:
+                              default: ""
+                              description: |-
+                                Name of the referent.
+                                This field is effectively required, but due to backwards compatibility is
+                                allowed to be empty. Instances of this type with an empty value here are
+                                almost certainly wrong.
+                                TODO: Add other useful fields. apiVersion, kind, uid?
+                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+                              type: string
+                            optional:
+                              description: Specify whether the Secret or its key must be defined
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                          x-kubernetes-map-type: atomic
+                        type: array
+                      description: |-
+                        ProxyConnectHeader optionally specifies headers to send to
+                        proxies during CONNECT requests.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: object
+                      x-kubernetes-map-type: atomic
+                    proxyFromEnvironment:
+                      description: |-
+                        Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
+                        If unset, Prometheus uses its default value.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      type: boolean
                     proxyUrl:
-                      description: Optional ProxyURL.
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
+                      pattern: ^http(s)?://.+$
                       type: string
                     queueConfig:
                       description: QueueConfig allows tuning of the remote write queue parameters.
@@ -5647,6 +5780,10 @@ spec:
                 description: |-
                   SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedSampleLimit.
                 format: int64
                 type: integer
               scrapeClasses:
@@ -7143,6 +7280,10 @@ spec:
                 description: |-
                   TargetLimit defines a limit on the number of scraped targets that will be accepted.
                   Only valid in Prometheus versions 2.45.0 and newer.
+
+
+                  Note that the global limit only applies to scrape objects that don't specify an explicit limit value.
+                  If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit.
                 format: int64
                 type: integer
               tolerations:
-- 
GitLab