diff --git a/jsonnet/kube-prometheus/versions.json b/jsonnet/kube-prometheus/versions.json
index a26f5e2f4e85492b937dd27bcaad6c2f595e5451..fda0a9022744bbb5d4b55f0f0325275450d27ea6 100644
--- a/jsonnet/kube-prometheus/versions.json
+++ b/jsonnet/kube-prometheus/versions.json
@@ -2,12 +2,12 @@
   "alertmanager": "0.25.0",
   "blackboxExporter": "0.23.0",
   "grafana": "9.3.6",
-  "kubeStateMetrics": "2.8.0",
+  "kubeStateMetrics": "2.8.1",
   "nodeExporter": "1.5.0",
   "prometheus": "2.42.0",
   "prometheusAdapter": "0.10.0",
   "prometheusOperator": "0.63.0",
   "kubeRbacProxy": "0.14.0",
   "configmapReload": "0.5.0",
-  "pyrra": "0.5.3"
+  "pyrra": "0.5.5"
 }
diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json
index 41ae961d73f2bf9a584f5c3c4242e316b90b86af..288554ef976570413604ba329fddc9fa902e422a 100644
--- a/jsonnetfile.lock.json
+++ b/jsonnetfile.lock.json
@@ -18,7 +18,7 @@
           "subdir": "contrib/mixin"
         }
       },
-      "version": "b17b9c1428f3fdbd03662c7adc4aa2f80eddc3ad",
+      "version": "858d25c43bbc52b5cc7541814eb35b7f9a241a14",
       "sum": "IkDHlaE0gvvcPjSNurFT+jQ2aCOAbqHF1WVmXbAgkds="
     },
     {
@@ -58,7 +58,7 @@
           "subdir": "grafana-builder"
         }
       },
-      "version": "05d98eb07f34f98f89a72c121cba986f401ddbb9",
+      "version": "7c72d8eedb2520fc050e3dc4febdd400ab2a1920",
       "sum": "tDR6yT2GVfw0wTU12iZH+m01HrbIr6g/xN+/8nzNkU0="
     },
     {
@@ -78,7 +78,7 @@
           "subdir": "jsonnet/kube-state-metrics"
         }
       },
-      "version": "eb6358ea821a385acae6d3c1317d7332e7948808",
+      "version": "3a7e617949cd33428ac75110b7be863867e5fc46",
       "sum": "4PJ2ROxODsoYO/1Y70+dgLZVjW5zlfzB+TDpxJBHwaI="
     },
     {
@@ -88,7 +88,7 @@
           "subdir": "jsonnet/kube-state-metrics-mixin"
         }
       },
-      "version": "eb6358ea821a385acae6d3c1317d7332e7948808",
+      "version": "3a7e617949cd33428ac75110b7be863867e5fc46",
       "sum": "u8gaydJoxEjzizQ8jY8xSjYgWooPmxw+wIWdDxifMAk="
     },
     {
@@ -98,7 +98,7 @@
           "subdir": "jsonnet/mixin"
         }
       },
-      "version": "ecbbd34583fb927bb45cef437074ab2d1dbd88cf",
+      "version": "f337e4ecf88d2c228c2325249bf338c6aa999488",
       "sum": "GQmaVFJwKMiD/P4n3N2LrAZVcwutriWrP8joclDtBYQ=",
       "name": "prometheus-operator-mixin"
     },
@@ -109,8 +109,8 @@
           "subdir": "jsonnet/prometheus-operator"
         }
       },
-      "version": "ecbbd34583fb927bb45cef437074ab2d1dbd88cf",
-      "sum": "9FAnfN2tcmIdCt98CjTSmYG7tOYoTFtwIUhw+QKIhRk="
+      "version": "f337e4ecf88d2c228c2325249bf338c6aa999488",
+      "sum": "Rf7+tECEqPn/NuvgJlL81K8oKiZ+O3/8LmTfTNmSp6U="
     },
     {
       "source": {
@@ -119,7 +119,7 @@
           "subdir": "doc/alertmanager-mixin"
         }
       },
-      "version": "fe1b045c00204dc47a0f63728b6162e9d5cf9b5e",
+      "version": "eea788a968c870e3bd78a228e394f745701f18a0",
       "sum": "PsK+V7oETCPKu2gLoPfqY0wwPKH9TzhNj6o2xezjjXc=",
       "name": "alertmanager"
     },
@@ -130,7 +130,7 @@
           "subdir": "docs/node-mixin"
         }
       },
-      "version": "7f05e312acd828f0c4ddcd194e275c05ffa35992",
+      "version": "c914f0052629e3c99449bdfb4fa7189ce09e77b5",
       "sum": "TwdaTm0Z++diiLyaKAAimmC6hBL7XbrJc0RHhBCpAdU="
     },
     {
@@ -140,7 +140,7 @@
           "subdir": "documentation/prometheus-mixin"
         }
       },
-      "version": "3f6f5d3357e232abe53f1775f893fdf8f842712c",
+      "version": "8f3b2fc9aeaf1bd3f839e820e7f9ffc571006e89",
       "sum": "LRx0tbMnoE1p8KEn+i81j2YsA5Sgt3itE5Y6jBf5eOQ=",
       "name": "prometheus"
     },
@@ -151,7 +151,7 @@
           "subdir": "config/crd/bases"
         }
       },
-      "version": "29d7a7888e84645cc9986ace6e9ca825b56dfd4f",
+      "version": "874e4542aca0994105c0fa9f981749119751c504",
       "sum": "bY/Pcrrbynguq8/HaI88cQ3B2hLv/xc+76QILY7IL+g="
     },
     {
@@ -161,8 +161,8 @@
           "subdir": "mixin"
         }
       },
-      "version": "9295f1be9c577433c75a52bc5230152951aa8b22",
-      "sum": "md/PebXzwkmmAY2sJCNNRZ6YXcRwFwDFzZlpbGgWxNY=",
+      "version": "fdeea3917591fc363a329cbe23af37c6fff0b5f0",
+      "sum": "QIPkur4Hka3BId8ek3OkriAUKphk0mC/NORqJhFgxag=",
       "name": "thanos-mixin"
     },
     {
diff --git a/manifests/kubeStateMetrics-clusterRole.yaml b/manifests/kubeStateMetrics-clusterRole.yaml
index 5f0fe6debdfeaf969b7119f334855f566c3006b3..e2e965be203203657e8dab0debc4a90b65bc9d7c 100644
--- a/manifests/kubeStateMetrics-clusterRole.yaml
+++ b/manifests/kubeStateMetrics-clusterRole.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
 rules:
 - apiGroups:
diff --git a/manifests/kubeStateMetrics-clusterRoleBinding.yaml b/manifests/kubeStateMetrics-clusterRoleBinding.yaml
index ad4dbe28e42d88a3156b22a609a282631fb1f0a7..e77f58e627a63200ed2061b2216bb177001da425 100644
--- a/manifests/kubeStateMetrics-clusterRoleBinding.yaml
+++ b/manifests/kubeStateMetrics-clusterRoleBinding.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
 roleRef:
   apiGroup: rbac.authorization.k8s.io
diff --git a/manifests/kubeStateMetrics-deployment.yaml b/manifests/kubeStateMetrics-deployment.yaml
index d050ebae82a5c05736d4ca8e2f597226198954ca..3d22d6a9bab015e6bbd58257a201fd8b7150516a 100644
--- a/manifests/kubeStateMetrics-deployment.yaml
+++ b/manifests/kubeStateMetrics-deployment.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
   namespace: monitoring
 spec:
@@ -23,7 +23,7 @@ spec:
         app.kubernetes.io/component: exporter
         app.kubernetes.io/name: kube-state-metrics
         app.kubernetes.io/part-of: kube-prometheus
-        app.kubernetes.io/version: 2.8.0
+        app.kubernetes.io/version: 2.8.1
     spec:
       automountServiceAccountToken: true
       containers:
@@ -32,7 +32,7 @@ spec:
         - --port=8081
         - --telemetry-host=127.0.0.1
         - --telemetry-port=8082
-        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.8.0
+        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.8.1
         name: kube-state-metrics
         resources:
           limits:
diff --git a/manifests/kubeStateMetrics-networkPolicy.yaml b/manifests/kubeStateMetrics-networkPolicy.yaml
index 4d35f9d59c4a8e6dd206df091a7c5aebbd6c0971..260510c7838a3cea0ea504789809d128fe5a57b9 100644
--- a/manifests/kubeStateMetrics-networkPolicy.yaml
+++ b/manifests/kubeStateMetrics-networkPolicy.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
   namespace: monitoring
 spec:
diff --git a/manifests/kubeStateMetrics-prometheusRule.yaml b/manifests/kubeStateMetrics-prometheusRule.yaml
index 71a6b895c7d11cf959a620c3accc03313954b9a4..db84f3ce5ebdd48094a5bbd9a2971257b7616463 100644
--- a/manifests/kubeStateMetrics-prometheusRule.yaml
+++ b/manifests/kubeStateMetrics-prometheusRule.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
     prometheus: k8s
     role: alert-rules
   name: kube-state-metrics-rules
diff --git a/manifests/kubeStateMetrics-service.yaml b/manifests/kubeStateMetrics-service.yaml
index 01d79f5cd08279f4e67a05c2552892b7fa4a4dc8..45be2c8c3d9d452d695a154feaba9d54d7e0adae 100644
--- a/manifests/kubeStateMetrics-service.yaml
+++ b/manifests/kubeStateMetrics-service.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
   namespace: monitoring
 spec:
diff --git a/manifests/kubeStateMetrics-serviceAccount.yaml b/manifests/kubeStateMetrics-serviceAccount.yaml
index 8e64ffa73ffb0ad49f44156e6cac64df34e09310..b522eddfa6b0367de7d65c784af0516f382482d2 100644
--- a/manifests/kubeStateMetrics-serviceAccount.yaml
+++ b/manifests/kubeStateMetrics-serviceAccount.yaml
@@ -6,6 +6,6 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
   namespace: monitoring
diff --git a/manifests/kubeStateMetrics-serviceMonitor.yaml b/manifests/kubeStateMetrics-serviceMonitor.yaml
index 2e23c41267d40588e7dc3d5cd17926cc7701759c..039169f38e6d1bc4f14d7e1fa8c322f020346cb6 100644
--- a/manifests/kubeStateMetrics-serviceMonitor.yaml
+++ b/manifests/kubeStateMetrics-serviceMonitor.yaml
@@ -5,7 +5,7 @@ metadata:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
     app.kubernetes.io/part-of: kube-prometheus
-    app.kubernetes.io/version: 2.8.0
+    app.kubernetes.io/version: 2.8.1
   name: kube-state-metrics
   namespace: monitoring
 spec:
diff --git a/manifests/setup/0alertmanagerCustomResourceDefinition.yaml b/manifests/setup/0alertmanagerCustomResourceDefinition.yaml
index 8f55963d444d1bd72469e50238d79e16ed70f965..bb18d5a613081763b0461e76d904f6356c96f252 100644
--- a/manifests/setup/0alertmanagerCustomResourceDefinition.yaml
+++ b/manifests/setup/0alertmanagerCustomResourceDefinition.yaml
@@ -2781,10 +2781,12 @@ spec:
                   into the Alertmanager configuration from external sources. Any errors
                   during the execution of an initContainer will lead to a restart
                   of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
-                  Using initContainers for any use case other then secret fetching
-                  is entirely outside the scope of what the maintainers will support
-                  and by doing so, you accept that this behaviour may break at any
-                  time without notice.'
+                  InitContainers described here modify an operator generated init
+                  containers if they share the same name and modifications are done
+                  via a strategic merge patch. The current init container name is:
+                  `init-config-reloader`. Overriding init containers is entirely outside
+                  the scope of what the maintainers will support and by doing so,
+                  you accept that this behaviour may break at any time without notice.'
                 items:
                   description: A single application container that you want to run
                     within a pod.
@@ -4095,8 +4097,9 @@ spec:
                     type: string
                 type: object
               portName:
-                description: Port name used for the pods and governing service. This
-                  defaults to web
+                default: web
+                description: Port name used for the pods and governing service. Defaults
+                  to `web`.
                 type: string
               priorityClassName:
                 description: Priority class assigned to the Pods
diff --git a/manifests/setup/0prometheusCustomResourceDefinition.yaml b/manifests/setup/0prometheusCustomResourceDefinition.yaml
index 2e925b29eb853984ad80bc74848a77c4a054f3f6..6efe1d3faaae05a4da6994ceb1026ef2c3ec9673 100644
--- a/manifests/setup/0prometheusCustomResourceDefinition.yaml
+++ b/manifests/setup/0prometheusCustomResourceDefinition.yaml
@@ -4437,8 +4437,9 @@ spec:
                   type: string
                 type: array
               portName:
-                description: Port name used for the pods and governing service. This
-                  defaults to web
+                default: web
+                description: Port name used for the pods and governing service. Defaults
+                  to `web`.
                 type: string
               priorityClassName:
                 description: Priority class assigned to the Pods
@@ -6636,8 +6637,7 @@ spec:
                 description: "Thanos configuration allows configuring various aspects
                   of a Prometheus server in a Thanos environment. \n This section
                   is experimental, it may change significantly without deprecation
-                  notice in any release. \n This is experimental and may change significantly
-                  without backward compatibility in any release."
+                  notice in any release."
                 properties:
                   additionalArgs:
                     description: AdditionalArgs allows setting additional arguments
@@ -6666,6 +6666,18 @@ spec:
                     description: 'Thanos base image if other than default. Deprecated:
                       use ''image'' instead'
                     type: string
+                  blockSize:
+                    default: 2h
+                    description: 'BlockDuration controls the size of TSDB blocks produced
+                      by Prometheus. Default is 2h to match the upstream Prometheus
+                      defaults. WARNING: Changing the block duration can impact the
+                      performance and efficiency of the entire Prometheus/Thanos stack
+                      due to how it interacts with memory and Thanos compactors. It
+                      is recommended to keep this value set to a multiple of 120 times
+                      your longest scrape or rule interval. For example, 30s * 120
+                      = 1h.'
+                    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
                   grpcListenLocal:
                     description: If true, the Thanos sidecar listens on the loopback
                       interface for the gRPC endpoints. It has no effect if `listenLocal`
diff --git a/manifests/setup/0thanosrulerCustomResourceDefinition.yaml b/manifests/setup/0thanosrulerCustomResourceDefinition.yaml
index 6426702117b8fa610e46276a03ba729824fa6ae9..ee460dbb2357d0ef19377cba9750a01ce5b20120 100644
--- a/manifests/setup/0thanosrulerCustomResourceDefinition.yaml
+++ b/manifests/setup/0thanosrulerCustomResourceDefinition.yaml
@@ -3802,8 +3802,9 @@ spec:
                     type: string
                 type: object
               portName:
-                description: Port name used for the pods and governing service. This
-                  defaults to web
+                default: web
+                description: Port name used for the pods and governing service. Defaults
+                  to `web`.
                 type: string
               priorityClassName:
                 description: Priority class assigned to the Pods