diff --git a/jsonnet/kube-prometheus/versions.json b/jsonnet/kube-prometheus/versions.json
index bd0a90658c4e92c14726ead59c7ed0b7cf16b2ff..f56a82931c70fdf645402049dbea2d169d2dadef 100644
--- a/jsonnet/kube-prometheus/versions.json
+++ b/jsonnet/kube-prometheus/versions.json
@@ -4,7 +4,7 @@
   "grafana": "10.2.3",
   "kubeStateMetrics": "2.10.1",
   "nodeExporter": "1.7.0",
-  "prometheus": "2.48.1",
+  "prometheus": "2.49.1",
   "prometheusAdapter": "0.11.2",
   "prometheusOperator": "0.71.0",
   "kubeRbacProxy": "0.15.0",
diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json
index ab4f238f9d5a70f6455cef7cff69ea33c78005d4..eeb055416f4023b54adcf642a21c1f78bb7975c0 100644
--- a/jsonnetfile.lock.json
+++ b/jsonnetfile.lock.json
@@ -18,7 +18,7 @@
           "subdir": "contrib/mixin"
         }
       },
-      "version": "c8b4b168aff7f84d3b10dc9ddc13a381f15a710c",
+      "version": "15f95ec49b90fbfd09bc1315cf71d4c1167ee873",
       "sum": "xuUBd2vqF7asyVDe5CE08uPT/RxAdy8O75EjFJoMXXU="
     },
     {
@@ -58,8 +58,8 @@
           "subdir": "gen/grafonnet-v10.0.0"
         }
       },
-      "version": "41a43666c3a7c943b83d8fbc5d07eb954f4af753",
-      "sum": "CyoFNgumAaS/DTwOOS52ivSMplsMnuEgNNGBissPgsM="
+      "version": "f78203c631538db21c04af6b7606f581dc2d3b79",
+      "sum": "DpIPVF1qwjNj9ZlEdeH8cCXW3ODpcsq+6nyDkUK9NnE="
     },
     {
       "source": {
@@ -68,7 +68,7 @@
           "subdir": "grafana-builder"
         }
       },
-      "version": "e5d392ab3e1c979dd9e2f775e90d9a59d6d38278",
+      "version": "07b4fefc47db2aad8b355eb78734cdef427d960a",
       "sum": "B49EzIY2WZsFxNMJcgRxE/gcZ9ltnS8pkOOV6Q5qioc="
     },
     {
@@ -128,7 +128,7 @@
           "subdir": "jsonnet/mixin"
         }
       },
-      "version": "34836082f8fd00b14d05760bade78796f01c24e3",
+      "version": "57e4f8f5763b83b7e8e730b2dc061530688a44ad",
       "sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=",
       "name": "prometheus-operator-mixin"
     },
@@ -139,8 +139,8 @@
           "subdir": "jsonnet/prometheus-operator"
         }
       },
-      "version": "34836082f8fd00b14d05760bade78796f01c24e3",
-      "sum": "H4oOKi1Xd9s2cNf4l58NX6Jsleyai8Kp0e0jvccqpds="
+      "version": "57e4f8f5763b83b7e8e730b2dc061530688a44ad",
+      "sum": "xV51OVpk3WXjHNjpwXf5Ve0pUDiZkvkzpeA6u2YjtmE="
     },
     {
       "source": {
@@ -149,7 +149,7 @@
           "subdir": "doc/alertmanager-mixin"
         }
       },
-      "version": "9ed52df5a7023f2f9324cdcee353c655fd968d09",
+      "version": "f92a08d073863b7e3731e503c45c81065c4b2910",
       "sum": "IpF46ZXsm+0wJJAPtAre8+yxTNZA57mBqGpBP/r7/kw=",
       "name": "alertmanager"
     },
@@ -160,7 +160,7 @@
           "subdir": "docs/node-mixin"
         }
       },
-      "version": "f18cd07fff633bc871e8ad270c604f740cd8ab2d",
+      "version": "e22174ca8e47993dbc8c3aab8c2e6906f06926b5",
       "sum": "QZwFBpulndqo799gkR5rP2/WdcQKQkNnaBwhaOI8Jeg="
     },
     {
@@ -170,8 +170,8 @@
           "subdir": "documentation/prometheus-mixin"
         }
       },
-      "version": "6150e1ca0ede508e56414363cc9062ef522db518",
-      "sum": "rNvddVTMNfaguOGzEGoeKjUsfhlXJBUImC+SIFNNCiM=",
+      "version": "65cf528403b9cd2f6e4b526ee2c29d2e84c76178",
+      "sum": "GORLOoG6efKxGuj57d06LiqwtVkRhllDfqWQS7c+j1w=",
       "name": "prometheus"
     },
     {
@@ -192,7 +192,7 @@
           "subdir": "mixin"
         }
       },
-      "version": "427b9a171ff4effd76b876b3dd48fa96334c7a69",
+      "version": "058f92070ffe2a322c99685141a4ff53c0c1d4ca",
       "sum": "HhSSbGGCNHCMy1ee5jElYDm0yS9Vesa7QB2/SHKdjsY=",
       "name": "thanos-mixin"
     },
diff --git a/manifests/grafana-dashboardDefinitions.yaml b/manifests/grafana-dashboardDefinitions.yaml
index f2596a8af38b5d3111540f42ff281d409c7ecc3c..1de1ac30338e9ffb00f12e3ef6e3fc0e22bcebdf 100644
--- a/manifests/grafana-dashboardDefinitions.yaml
+++ b/manifests/grafana-dashboardDefinitions.yaml
@@ -33752,6 +33752,25 @@ items:
                                   "type": "number",
                                   "unit": "s"
                               },
+                              {
+                                  "alias": "Cluster",
+                                  "colorMode": null,
+                                  "colors": [
+
+                                  ],
+                                  "dateFormat": "YYYY-MM-DD HH:mm:ss",
+                                  "decimals": 2,
+                                  "link": false,
+                                  "linkTargetBlank": false,
+                                  "linkTooltip": "Drill down",
+                                  "linkUrl": "",
+                                  "pattern": "cluster",
+                                  "thresholds": [
+
+                                  ],
+                                  "type": "number",
+                                  "unit": "short"
+                              },
                               {
                                   "alias": "Instance",
                                   "colorMode": null,
@@ -33827,14 +33846,14 @@ items:
                           ],
                           "targets": [
                               {
-                                  "expr": "count by (job, instance, version) (prometheus_build_info{job=~\"$job\", instance=~\"$instance\"})",
+                                  "expr": "count by (cluster, job, instance, version) (prometheus_build_info{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
                                   "format": "table",
                                   "instant": true,
                                   "legendFormat": "",
                                   "refId": "A"
                               },
                               {
-                                  "expr": "max by (job, instance) (time() - process_start_time_seconds{job=~\"$job\", instance=~\"$instance\"})",
+                                  "expr": "max by (cluster, job, instance) (time() - process_start_time_seconds{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
                                   "format": "table",
                                   "instant": true,
                                   "legendFormat": "",
@@ -33932,9 +33951,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "sum(rate(prometheus_target_sync_length_seconds_sum{job=~\"$job\",instance=~\"$instance\"}[5m])) by (scrape_job) * 1e3",
+                                  "expr": "sum(rate(prometheus_target_sync_length_seconds_sum{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}[5m])) by (cluster, job, scrape_job, instance) * 1e3",
                                   "format": "time_series",
-                                  "legendFormat": "{{scrape_job}}",
+                                  "legendFormat": "{{cluster}}:{{job}}:{{instance}}:{{scrape_job}}",
                                   "legendLink": null
                               }
                           ],
@@ -34016,9 +34035,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "sum(prometheus_sd_discovered_targets{job=~\"$job\",instance=~\"$instance\"})",
+                                  "expr": "sum by (cluster, job, instance) (prometheus_sd_discovered_targets{cluster=~\"$cluster\", job=~\"$job\",instance=~\"$instance\"})",
                                   "format": "time_series",
-                                  "legendFormat": "Targets",
+                                  "legendFormat": "{{cluster}}:{{job}}:{{instance}}",
                                   "legendLink": null
                               }
                           ],
@@ -34112,9 +34131,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "rate(prometheus_target_interval_length_seconds_sum{job=~\"$job\",instance=~\"$instance\"}[5m]) / rate(prometheus_target_interval_length_seconds_count{job=~\"$job\",instance=~\"$instance\"}[5m]) * 1e3",
+                                  "expr": "rate(prometheus_target_interval_length_seconds_sum{cluster=~\"$cluster\", job=~\"$job\",instance=~\"$instance\"}[5m]) / rate(prometheus_target_interval_length_seconds_count{cluster=~\"$cluster\", job=~\"$job\",instance=~\"$instance\"}[5m]) * 1e3",
                                   "format": "time_series",
-                                  "legendFormat": "{{interval}} configured",
+                                  "legendFormat": "{{cluster}}:{{job}}:{{instance}} {{interval}} configured",
                                   "legendLink": null
                               }
                           ],
@@ -34196,33 +34215,33 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "sum by (job) (rate(prometheus_target_scrapes_exceeded_body_size_limit_total[1m]))",
+                                  "expr": "sum by (cluster, job, instance) (rate(prometheus_target_scrapes_exceeded_body_size_limit_total{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}[1m]))",
                                   "format": "time_series",
-                                  "legendFormat": "exceeded body size limit: {{job}}",
+                                  "legendFormat": "exceeded body size limit: {{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               },
                               {
-                                  "expr": "sum by (job) (rate(prometheus_target_scrapes_exceeded_sample_limit_total[1m]))",
+                                  "expr": "sum by (cluster, job, instance) (rate(prometheus_target_scrapes_exceeded_sample_limit_total{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}[1m]))",
                                   "format": "time_series",
-                                  "legendFormat": "exceeded sample limit: {{job}}",
+                                  "legendFormat": "exceeded sample limit: {{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               },
                               {
-                                  "expr": "sum by (job) (rate(prometheus_target_scrapes_sample_duplicate_timestamp_total[1m]))",
+                                  "expr": "sum by (cluster, job, instance) (rate(prometheus_target_scrapes_sample_duplicate_timestamp_total{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}[1m]))",
                                   "format": "time_series",
-                                  "legendFormat": "duplicate timestamp: {{job}}",
+                                  "legendFormat": "duplicate timestamp: {{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               },
                               {
-                                  "expr": "sum by (job) (rate(prometheus_target_scrapes_sample_out_of_bounds_total[1m]))",
+                                  "expr": "sum by (cluster, job, instance) (rate(prometheus_target_scrapes_sample_out_of_bounds_total{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}[1m]))",
                                   "format": "time_series",
-                                  "legendFormat": "out of bounds: {{job}}",
+                                  "legendFormat": "out of bounds: {{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               },
                               {
-                                  "expr": "sum by (job) (rate(prometheus_target_scrapes_sample_out_of_order_total[1m]))",
+                                  "expr": "sum by (cluster, job, instance) (rate(prometheus_target_scrapes_sample_out_of_order_total{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}[1m]))",
                                   "format": "time_series",
-                                  "legendFormat": "out of order: {{job}}",
+                                  "legendFormat": "out of order: {{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               }
                           ],
@@ -34304,9 +34323,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "rate(prometheus_tsdb_head_samples_appended_total{job=~\"$job\",instance=~\"$instance\"}[5m])",
+                                  "expr": "rate(prometheus_tsdb_head_samples_appended_total{cluster=~\"$cluster\", job=~\"$job\",instance=~\"$instance\"}[5m])",
                                   "format": "time_series",
-                                  "legendFormat": "{{job}} {{instance}}",
+                                  "legendFormat": "{{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               }
                           ],
@@ -34400,9 +34419,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "prometheus_tsdb_head_series{job=~\"$job\",instance=~\"$instance\"}",
+                                  "expr": "prometheus_tsdb_head_series{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}",
                                   "format": "time_series",
-                                  "legendFormat": "{{job}} {{instance}} head series",
+                                  "legendFormat": "{{cluster}} {{job}} {{instance}} head series",
                                   "legendLink": null
                               }
                           ],
@@ -34484,9 +34503,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "prometheus_tsdb_head_chunks{job=~\"$job\",instance=~\"$instance\"}",
+                                  "expr": "prometheus_tsdb_head_chunks{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\"}",
                                   "format": "time_series",
-                                  "legendFormat": "{{job}} {{instance}} head chunks",
+                                  "legendFormat": "{{cluster}} {{job}} {{instance}} head chunks",
                                   "legendLink": null
                               }
                           ],
@@ -34580,9 +34599,9 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "rate(prometheus_engine_query_duration_seconds_count{job=~\"$job\",instance=~\"$instance\",slice=\"inner_eval\"}[5m])",
+                                  "expr": "rate(prometheus_engine_query_duration_seconds_count{cluster=~\"$cluster\",job=~\"$job\",instance=~\"$instance\",slice=\"inner_eval\"}[5m])",
                                   "format": "time_series",
-                                  "legendFormat": "{{job}} {{instance}}",
+                                  "legendFormat": "{{cluster}} {{job}} {{instance}}",
                                   "legendLink": null
                               }
                           ],
@@ -34664,7 +34683,7 @@ items:
                           "steppedLine": false,
                           "targets": [
                               {
-                                  "expr": "max by (slice) (prometheus_engine_query_duration_seconds{quantile=\"0.9\",job=~\"$job\",instance=~\"$instance\"}) * 1e3",
+                                  "expr": "max by (slice) (prometheus_engine_query_duration_seconds{quantile=\"0.9\",cluster=~\"$cluster\", job=~\"$job\",instance=~\"$instance\"}) * 1e3",
                                   "format": "time_series",
                                   "legendFormat": "{{slice}}",
                                   "legendLink": null
@@ -34742,6 +34761,34 @@ items:
                       "regex": "",
                       "type": "datasource"
                   },
+                  {
+                      "allValue": ".+",
+                      "current": {
+                          "selected": true,
+                          "text": "All",
+                          "value": "$__all"
+                      },
+                      "datasource": "$datasource",
+                      "hide": 0,
+                      "includeAll": true,
+                      "label": "cluster",
+                      "multi": true,
+                      "name": "cluster",
+                      "options": [
+
+                      ],
+                      "query": "label_values(prometheus_build_info{job=\"prometheus-k8s\",namespace=\"monitoring\"}, cluster)",
+                      "refresh": 1,
+                      "regex": "",
+                      "sort": 2,
+                      "tagValuesQuery": "",
+                      "tags": [
+
+                      ],
+                      "tagsQuery": "",
+                      "type": "query",
+                      "useTags": false
+                  },
                   {
                       "allValue": ".+",
                       "current": {
@@ -34758,7 +34805,7 @@ items:
                       "options": [
 
                       ],
-                      "query": "label_values(prometheus_build_info{job=\"prometheus-k8s\",namespace=\"monitoring\"}, job)",
+                      "query": "label_values(prometheus_build_info{cluster=~\"$cluster\"}, job)",
                       "refresh": 1,
                       "regex": "",
                       "sort": 2,
@@ -34786,7 +34833,7 @@ items:
                       "options": [
 
                       ],
-                      "query": "label_values(prometheus_build_info{job=~\"$job\"}, instance)",
+                      "query": "label_values(prometheus_build_info{cluster=~\"$cluster\", job=~\"$job\"}, instance)",
                       "refresh": 1,
                       "regex": "",
                       "sort": 2,
diff --git a/manifests/prometheus-clusterRole.yaml b/manifests/prometheus-clusterRole.yaml
index b9001c6350c1a34b8152c7f3f9cc59fa404e2edb..df58c1fbd93b5ccb41f5d5fa27188349c9f381a5 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
 rules:
 - apiGroups:
diff --git a/manifests/prometheus-clusterRoleBinding.yaml b/manifests/prometheus-clusterRoleBinding.yaml
index 6b6c70d99ecf02a12455ddc7bdc5a740584bc7a0..e840f31fbd5740e42b46e38c1326f36336b9e535 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
 roleRef:
   apiGroup: rbac.authorization.k8s.io
diff --git a/manifests/prometheus-networkPolicy.yaml b/manifests/prometheus-networkPolicy.yaml
index c74cc4bc849e76140eeeffffea5e52a988d7b4e3..145881d970114812000892846e56a6ad2c1dfd6d 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/prometheus-podDisruptionBudget.yaml b/manifests/prometheus-podDisruptionBudget.yaml
index ebed48749254e95abe7dc8f1bd2364bf9228e5c9..705d4e3c6eddec48197fb177ac3cd704c70e8c02 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/prometheus-prometheus.yaml b/manifests/prometheus-prometheus.yaml
index a2ec7bad48036b2a1c9ceb91030a6e042930f561..f9f2c768b6e9432388f104f3833a271e11f72244 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: k8s
   namespace: monitoring
 spec:
@@ -18,7 +18,7 @@ spec:
       port: web
   enableFeatures: []
   externalLabels: {}
-  image: quay.io/prometheus/prometheus:v2.48.1
+  image: quay.io/prometheus/prometheus:v2.49.1
   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.48.1
+      app.kubernetes.io/version: 2.49.1
   podMonitorNamespaceSelector: {}
   podMonitorSelector: {}
   probeNamespaceSelector: {}
@@ -47,4 +47,4 @@ spec:
   serviceAccountName: prometheus-k8s
   serviceMonitorNamespaceSelector: {}
   serviceMonitorSelector: {}
-  version: 2.48.1
+  version: 2.49.1
diff --git a/manifests/prometheus-prometheusRule.yaml b/manifests/prometheus-prometheusRule.yaml
index 0cfc398b566766763cf1889da57a00e4a0322f5a..dd9f6f047568c707b756b9326ce5e7dcaca40b3e 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.48.1
+    app.kubernetes.io/version: 2.49.1
     prometheus: k8s
     role: alert-rules
   name: prometheus-k8s-prometheus-rules
diff --git a/manifests/prometheus-roleBindingConfig.yaml b/manifests/prometheus-roleBindingConfig.yaml
index a77ef8d8a8f56de163c706b6bcb4e2d5cc9ce632..52818b614dfc631b761a9e0e03caf0edd36f4c58 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s-config
   namespace: monitoring
 roleRef:
diff --git a/manifests/prometheus-roleBindingSpecificNamespaces.yaml b/manifests/prometheus-roleBindingSpecificNamespaces.yaml
index 96b5e7fb2bf56c7813136bef31c536b4ae02d43e..dff36dca711da621112260968d8a559c06b5a17d 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.48.1
+      app.kubernetes.io/version: 2.49.1
     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.48.1
+      app.kubernetes.io/version: 2.49.1
     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.48.1
+      app.kubernetes.io/version: 2.49.1
     name: prometheus-k8s
     namespace: monitoring
   roleRef:
diff --git a/manifests/prometheus-roleConfig.yaml b/manifests/prometheus-roleConfig.yaml
index c8c3dbe70f263bdcd8ee70a8a7a58733e511374d..fdd21cad3194da111b776db6a944a29f7d465063 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s-config
   namespace: monitoring
 rules:
diff --git a/manifests/prometheus-roleSpecificNamespaces.yaml b/manifests/prometheus-roleSpecificNamespaces.yaml
index af38a5537e9d40f8258a6ffc168234a22d31e906..c8733870be56f0f4197e23d20d40ef35ae2ee06d 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.48.1
+      app.kubernetes.io/version: 2.49.1
     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.48.1
+      app.kubernetes.io/version: 2.49.1
     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.48.1
+      app.kubernetes.io/version: 2.49.1
     name: prometheus-k8s
     namespace: monitoring
   rules:
diff --git a/manifests/prometheus-service.yaml b/manifests/prometheus-service.yaml
index fed75041276f26121c7c1ec338f5ec97a57703ad..364ae8bd87ab172d393f059dca7b6ee031e485fd 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/prometheus-serviceAccount.yaml b/manifests/prometheus-serviceAccount.yaml
index bfddbbb35a5b998c3dd706a2dfddec72917c2cbb..be853054125b925d0c2d1cb8ddddf7f7b523a68b 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
   namespace: monitoring
diff --git a/manifests/prometheus-serviceMonitor.yaml b/manifests/prometheus-serviceMonitor.yaml
index 39c6773ada74d5d4cda241bc84698f3acaf531c6..73fd616572ea14e34b199bdb691efc0578ab9260 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.48.1
+    app.kubernetes.io/version: 2.49.1
   name: prometheus-k8s
   namespace: monitoring
 spec:
diff --git a/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml b/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml
index 14aa95bdd4d4be10b1f046c2215ac629d4ece3bd..05fd6342e59c069c60c1bc6ebdc1ed5c992ddc62 100644
--- a/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml
+++ b/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml
@@ -486,6 +486,251 @@ spec:
                   - server
                   type: object
                 type: array
+              digitalOceanSDConfigs:
+                description: DigitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations.
+                items:
+                  description: DigitalOceanSDConfig allow retrieving scrape targets from DigitalOcean's Droplets API. This service discovery uses the public IPv4 address by default, by that can be changed with relabeling See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#digitalocean_sd_config
+                  properties:
+                    authorization:
+                      description: Authorization header configuration to authenticate against the DigitalOcean API. Cannot be set at the same time as `oauth2`.
+                      properties:
+                        credentials:
+                          description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
+                              type: string
+                            name:
+                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                              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:
+                          description: "Defines the authentication type. The value is case-insensitive. \n \"Basic\" is not a supported value. \n Default: \"Bearer\""
+                          type: string
+                      type: object
+                    enableHTTP2:
+                      description: Whether to enable HTTP2.
+                      type: boolean
+                    followRedirects:
+                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
+                      type: boolean
+                    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. \n It requires Prometheus >= v2.43.0."
+                      type: string
+                    oauth2:
+                      description: Optional OAuth 2.0 configuration. Cannot be set at the same time as `authorization`.
+                      properties:
+                        clientId:
+                          description: '`clientId` specifies a key of a Secret or ConfigMap containing the OAuth2 client''s ID.'
+                          properties:
+                            configMap:
+                              description: ConfigMap containing data to use for the targets.
+                              properties:
+                                key:
+                                  description: The key to select.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the ConfigMap or its key must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            secret:
+                              description: Secret containing data to use for the targets.
+                              properties:
+                                key:
+                                  description: The key of the secret to select from.  Must be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                                  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: object
+                        clientSecret:
+                          description: '`clientSecret` specifies a key of a Secret containing the OAuth2 client''s secret.'
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
+                              type: string
+                            name:
+                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                              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
+                        endpointParams:
+                          additionalProperties:
+                            type: string
+                          description: '`endpointParams` configures the HTTP parameters to append to the token URL.'
+                          type: object
+                        scopes:
+                          description: '`scopes` defines the OAuth2 scopes used for the token request.'
+                          items:
+                            type: string
+                          type: array
+                        tokenUrl:
+                          description: '`tokenURL` configures the URL to fetch the token from.'
+                          minLength: 1
+                          type: string
+                      required:
+                      - clientId
+                      - clientSecret
+                      - tokenUrl
+                      type: object
+                    port:
+                      description: The port to scrape metrics from.
+                      type: integer
+                    proxyConnectHeader:
+                      additionalProperties:
+                        description: SecretKeySelector selects a key of a Secret.
+                        properties:
+                          key:
+                            description: The key of the secret to select from.  Must be a valid secret key.
+                            type: string
+                          name:
+                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                            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
+                      description: "ProxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. \n 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. \n It requires Prometheus >= v2.43.0."
+                      type: boolean
+                    proxyUrl:
+                      description: "`proxyURL` defines the HTTP proxy server to use. \n It requires Prometheus >= v2.43.0."
+                      pattern: ^http(s)?://.+$
+                      type: string
+                    refreshInterval:
+                      description: Refresh interval to re-read the instance list.
+                      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
+                    tlsConfig:
+                      description: TLS configuration applying to the target HTTP endpoint.
+                      properties:
+                        ca:
+                          description: Certificate authority used when verifying server certificates.
+                          properties:
+                            configMap:
+                              description: ConfigMap containing data to use for the targets.
+                              properties:
+                                key:
+                                  description: The key to select.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the ConfigMap or its key must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            secret:
+                              description: Secret containing data to use for the targets.
+                              properties:
+                                key:
+                                  description: The key of the secret to select from.  Must be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                                  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: object
+                        cert:
+                          description: Client certificate to present when doing client-authentication.
+                          properties:
+                            configMap:
+                              description: ConfigMap containing data to use for the targets.
+                              properties:
+                                key:
+                                  description: The key to select.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the ConfigMap or its key must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            secret:
+                              description: Secret containing data to use for the targets.
+                              properties:
+                                key:
+                                  description: The key of the secret to select from.  Must be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                                  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: object
+                        insecureSkipVerify:
+                          description: Disable target certificate validation.
+                          type: boolean
+                        keySecret:
+                          description: Secret containing the client key file for the targets.
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
+                              type: string
+                            name:
+                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
+                              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
+                        serverName:
+                          description: Used to verify the hostname for the targets.
+                          type: string
+                      type: object
+                  type: object
+                type: array
               dnsSDConfigs:
                 description: DNSSDConfigs defines a list of DNS service discovery configurations.
                 items:
@@ -584,6 +829,9 @@ spec:
                       x-kubernetes-map-type: atomic
                   type: object
                 type: array
+              enableCompression:
+                description: "When false, Prometheus will request uncompressed response from the scraped target. \n It requires Prometheus >= v2.49.0. \n If unset, Prometheus uses true by default."
+                type: boolean
               fileSDConfigs:
                 description: FileSDConfigs defines a list of file service discovery configurations.
                 items: