diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4867a8e1f1d634348c1b434cb6493dff70aba50f..956e0010e7d848bbe3854d75393a0242d1548fdc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,14 @@
+## release-0.14 / 2024-09-12
+
+* [CHANGE] Prefer new form for `kube_node_status_capacity_pods` metric [#2269](https://github.com/prometheus-operator/kube-prometheus/pull/2269)
+* [CHANGE] Add runAsGroup to all components [#2424](https://github.com/prometheus-operator/kube-prometheus/pull/2424)
+* [FEATURE] Add support for ScrapeConfig [#2232](https://github.com/prometheus-operator/kube-prometheus/pull/2232)
+* [FEATURE] Add Kubernetes components SLI metrics [#2496](https://github.com/prometheus-operator/kube-prometheus/pull/2496)
+* [FEATURE] Add monitor and rules resources to user-facing roles add-on [#2238](https://github.com/prometheus-operator/kube-prometheus/pull/2238)
+* [BUGFIX] Add thanos-sidecar metrics port to Prometheus Service and NetworkPolicy [#2330](https://github.com/prometheus-operator/kube-prometheus/pull/2330)
+* [ENHANCEMENT] Add ability to inject Secrets into alertmanager [#2206](https://github.com/prometheus-operator/kube-prometheus/pull/2206)
+* [ENHANCEMENT] Add securityContext items and Pod security labels [#2178](https://github.com/prometheus-operator/kube-prometheus/pull/2178)
+
 ## release-0.13 / 2023-08-31
 
 * [CHANGE] Added a AKS platform to `platforms.libsonnet` [#1997](https://github.com/prometheus-operator/kube-prometheus/pull/1997)
diff --git a/jsonnet/kube-prometheus/jsonnetfile.json b/jsonnet/kube-prometheus/jsonnetfile.json
index 0ee53bb0f665542d66234dda3b9b1be8311d16d0..0eea871a7bef71498e18749c3b7ff88a13887dda 100644
--- a/jsonnet/kube-prometheus/jsonnetfile.json
+++ b/jsonnet/kube-prometheus/jsonnetfile.json
@@ -8,7 +8,7 @@
           "subdir": "grafana"
         }
       },
-      "version": "master"
+      "version": "5698c8940b6dadca3f42107b7839557bc041761f"
     },
     {
       "source": {
@@ -17,7 +17,7 @@
           "subdir": "grafana-mixin"
         }
       },
-      "version": "main",
+      "version": "release-11.2.0",
       "name": "grafana-mixin"
     },
     {
@@ -27,7 +27,7 @@
           "subdir": "contrib/mixin"
         }
       },
-      "version": "main"
+      "version": "release-3.5"
     },
     {
       "source": {
@@ -36,7 +36,7 @@
           "subdir": "jsonnet/prometheus-operator"
         }
       },
-      "version": "main"
+      "version": "release-0.76"
     },
     {
       "source": {
@@ -45,7 +45,7 @@
           "subdir": "jsonnet/mixin"
         }
       },
-      "version": "main",
+      "version": "release-0.76",
       "name": "prometheus-operator-mixin"
     },
     {
@@ -55,7 +55,7 @@
           "subdir": ""
         }
       },
-      "version": "master"
+      "version": "50150c585ebee6e4d9cb72218182da8f3c616515"
     },
     {
       "source": {
@@ -64,7 +64,7 @@
           "subdir": "jsonnet/kube-state-metrics"
         }
       },
-      "version": "main"
+      "version": "release-2.13"
     },
     {
       "source": {
@@ -73,7 +73,7 @@
           "subdir": "jsonnet/kube-state-metrics-mixin"
         }
       },
-      "version": "main"
+      "version": "release-2.13"
     },
     {
       "source": {
@@ -82,7 +82,7 @@
           "subdir": "docs/node-mixin"
         }
       },
-      "version": "master"
+      "version": "release-1.8"
     },
     {
       "source": {
@@ -91,7 +91,7 @@
           "subdir": "documentation/prometheus-mixin"
         }
       },
-      "version": "main",
+      "version": "release-2.54",
       "name": "prometheus"
     },
     {
@@ -101,7 +101,7 @@
           "subdir": "doc/alertmanager-mixin"
         }
       },
-      "version": "main",
+      "version": "release-0.27",
       "name": "alertmanager"
     },
     {
@@ -111,7 +111,7 @@
           "subdir": "jsonnet/controller-gen"
         }
       },
-      "version": "release-0.7",
+      "version": "v0.7.7",
       "name": "pyrra"
     },
     {
@@ -121,7 +121,7 @@
           "subdir": "mixin"
         }
       },
-      "version": "main",
+      "version": "release-0.36",
       "name": "thanos-mixin"
     }
   ],
diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json
index 4b41dd4a02d38ada99a7012a849cc88c21c1b4c5..d44995e721c2245e8e2ba6e792937cbbaacfcbce 100644
--- a/jsonnetfile.lock.json
+++ b/jsonnetfile.lock.json
@@ -18,8 +18,8 @@
           "subdir": "contrib/mixin"
         }
       },
-      "version": "5088131f51860bb00db8340905639f02c85aa1c7",
-      "sum": "IXI3LQIT9NmTPJAk8WLUJd5+qZfcGpeNCyWIK7oEpws="
+      "version": "f20bbadd404b57c776d1e8876cefd1ac29b03fb5",
+      "sum": "W/Azptf1PoqjyMwJON96UY69MFugDA4IAYiKURscryc="
     },
     {
       "source": {
@@ -28,8 +28,8 @@
           "subdir": "grafana-mixin"
         }
       },
-      "version": "1120f9e255760a3c104b57871fcb91801e934382",
-      "sum": "MkjR7zCgq6MUZgjDzop574tFKoTX2OBr7DTwm1K+Ofs="
+      "version": "c57667e4481563f5e6cf945b03bc0626caa4dbeb",
+      "sum": "S8mRTRH4w62kMCa2je3iCtvscYrwQmkyJ7Y/aM14KbE="
     },
     {
       "source": {
@@ -61,16 +61,6 @@
       "version": "733beadbc8dab55c5fe1bcdcf0d8a2d215759a55",
       "sum": "eyuJ0jOXeA4MrobbNgU4/v5a7ASDHslHZ0eS6hDdWoI="
     },
-    {
-      "source": {
-        "git": {
-          "remote": "https://github.com/grafana/grafonnet.git",
-          "subdir": "gen/grafonnet-v10.0.0"
-        }
-      },
-      "version": "733beadbc8dab55c5fe1bcdcf0d8a2d215759a55",
-      "sum": "xdcrJPJlpkq4+5LpGwN4tPAuheNNLXZjE6tDcyvFjr0="
-    },
     {
       "source": {
         "git": {
@@ -138,8 +128,8 @@
           "subdir": "jsonnet/kube-state-metrics"
         }
       },
-      "version": "aebbb390820496d46750697aa6956c57ff082d41",
-      "sum": "lO7jUSzAIy8Yk9pOWJIWgPRhubkWzVh56W6wtYfbVH4="
+      "version": "76c5888e3402c946abd6f31876f3aada4c0c84fc",
+      "sum": "pvInhJNQVDOcC3NGWRMKRIP954mAvLXCQpTlafIg7fA="
     },
     {
       "source": {
@@ -148,7 +138,7 @@
           "subdir": "jsonnet/kube-state-metrics-mixin"
         }
       },
-      "version": "aebbb390820496d46750697aa6956c57ff082d41",
+      "version": "76c5888e3402c946abd6f31876f3aada4c0c84fc",
       "sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c="
     },
     {
@@ -158,7 +148,7 @@
           "subdir": "jsonnet/mixin"
         }
       },
-      "version": "10ddb1fa74f259c4f70720fdc7f1c6b11082033d",
+      "version": "8ba73758bd40233fce49b68ae191692a12c6fdbf",
       "sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=",
       "name": "prometheus-operator-mixin"
     },
@@ -169,8 +159,8 @@
           "subdir": "jsonnet/prometheus-operator"
         }
       },
-      "version": "10ddb1fa74f259c4f70720fdc7f1c6b11082033d",
-      "sum": "YhMrMNg8UEvQ6Wz0poEQ8/63zJArmGwyf0u0iSLGZS4="
+      "version": "8ba73758bd40233fce49b68ae191692a12c6fdbf",
+      "sum": "Qs56OWJ2PLCEGRPlJ2Xd1LukXKj8KBzqMYncwjYTEwo="
     },
     {
       "source": {
@@ -179,7 +169,7 @@
           "subdir": "doc/alertmanager-mixin"
         }
       },
-      "version": "ccc1ed914dabc288e2111f745fadf8fff105eed8",
+      "version": "0aa3c2aad14cff039931923ab16b26b7481783b5",
       "sum": "IpF46ZXsm+0wJJAPtAre8+yxTNZA57mBqGpBP/r7/kw=",
       "name": "alertmanager"
     },
@@ -190,8 +180,8 @@
           "subdir": "docs/node-mixin"
         }
       },
-      "version": "090957658ee7be8c7c71b2724979b36c49371b20",
-      "sum": "rhUvbqviGjQ2mwsRhHKMN0TiS3YvnYpUXHew3XlQ+Wg="
+      "version": "f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895",
+      "sum": "R9ROsvpjZLgQJ78WAyD4HzrIq976Bpr4V2P2Fo2Kfns="
     },
     {
       "source": {
@@ -200,7 +190,7 @@
           "subdir": "documentation/prometheus-mixin"
         }
       },
-      "version": "50cd453c8fc5d7fd9270fc72dfa50367fc7a9c23",
+      "version": "c5e015d29534f06bd1d238c64a06b7ac41abdd7f",
       "sum": "dYLcLzGH4yF3qB7OGC/7z4nqeTNjv42L7Q3BENU8XJI=",
       "name": "prometheus"
     },
@@ -222,8 +212,8 @@
           "subdir": "mixin"
         }
       },
-      "version": "97710f41b0e4584b476ee5d59fd7b3ae5077154a",
-      "sum": "ieCD4eMgGbOlrI8GmckGPHBGQDcLasE1rULYq56W/bs=",
+      "version": "99a5742a15f107d4607d280c825eca5b7f09a253",
+      "sum": "HhSSbGGCNHCMy1ee5jElYDm0yS9Vesa7QB2/SHKdjsY=",
       "name": "thanos-mixin"
     },
     {
diff --git a/manifests/grafana-dashboardDefinitions.yaml b/manifests/grafana-dashboardDefinitions.yaml
index d606d4d6f5f77b8aaf0f15008685a9f1e48734ac..334a95385ea2e97d3f93b3fd7ff65be2bc146eca 100644
--- a/manifests/grafana-dashboardDefinitions.yaml
+++ b/manifests/grafana-dashboardDefinitions.yaml
@@ -3398,7 +3398,6 @@ items:
               }
           ],
           "schemaVersion": 30,
-          "style": "dark",
           "tags": [
 
           ],
@@ -15293,7 +15292,6 @@ items:
           },
           "timezone": "utc",
           "title": "Node Exporter / USE Method / Cluster",
-          "uid": "3e97d1d02672cdd0861f4c97c64f89b2",
           "version": 0
       }
   kind: ConfigMap
@@ -16372,7 +16370,6 @@ items:
           },
           "timezone": "utc",
           "title": "Node Exporter / USE Method / Node",
-          "uid": "fac67cfbe174d3ef53eb473d73d9212f",
           "version": 0
       }
   kind: ConfigMap
@@ -17461,7 +17458,6 @@ items:
           },
           "timezone": "utc",
           "title": "Node Exporter / MacOS",
-          "uid": "629701ea43bf69291922ea45f4a87d37",
           "version": 0
       }
   kind: ConfigMap
@@ -18543,7 +18539,6 @@ items:
           },
           "timezone": "utc",
           "title": "Node Exporter / Nodes",
-          "uid": "7d57716318ee0dddbac5a7f451fb7753",
           "version": 0
       }
   kind: ConfigMap
diff --git a/manifests/grafana-prometheusRule.yaml b/manifests/grafana-prometheusRule.yaml
index d3f7b2ae0b82eb1eb393d799c2bbaf2c9e321bc1..5b0dd2313b3c5f1f30ebb8070db586e4e1803859 100644
--- a/manifests/grafana-prometheusRule.yaml
+++ b/manifests/grafana-prometheusRule.yaml
@@ -19,8 +19,8 @@ spec:
         message: '{{ $labels.namespace }}/{{ $labels.job }}/{{ $labels.handler }} is experiencing {{ $value | humanize }}% errors'
         runbook_url: https://runbooks.prometheus-operator.dev/runbooks/grafana/grafanarequestsfailing
       expr: |
-        100 * namespace_job_handler_statuscode:grafana_http_request_duration_seconds_count:rate5m{handler!~"/api/datasources/proxy/:id.*|/api/ds/query|/api/tsdb/query", status_code=~"5.."}
-        / ignoring (status_code)
+        100 * sum without (status_code) (namespace_job_handler_statuscode:grafana_http_request_duration_seconds_count:rate5m{handler!~"/api/datasources/proxy/:id.*|/api/ds/query|/api/tsdb/query", status_code=~"5.."})
+        /
         sum without (status_code) (namespace_job_handler_statuscode:grafana_http_request_duration_seconds_count:rate5m{handler!~"/api/datasources/proxy/:id.*|/api/ds/query|/api/tsdb/query"})
         > 50
       for: 5m
diff --git a/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml b/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml
index c1b9d00b9fffa8dacd6ced1bed9147497c8defc2..903574b6cefba94bdee48e14dba2fca68dd11d13 100644
--- a/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml
+++ b/manifests/setup/0alertmanagerConfigCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: alertmanagerconfigs.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -209,8 +209,6 @@ spec:
                             type: array
                         type: object
                       type: array
-                  required:
-                  - name
                   type: object
                 type: array
               receivers:
@@ -241,7 +239,9 @@ spec:
                                   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
@@ -271,7 +271,9 @@ spec:
                                           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
@@ -284,8 +286,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -309,7 +313,9 @@ spec:
                                           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
@@ -333,7 +339,9 @@ spec:
                                           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
@@ -360,7 +368,9 @@ spec:
                                       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
@@ -372,14 +382,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -401,7 +403,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -423,7 +427,9 @@ spec:
                                               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
@@ -448,7 +454,9 @@ spec:
                                           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
@@ -470,7 +478,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -487,7 +496,9 @@ spec:
                                               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
@@ -501,17 +512,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -540,7 +558,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -562,7 +582,9 @@ spec:
                                                   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
@@ -588,7 +610,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -610,7 +634,9 @@ spec:
                                                   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
@@ -636,7 +662,9 @@ spec:
                                               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
@@ -649,6 +677,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -660,6 +689,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -680,47 +710,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -741,7 +732,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -763,7 +756,9 @@ spec:
                                               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
@@ -789,7 +784,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -811,7 +808,9 @@ spec:
                                               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
@@ -837,7 +836,9 @@ spec:
                                           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
@@ -850,6 +851,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -861,6 +863,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -910,7 +913,9 @@ spec:
                                   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
@@ -935,7 +940,9 @@ spec:
                                   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
@@ -1008,7 +1015,9 @@ spec:
                                           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 ConfigMap or its key must be defined
@@ -1030,7 +1039,9 @@ spec:
                                           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
@@ -1056,7 +1067,9 @@ spec:
                                           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 ConfigMap or its key must be defined
@@ -1078,7 +1091,9 @@ spec:
                                           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
@@ -1104,7 +1119,9 @@ spec:
                                       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
@@ -1117,6 +1134,7 @@ spec:
                                 description: |-
                                   Maximum acceptable TLS version.
 
+
                                   It requires Prometheus >= v2.41.0.
                                 enum:
                                 - TLS10
@@ -1128,6 +1146,7 @@ spec:
                                 description: |-
                                   Minimum acceptable TLS version.
 
+
                                   It requires Prometheus >= v2.35.0.
                                 enum:
                                 - TLS10
@@ -1174,7 +1193,9 @@ spec:
                                           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
@@ -1187,8 +1208,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -1212,7 +1235,9 @@ spec:
                                           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
@@ -1236,7 +1261,9 @@ spec:
                                           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
@@ -1263,7 +1290,9 @@ spec:
                                       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
@@ -1275,14 +1304,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -1304,7 +1325,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -1326,7 +1349,9 @@ spec:
                                               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
@@ -1351,7 +1376,9 @@ spec:
                                           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
@@ -1373,7 +1400,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -1390,7 +1418,9 @@ spec:
                                               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
@@ -1404,17 +1434,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -1443,7 +1480,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -1465,7 +1504,9 @@ spec:
                                                   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
@@ -1491,7 +1532,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -1513,7 +1556,9 @@ spec:
                                                   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
@@ -1539,7 +1584,9 @@ spec:
                                               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
@@ -1552,6 +1599,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -1563,6 +1611,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -1583,47 +1632,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -1644,7 +1654,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -1666,7 +1678,9 @@ spec:
                                               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
@@ -1692,7 +1706,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -1714,7 +1730,9 @@ spec:
                                               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
@@ -1740,7 +1758,9 @@ spec:
                                           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
@@ -1753,6 +1773,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -1764,6 +1785,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -1803,7 +1825,9 @@ spec:
                                   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
@@ -1846,7 +1870,9 @@ spec:
                                   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
@@ -1902,7 +1928,9 @@ spec:
                                           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
@@ -1915,8 +1943,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -1940,7 +1970,9 @@ spec:
                                           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
@@ -1964,7 +1996,9 @@ spec:
                                           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
@@ -1991,7 +2025,9 @@ spec:
                                       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
@@ -2003,14 +2039,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -2032,7 +2060,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -2054,7 +2084,9 @@ spec:
                                               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
@@ -2079,7 +2111,9 @@ spec:
                                           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
@@ -2101,7 +2135,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -2118,7 +2153,9 @@ spec:
                                               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
@@ -2132,17 +2169,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -2171,7 +2215,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -2193,7 +2239,9 @@ spec:
                                                   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
@@ -2219,7 +2267,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -2241,7 +2291,9 @@ spec:
                                                   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
@@ -2267,7 +2319,9 @@ spec:
                                               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
@@ -2280,6 +2334,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -2291,6 +2346,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -2311,47 +2367,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -2372,7 +2389,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -2394,7 +2413,9 @@ spec:
                                               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
@@ -2420,7 +2441,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -2442,7 +2465,9 @@ spec:
                                               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
@@ -2468,7 +2493,9 @@ spec:
                                           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
@@ -2481,6 +2508,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -2492,6 +2520,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -2616,7 +2645,9 @@ spec:
                                           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
@@ -2629,8 +2660,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -2654,7 +2687,9 @@ spec:
                                           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
@@ -2678,7 +2713,9 @@ spec:
                                           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
@@ -2705,7 +2742,9 @@ spec:
                                       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
@@ -2717,14 +2756,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -2746,7 +2777,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -2768,7 +2801,9 @@ spec:
                                               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
@@ -2793,7 +2828,9 @@ spec:
                                           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
@@ -2815,7 +2852,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -2832,7 +2870,9 @@ spec:
                                               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
@@ -2846,17 +2886,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -2885,7 +2932,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -2907,7 +2956,9 @@ spec:
                                                   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
@@ -2933,7 +2984,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -2955,7 +3008,9 @@ spec:
                                                   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
@@ -2981,7 +3036,9 @@ spec:
                                               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
@@ -2994,6 +3051,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -3005,6 +3063,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -3025,47 +3084,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -3086,7 +3106,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -3108,7 +3130,9 @@ spec:
                                               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
@@ -3134,7 +3158,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -3156,7 +3182,9 @@ spec:
                                               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
@@ -3182,7 +3210,9 @@ spec:
                                           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
@@ -3195,6 +3225,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -3206,6 +3237,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -3264,7 +3296,9 @@ spec:
                                   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
@@ -3294,7 +3328,9 @@ spec:
                                   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
@@ -3354,7 +3390,9 @@ spec:
                                           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
@@ -3367,8 +3405,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -3392,7 +3432,9 @@ spec:
                                           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
@@ -3416,7 +3458,9 @@ spec:
                                           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
@@ -3443,7 +3487,9 @@ spec:
                                       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
@@ -3455,14 +3501,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -3484,7 +3522,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -3506,7 +3546,9 @@ spec:
                                               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
@@ -3531,7 +3573,9 @@ spec:
                                           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
@@ -3553,7 +3597,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -3570,7 +3615,9 @@ spec:
                                               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
@@ -3584,17 +3631,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -3623,7 +3677,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -3645,7 +3701,9 @@ spec:
                                                   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
@@ -3671,7 +3729,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -3693,7 +3753,9 @@ spec:
                                                   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
@@ -3719,7 +3781,9 @@ spec:
                                               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
@@ -3732,6 +3796,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -3743,6 +3808,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -3763,47 +3829,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -3824,7 +3851,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -3846,7 +3875,9 @@ spec:
                                               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
@@ -3872,7 +3903,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -3894,7 +3927,9 @@ spec:
                                               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
@@ -3920,7 +3955,9 @@ spec:
                                           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
@@ -3933,6 +3970,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -3944,6 +3982,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -3994,7 +4033,9 @@ spec:
                                   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
@@ -4036,7 +4077,9 @@ spec:
                                   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
@@ -4124,7 +4167,9 @@ spec:
                                   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
@@ -4187,7 +4232,9 @@ spec:
                                           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
@@ -4200,8 +4247,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -4225,7 +4274,9 @@ spec:
                                           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
@@ -4249,7 +4300,9 @@ spec:
                                           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
@@ -4276,7 +4329,9 @@ spec:
                                       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
@@ -4288,14 +4343,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -4317,7 +4364,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -4339,7 +4388,9 @@ spec:
                                               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
@@ -4364,7 +4415,9 @@ spec:
                                           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
@@ -4386,7 +4439,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -4403,7 +4457,9 @@ spec:
                                               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
@@ -4417,17 +4473,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -4456,7 +4519,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -4478,7 +4543,9 @@ spec:
                                                   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
@@ -4504,7 +4571,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -4526,7 +4595,9 @@ spec:
                                                   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
@@ -4552,7 +4623,9 @@ spec:
                                               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
@@ -4565,6 +4638,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -4576,6 +4650,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -4596,47 +4671,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -4657,7 +4693,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -4679,7 +4717,9 @@ spec:
                                               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
@@ -4705,7 +4745,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -4727,7 +4769,9 @@ spec:
                                               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
@@ -4753,7 +4797,9 @@ spec:
                                           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
@@ -4766,6 +4812,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -4777,6 +4824,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -4858,7 +4906,9 @@ spec:
                                           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
@@ -4871,8 +4921,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -4896,7 +4948,9 @@ spec:
                                           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
@@ -4920,7 +4974,9 @@ spec:
                                           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
@@ -4947,7 +5003,9 @@ spec:
                                       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
@@ -4959,14 +5017,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -4988,7 +5038,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -5010,7 +5062,9 @@ spec:
                                               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
@@ -5035,7 +5089,9 @@ spec:
                                           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
@@ -5057,7 +5113,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -5074,7 +5131,9 @@ spec:
                                               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
@@ -5088,17 +5147,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -5127,7 +5193,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -5149,7 +5217,9 @@ spec:
                                                   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
@@ -5175,7 +5245,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -5197,7 +5269,9 @@ spec:
                                                   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
@@ -5223,7 +5297,9 @@ spec:
                                               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
@@ -5236,6 +5312,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -5247,6 +5324,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -5267,47 +5345,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -5328,7 +5367,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -5350,7 +5391,9 @@ spec:
                                               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
@@ -5376,7 +5419,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -5398,7 +5443,9 @@ spec:
                                               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
@@ -5424,7 +5471,9 @@ spec:
                                           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
@@ -5437,6 +5486,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -5448,6 +5498,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -5489,7 +5540,9 @@ spec:
                                       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
@@ -5522,7 +5575,9 @@ spec:
                                       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
@@ -5565,6 +5620,7 @@ spec:
                               The secret needs to be in the same namespace as the AlertmanagerConfig
                               object and accessible by the Prometheus Operator.
 
+
                               Either `botToken` or `botTokenFile` is required.
                             properties:
                               key:
@@ -5577,7 +5633,9 @@ spec:
                                   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
@@ -5591,6 +5649,7 @@ spec:
                               File to read the Telegram bot token from. It is mutually exclusive with `botToken`.
                               Either `botToken` or `botTokenFile` is required.
 
+
                               It requires Alertmanager >= v0.26.0.
                             type: string
                           chatID:
@@ -5621,7 +5680,9 @@ spec:
                                           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
@@ -5634,8 +5695,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -5659,7 +5722,9 @@ spec:
                                           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
@@ -5683,7 +5748,9 @@ spec:
                                           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
@@ -5710,7 +5777,9 @@ spec:
                                       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
@@ -5722,14 +5791,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -5751,7 +5812,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -5773,7 +5836,9 @@ spec:
                                               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
@@ -5798,7 +5863,9 @@ spec:
                                           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
@@ -5820,7 +5887,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -5837,7 +5905,9 @@ spec:
                                               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
@@ -5851,17 +5921,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -5890,7 +5967,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -5912,7 +5991,9 @@ spec:
                                                   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
@@ -5938,7 +6019,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -5960,7 +6043,9 @@ spec:
                                                   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
@@ -5986,7 +6071,9 @@ spec:
                                               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
@@ -5999,6 +6086,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -6010,6 +6098,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -6030,47 +6119,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -6091,7 +6141,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -6113,7 +6165,9 @@ spec:
                                               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
@@ -6139,7 +6193,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -6161,7 +6217,9 @@ spec:
                                               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
@@ -6187,7 +6245,9 @@ spec:
                                           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
@@ -6200,6 +6260,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -6211,6 +6272,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -6236,8 +6298,6 @@ spec:
                           sendResolved:
                             description: Whether to notify about resolved alerts.
                             type: boolean
-                        required:
-                        - chatID
                         type: object
                       type: array
                     victoropsConfigs:
@@ -6263,7 +6323,9 @@ spec:
                                   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
@@ -6316,7 +6378,9 @@ spec:
                                           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
@@ -6329,8 +6393,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -6354,7 +6420,9 @@ spec:
                                           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
@@ -6378,7 +6446,9 @@ spec:
                                           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
@@ -6405,7 +6475,9 @@ spec:
                                       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
@@ -6417,14 +6489,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -6446,7 +6510,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -6468,7 +6534,9 @@ spec:
                                               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
@@ -6493,7 +6561,9 @@ spec:
                                           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
@@ -6515,7 +6585,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -6532,7 +6603,9 @@ spec:
                                               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
@@ -6546,17 +6619,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -6585,7 +6665,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -6607,7 +6689,9 @@ spec:
                                                   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
@@ -6633,7 +6717,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -6655,7 +6741,9 @@ spec:
                                                   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
@@ -6681,7 +6769,9 @@ spec:
                                               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
@@ -6694,6 +6784,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -6705,6 +6796,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -6725,47 +6817,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -6786,7 +6839,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -6808,7 +6863,9 @@ spec:
                                               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
@@ -6834,7 +6891,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -6856,7 +6915,9 @@ spec:
                                               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
@@ -6882,7 +6943,9 @@ spec:
                                           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
@@ -6895,6 +6958,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -6906,6 +6970,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -6971,7 +7036,9 @@ spec:
                                           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
@@ -6984,8 +7051,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -7009,7 +7078,9 @@ spec:
                                           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
@@ -7033,7 +7104,9 @@ spec:
                                           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
@@ -7060,7 +7133,9 @@ spec:
                                       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
@@ -7072,14 +7147,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -7101,7 +7168,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -7123,7 +7192,9 @@ spec:
                                               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
@@ -7148,7 +7219,9 @@ spec:
                                           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
@@ -7170,7 +7243,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -7187,7 +7261,9 @@ spec:
                                               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
@@ -7201,17 +7277,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -7240,7 +7323,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -7262,7 +7347,9 @@ spec:
                                                   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
@@ -7288,7 +7375,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -7310,7 +7399,9 @@ spec:
                                                   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
@@ -7336,7 +7427,9 @@ spec:
                                               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
@@ -7349,6 +7442,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -7360,6 +7454,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -7380,47 +7475,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -7441,7 +7497,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -7463,7 +7521,9 @@ spec:
                                               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
@@ -7489,7 +7549,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -7511,7 +7573,9 @@ spec:
                                               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
@@ -7537,7 +7601,9 @@ spec:
                                           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
@@ -7550,6 +7616,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -7561,6 +7628,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -7615,7 +7683,9 @@ spec:
                                           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
@@ -7628,8 +7698,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -7653,7 +7725,9 @@ spec:
                                           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
@@ -7677,7 +7751,9 @@ spec:
                                           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
@@ -7704,7 +7780,9 @@ spec:
                                       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
@@ -7716,14 +7794,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -7745,7 +7815,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -7767,7 +7839,9 @@ spec:
                                               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
@@ -7792,7 +7866,9 @@ spec:
                                           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
@@ -7814,7 +7890,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -7831,7 +7908,9 @@ spec:
                                               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
@@ -7845,17 +7924,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -7884,7 +7970,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -7906,7 +7994,9 @@ spec:
                                                   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
@@ -7932,7 +8022,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -7954,7 +8046,9 @@ spec:
                                                   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
@@ -7980,7 +8074,9 @@ spec:
                                               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
@@ -7993,6 +8089,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -8004,6 +8101,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -8024,47 +8122,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -8085,7 +8144,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -8107,7 +8168,9 @@ spec:
                                               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
@@ -8133,7 +8196,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -8155,7 +8220,9 @@ spec:
                                               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
@@ -8181,7 +8248,9 @@ spec:
                                           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
@@ -8194,6 +8263,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -8205,6 +8275,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -8248,7 +8319,9 @@ spec:
                                   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
@@ -8284,7 +8357,9 @@ spec:
                                   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
@@ -8320,7 +8395,9 @@ spec:
                                           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
@@ -8333,8 +8410,10 @@ spec:
                                     description: |-
                                       Defines the authentication type. The value is case-insensitive.
 
+
                                       "Basic" is not a supported value.
 
+
                                       Default: "Bearer"
                                     type: string
                                 type: object
@@ -8358,7 +8437,9 @@ spec:
                                           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
@@ -8382,7 +8463,9 @@ spec:
                                           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
@@ -8409,7 +8492,9 @@ spec:
                                       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
@@ -8421,14 +8506,6 @@ spec:
                               followRedirects:
                                 description: FollowRedirects specifies whether the client should 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.
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: string
                               oauth2:
                                 description: OAuth2 client credentials used to fetch a token for the targets.
                                 properties:
@@ -8450,7 +8527,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -8472,7 +8551,9 @@ spec:
                                               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
@@ -8497,7 +8578,9 @@ spec:
                                           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
@@ -8519,7 +8602,8 @@ spec:
                                       that should be excluded from proxying. IP and domain names can
                                       contain port numbers.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: string
                                   proxyConnectHeader:
                                     additionalProperties:
@@ -8536,7 +8620,9 @@ spec:
                                               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
@@ -8550,17 +8636,24 @@ spec:
                                       ProxyConnectHeader optionally specifies headers to send to
                                       proxies during CONNECT requests.
 
-                                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                      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 or Alertmanager >= 0.25.0.
+
+                                      It requires Prometheus >= v2.43.0.
                                     type: boolean
                                   proxyUrl:
-                                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                                    description: |-
+                                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                                      It requires Prometheus >= v2.43.0.
                                     pattern: ^http(s)?://.+$
                                     type: string
                                   scopes:
@@ -8589,7 +8682,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -8611,7 +8706,9 @@ spec:
                                                   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
@@ -8637,7 +8734,9 @@ spec:
                                                   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 ConfigMap or its key must be defined
@@ -8659,7 +8758,9 @@ spec:
                                                   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
@@ -8685,7 +8786,9 @@ spec:
                                               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
@@ -8698,6 +8801,7 @@ spec:
                                         description: |-
                                           Maximum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.41.0.
                                         enum:
                                         - TLS10
@@ -8709,6 +8813,7 @@ spec:
                                         description: |-
                                           Minimum acceptable TLS version.
 
+
                                           It requires Prometheus >= v2.35.0.
                                         enum:
                                         - TLS10
@@ -8729,47 +8834,8 @@ 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.
-                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                        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 or Alertmanager >= 0.25.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).
-
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                                type: boolean
-                              proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
-                                pattern: ^http(s)?://.+$
+                              proxyURL:
+                                description: Optional proxy URL.
                                 type: string
                               tlsConfig:
                                 description: TLS configuration for the client.
@@ -8790,7 +8856,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -8812,7 +8880,9 @@ spec:
                                               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
@@ -8838,7 +8908,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -8860,7 +8932,9 @@ spec:
                                               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
@@ -8886,7 +8960,9 @@ spec:
                                           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
@@ -8899,6 +8975,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -8910,6 +8987,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
diff --git a/manifests/setup/0alertmanagerCustomResourceDefinition.yaml b/manifests/setup/0alertmanagerCustomResourceDefinition.yaml
index 32f9f016e84820389b9bf7d39e152ad74cc1cd0d..5f4848a3ff466dfe0270565d61e4e4a957a902a1 100644
--- a/manifests/setup/0alertmanagerCustomResourceDefinition.yaml
+++ b/manifests/setup/0alertmanagerCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: alertmanagers.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -51,8 +51,10 @@ spec:
         description: |-
           The `Alertmanager` custom resource definition (CRD) defines a desired [Alertmanager](https://prometheus.io/docs/alerting) setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage and many more.
 
+
           For each `Alertmanager` resource, the Operator deploys a `StatefulSet` in the same namespace. When there are two or more configured replicas, the Operator runs the Alertmanager instances in high-availability mode.
 
+
           The resource defines via label and namespace selectors which `AlertmanagerConfig` objects should be associated to the deployed Alertmanager instances.
         properties:
           apiVersion:
@@ -348,7 +350,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -363,7 +365,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -524,7 +526,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -539,7 +541,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -693,7 +695,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -708,7 +710,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -869,7 +871,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -884,7 +886,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -975,6 +977,7 @@ spec:
                       AlertmanagerConfig objects to match alerts in the routes and inhibition
                       rules.
 
+
                       The default value is `OnNamespace`.
                     enum:
                     - OnNamespace
@@ -1075,8 +1078,10 @@ spec:
                 description: |-
                   alertmanagerConfiguration specifies the configuration of Alertmanager.
 
+
                   If defined, it takes precedence over the `configSecret` field.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 properties:
@@ -1104,7 +1109,9 @@ spec:
                                       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
@@ -1117,8 +1124,10 @@ spec:
                                 description: |-
                                   Defines the authentication type. The value is case-insensitive.
 
+
                                   "Basic" is not a supported value.
 
+
                                   Default: "Bearer"
                                 type: string
                             type: object
@@ -1142,7 +1151,9 @@ spec:
                                       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
@@ -1166,7 +1177,9 @@ spec:
                                       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
@@ -1193,7 +1206,9 @@ spec:
                                   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
@@ -1205,14 +1220,6 @@ spec:
                           followRedirects:
                             description: FollowRedirects specifies whether the client should 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.
-
-                              It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                            type: string
                           oauth2:
                             description: OAuth2 client credentials used to fetch a token for the targets.
                             properties:
@@ -1234,7 +1241,9 @@ spec:
                                           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 ConfigMap or its key must be defined
@@ -1256,7 +1265,9 @@ spec:
                                           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
@@ -1281,7 +1292,9 @@ spec:
                                       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
@@ -1303,7 +1316,8 @@ spec:
                                   that should be excluded from proxying. IP and domain names can
                                   contain port numbers.
 
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                  It requires Prometheus >= v2.43.0.
                                 type: string
                               proxyConnectHeader:
                                 additionalProperties:
@@ -1320,7 +1334,9 @@ spec:
                                           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
@@ -1334,17 +1350,24 @@ spec:
                                   ProxyConnectHeader optionally specifies headers to send to
                                   proxies during CONNECT requests.
 
-                                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                                  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 or Alertmanager >= 0.25.0.
+                                  It requires Prometheus >= v2.43.0.
                                 type: boolean
                               proxyUrl:
-                                description: '`proxyURL` defines the HTTP proxy server to use.'
+                                description: |-
+                                  `proxyURL` defines the HTTP proxy server to use.
+
+
+                                  It requires Prometheus >= v2.43.0.
                                 pattern: ^http(s)?://.+$
                                 type: string
                               scopes:
@@ -1373,7 +1396,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -1395,7 +1420,9 @@ spec:
                                               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
@@ -1421,7 +1448,9 @@ spec:
                                               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 ConfigMap or its key must be defined
@@ -1443,7 +1472,9 @@ spec:
                                               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
@@ -1469,7 +1500,9 @@ spec:
                                           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
@@ -1482,6 +1515,7 @@ spec:
                                     description: |-
                                       Maximum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.41.0.
                                     enum:
                                     - TLS10
@@ -1493,6 +1527,7 @@ spec:
                                     description: |-
                                       Minimum acceptable TLS version.
 
+
                                       It requires Prometheus >= v2.35.0.
                                     enum:
                                     - TLS10
@@ -1513,47 +1548,8 @@ 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.
-                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                    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 or Alertmanager >= 0.25.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).
-
-                              It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                            type: boolean
-                          proxyUrl:
-                            description: '`proxyURL` defines the HTTP proxy server to use.'
-                            pattern: ^http(s)?://.+$
+                          proxyURL:
+                            description: Optional proxy URL.
                             type: string
                           tlsConfig:
                             description: TLS configuration for the client.
@@ -1574,7 +1570,9 @@ spec:
                                           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 ConfigMap or its key must be defined
@@ -1596,7 +1594,9 @@ spec:
                                           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
@@ -1622,7 +1622,9 @@ spec:
                                           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 ConfigMap or its key must be defined
@@ -1644,7 +1646,9 @@ spec:
                                           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
@@ -1670,7 +1674,9 @@ spec:
                                       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
@@ -1683,6 +1689,7 @@ spec:
                                 description: |-
                                   Maximum acceptable TLS version.
 
+
                                   It requires Prometheus >= v2.41.0.
                                 enum:
                                 - TLS10
@@ -1694,6 +1701,7 @@ spec:
                                 description: |-
                                   Minimum acceptable TLS version.
 
+
                                   It requires Prometheus >= v2.35.0.
                                 enum:
                                 - TLS10
@@ -1719,7 +1727,9 @@ spec:
                               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
@@ -1741,7 +1751,9 @@ spec:
                               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
@@ -1773,7 +1785,9 @@ spec:
                               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
@@ -1801,7 +1815,9 @@ spec:
                                   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
@@ -1823,7 +1839,9 @@ spec:
                                   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
@@ -1888,7 +1906,9 @@ spec:
                                 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 ConfigMap or its key must be defined
@@ -1910,7 +1930,9 @@ spec:
                                 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
@@ -1970,11 +1992,13 @@ spec:
                   Alertmanager object, which contains the configuration for this Alertmanager
                   instance. If empty, it defaults to `alertmanager-<alertmanager-name>`.
 
+
                   The Alertmanager configuration should be available under the
                   `alertmanager.yaml` key. Additional keys from the original secret are
                   copied to the generated secret and mounted into the
                   `/etc/alertmanager/config` directory in the `alertmanager` container.
 
+
                   If either the secret or the `alertmanager.yaml` key is missing, the
                   operator provisions a minimal Alertmanager configuration with one empty
                   receiver (effectively dropping alert notifications).
@@ -2058,7 +2082,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -2117,7 +2143,9 @@ spec:
                                       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
@@ -2155,7 +2183,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -2175,7 +2205,9 @@ spec:
                                   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 must be defined
@@ -2449,11 +2481,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2655,11 +2687,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2802,9 +2834,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -2815,12 +2849,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -2942,7 +2970,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -3020,6 +3048,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -3098,11 +3127,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -3307,8 +3336,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -3316,9 +3347,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -3359,6 +3392,7 @@ spec:
                   scope of what the maintainers will support and by doing so, you accept
                   that this behaviour may break at any time without notice.
 
+
                   It requires Alertmanager >= 0.27.0.
                 items:
                   type: string
@@ -3431,7 +3465,9 @@ spec:
                         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
                   type: object
                   x-kubernetes-map-type: atomic
@@ -3516,7 +3552,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -3575,7 +3613,9 @@ spec:
                                       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
@@ -3613,7 +3653,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -3633,7 +3675,9 @@ spec:
                                   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 must be defined
@@ -3907,11 +3951,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4113,11 +4157,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4260,9 +4304,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -4273,12 +4319,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -4400,7 +4440,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -4478,6 +4518,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -4556,11 +4597,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4765,8 +4806,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -4774,9 +4817,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -4854,6 +4899,7 @@ spec:
                 description: |-
                   PodMetadata configures labels and annotations which are propagated to the Alertmanager pods.
 
+
                   The following items are reserved and cannot be overridden:
                   * "alertmanager" label, set to the name of the Alertmanager instance.
                   * "app.kubernetes.io/instance" label, set to the name of the Alertmanager instance.
@@ -4914,9 +4960,11 @@ spec:
                       Claims lists the names of resources, defined in spec.resourceClaims,
                       that are used by this container.
 
+
                       This is an alpha field and requires enabling the
                       DynamicResourceAllocation feature gate.
 
+
                       This field is immutable. It can only be set for containers.
                     items:
                       description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -4927,12 +4975,6 @@ spec:
                             the Pod where this field is used. It makes that resource available
                             inside a container.
                           type: string
-                        request:
-                          description: |-
-                            Request is the name chosen for a request in the referenced claim.
-                            If empty, everything from the claim is made available, otherwise
-                            only the result of this request.
-                          type: string
                       required:
                       - name
                       type: object
@@ -5022,10 +5064,12 @@ spec:
                       Some volume types allow the Kubelet to change the ownership of that volume
                       to be owned by the pod:
 
+
                       1. The owning GID will be the FSGroup
                       2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                       3. The permission bits are OR'd with rw-rw----
 
+
                       If unset, the Kubelet will not modify the ownership and permissions of any volume.
                       Note that this field cannot be set when spec.os.name is windows.
                     format: int64
@@ -5108,6 +5152,7 @@ spec:
                           type indicates which kind of seccomp profile will be applied.
                           Valid options are:
 
+
                           Localhost - a profile defined in a file on the node should be used.
                           RuntimeDefault - the container runtime default profile should be used.
                           Unconfined - no profile should be applied.
@@ -5117,28 +5162,18 @@ spec:
                     type: object
                   supplementalGroups:
                     description: |-
-                      A list of groups applied to the first process run in each container, in
-                      addition to the container's primary GID and fsGroup (if specified).  If
-                      the SupplementalGroupsPolicy feature is enabled, the
-                      supplementalGroupsPolicy field determines whether these are in addition
-                      to or instead of any group memberships defined in the container image.
-                      If unspecified, no additional groups are added, though group memberships
-                      defined in the container image may still be used, depending on the
-                      supplementalGroupsPolicy field.
+                      A list of groups applied to the first process run in each container, in addition
+                      to the container's primary GID, the fsGroup (if specified), and group memberships
+                      defined in the container image for the uid of the container process. If unspecified,
+                      no additional groups are added to any container. Note that group memberships
+                      defined in the container image for the uid of the container process are still effective,
+                      even if they are not included in this list.
                       Note that this field cannot be set when spec.os.name is windows.
                     items:
                       format: int64
                       type: integer
                     type: array
                     x-kubernetes-list-type: atomic
-                  supplementalGroupsPolicy:
-                    description: |-
-                      Defines how supplemental groups of the first container processes are calculated.
-                      Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
-                      (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
-                      and the container runtime must implement support for this feature.
-                      Note that this field cannot be set when spec.os.name is windows.
-                    type: string
                   sysctls:
                     description: |-
                       Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
@@ -5255,6 +5290,7 @@ spec:
                           entry. Pod validation will reject the pod if the concatenated name
                           is not valid for a PVC (for example, too long).
 
+
                           An existing PVC with that name that is not owned by the pod
                           will *not* be used for the pod to avoid using an unrelated
                           volume by mistake. Starting the pod is then blocked until
@@ -5264,9 +5300,11 @@ spec:
                           this should not be necessary, but it may be useful when
                           manually reconstructing a broken cluster.
 
+
                           This field is read-only and no changes will be made by Kubernetes
                           to the PVC after it has been created.
 
+
                           Required, must not be nil.
                         properties:
                           metadata:
@@ -5461,7 +5499,7 @@ spec:
                                   set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                   exists.
                                   More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                  (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                  (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                 type: string
                               volumeMode:
                                 description: |-
@@ -5712,7 +5750,7 @@ spec:
                               set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                               exists.
                               More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                              (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                              (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                             type: string
                           volumeMode:
                             description: |-
@@ -5741,7 +5779,7 @@ spec:
                                 that it does not recognizes, then it should ignore that update and let other controllers
                                 handle it.
                               type: string
-                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                             x-kubernetes-map-type: granular
                           allocatedResources:
@@ -5751,7 +5789,7 @@ spec:
                               - type: string
                               pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                               x-kubernetes-int-or-string: true
-                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                           capacity:
                             additionalProperties:
@@ -5789,16 +5827,7 @@ spec:
                                 status:
                                   type: string
                                 type:
-                                  description: |-
-                                    PersistentVolumeClaimConditionType defines the condition of PV claim.
-                                    Valid values are:
-                                      - "Resizing", "FileSystemResizePending"
-
-                                    If RecoverVolumeExpansionFailure feature gate is enabled, then following additional values can be expected:
-                                      - "ControllerResizeError", "NodeResizeError"
-
-                                    If VolumeAttributesClass feature gate is enabled, then following additional values can be expected:
-                                      - "ModifyVolumeError", "ModifyingVolume"
+                                  description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
                                   type: string
                               required:
                               - status
@@ -5812,13 +5841,13 @@ spec:
                             description: |-
                               currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
                               When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             type: string
                           modifyVolumeStatus:
                             description: |-
                               ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
                               When this is unset, there is no ModifyVolume operation being attempted.
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             properties:
                               status:
                                 description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n   Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n   the specified VolumeAttributesClass not existing.\n - InProgress\n   InProgress indicates that the volume is being modified.\n - Infeasible\n  Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t  resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately."
@@ -5943,6 +5972,7 @@ spec:
                         Keys that don't exist in the incoming pod labels will
                         be ignored. A null or empty list means only match against labelSelector.
 
+
                         This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                       items:
                         type: string
@@ -5982,6 +6012,7 @@ spec:
                         Valid values are integers greater than 0.
                         When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
 
+
                         For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                         labelSelector spread as 2/2/2:
                         | zone1 | zone2 | zone3 |
@@ -5999,6 +6030,7 @@ spec:
                         - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                         - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
 
+
                         If this value is nil, the behavior is equivalent to the Honor policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -6010,6 +6042,7 @@ spec:
                         has a toleration, are included.
                         - Ignore: node taints are ignored. All nodes are included.
 
+
                         If this value is nil, the behavior is equivalent to the Ignore policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -6091,8 +6124,10 @@ spec:
                         RecursiveReadOnly specifies whether read-only mounts should be handled
                         recursively.
 
+
                         If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                         If ReadOnly is true, and this field is set to Disabled, the mount is not made
                         recursively read-only.  If this field is set to IfPossible, the mount is made
                         recursively read-only, if it is supported by the container runtime.  If this
@@ -6100,9 +6135,11 @@ spec:
                         supported by the container runtime, otherwise the pod will not be started and
                         an error will be generated to indicate the reason.
 
+
                         If this field is set to IfPossible or Enabled, MountPropagation must be set to
                         None (or be unspecified, which defaults to None).
 
+
                         If this field is not specified, it is treated as an equivalent of Disabled.
                       type: string
                     subPath:
@@ -6142,6 +6179,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -6177,7 +6215,6 @@ spec:
                           description: diskURI is the URI of data disk in the blob storage
                           type: string
                         fsType:
-                          default: ext4
                           description: |-
                             fsType is Filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -6187,7 +6224,6 @@ spec:
                           description: 'kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob disk per storage account  Managed: azure managed data disk (only in managed availability set). defaults to shared'
                           type: string
                         readOnly:
-                          default: false
                           description: |-
                             readOnly Defaults to false (read/write). ReadOnly here will force
                             the ReadOnly setting in VolumeMounts.
@@ -6251,7 +6287,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -6293,7 +6331,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -6364,7 +6404,9 @@ spec:
                             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: optional specify whether the ConfigMap or its keys must be defined
@@ -6400,7 +6442,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -6525,6 +6569,7 @@ spec:
                         The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
                         and deleted when the pod is removed.
 
+
                         Use this if:
                         a) the volume is only needed while the pod runs,
                         b) features of normal volumes like restoring from snapshot or capacity
@@ -6535,14 +6580,17 @@ spec:
                            information on the connection between this volume type
                            and PersistentVolumeClaim).
 
+
                         Use PersistentVolumeClaim or one of the vendor-specific
                         APIs for volumes that persist for longer than the lifecycle
                         of an individual pod.
 
+
                         Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
                         be used that way - see the documentation of the driver for
                         more information.
 
+
                         A pod can use both types of ephemeral volumes and
                         persistent volumes at the same time.
                       properties:
@@ -6556,6 +6604,7 @@ spec:
                             entry. Pod validation will reject the pod if the concatenated name
                             is not valid for a PVC (for example, too long).
 
+
                             An existing PVC with that name that is not owned by the pod
                             will *not* be used for the pod to avoid using an unrelated
                             volume by mistake. Starting the pod is then blocked until
@@ -6565,9 +6614,11 @@ spec:
                             this should not be necessary, but it may be useful when
                             manually reconstructing a broken cluster.
 
+
                             This field is read-only and no changes will be made by Kubernetes
                             to the PVC after it has been created.
 
+
                             Required, must not be nil.
                           properties:
                             metadata:
@@ -6762,7 +6813,7 @@ spec:
                                     set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                     exists.
                                     More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                    (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                    (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                   type: string
                                 volumeMode:
                                   description: |-
@@ -6785,6 +6836,7 @@ spec:
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
                             Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         lun:
                           description: 'lun is Optional: FC target lun number'
@@ -6849,7 +6901,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -6880,6 +6934,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -6959,6 +7014,9 @@ spec:
                         used for system agents or other privileged things that are allowed
                         to see the host machine. Most containers will NOT need this.
                         More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+                        ---
+                        TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+                        mount host directories as read/write.
                       properties:
                         path:
                           description: |-
@@ -6975,41 +7033,6 @@ spec:
                       required:
                       - path
                       type: object
-                    image:
-                      description: |-
-                        image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
-                        The volume is resolved at pod startup depending on which PullPolicy value is provided:
-
-                        - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                        - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                        - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-
-                        The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
-                        A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
-                        The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
-                        The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
-                        The volume will be mounted read-only (ro) and non-executable files (noexec).
-                        Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath).
-                        The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
-                      properties:
-                        pullPolicy:
-                          description: |-
-                            Policy for pulling OCI objects. Possible values are:
-                            Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                            Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                            IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-                            Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                          type: string
-                        reference:
-                          description: |-
-                            Required: Image or artifact reference to be used.
-                            Behaves in the same way as pod.spec.containers[*].image.
-                            Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
-                            More info: https://kubernetes.io/docs/concepts/containers/images
-                            This field is optional to allow higher level config management to default or override
-                            container images in workload controllers like Deployments and StatefulSets.
-                          type: string
-                      type: object
                     iscsi:
                       description: |-
                         iscsi represents an ISCSI Disk resource that is attached to a
@@ -7028,6 +7051,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         initiatorName:
                           description: |-
@@ -7039,7 +7063,6 @@ spec:
                           description: iqn is the target iSCSI Qualified Name.
                           type: string
                         iscsiInterface:
-                          default: default
                           description: |-
                             iscsiInterface is the interface Name that uses an iSCSI transport.
                             Defaults to 'default' (tcp).
@@ -7071,7 +7094,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -7184,24 +7209,23 @@ spec:
                           format: int32
                           type: integer
                         sources:
-                          description: |-
-                            sources is the list of volume projections. Each entry in this list
-                            handles one source.
+                          description: sources is the list of volume projections
                           items:
-                            description: |-
-                              Projection that may be projected along with other supported volume types.
-                              Exactly one of these fields must be set.
+                            description: Projection that may be projected along with other supported volume types
                             properties:
                               clusterTrustBundle:
                                 description: |-
                                   ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
                                   of ClusterTrustBundle objects in an auto-updating file.
 
+
                                   Alpha, gated by the ClusterTrustBundleProjection feature gate.
 
+
                                   ClusterTrustBundle objects can either be selected by name, or by the
                                   combination of signer name and a label selector.
 
+
                                   Kubelet performs aggressive normalization of the PEM contents written
                                   into the pod filesystem.  Esoteric PEM features such as inter-block
                                   comments and block headers are stripped.  Certificates are deduplicated.
@@ -7329,7 +7353,9 @@ spec:
                                       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: optional specify whether the ConfigMap or its keys must be defined
@@ -7446,7 +7472,9 @@ spec:
                                       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: optional field specify whether the Secret or its key must be defined
@@ -7532,6 +7560,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         image:
                           description: |-
@@ -7539,7 +7568,6 @@ spec:
                             More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
                           type: string
                         keyring:
-                          default: /etc/ceph/keyring
                           description: |-
                             keyring is the path to key ring for RBDUser.
                             Default is /etc/ceph/keyring.
@@ -7554,7 +7582,6 @@ spec:
                           type: array
                           x-kubernetes-list-type: atomic
                         pool:
-                          default: rbd
                           description: |-
                             pool is the rados pool name.
                             Default is rbd.
@@ -7580,12 +7607,13 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
                         user:
-                          default: admin
                           description: |-
                             user is the rados user name.
                             Default is admin.
@@ -7599,7 +7627,6 @@ spec:
                       description: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
                       properties:
                         fsType:
-                          default: xfs
                           description: |-
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -7629,7 +7656,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -7637,7 +7666,6 @@ spec:
                           description: sslEnabled Flag enable/disable SSL communication with Gateway, default false
                           type: boolean
                         storageMode:
-                          default: ThinProvisioned
                           description: |-
                             storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
                             Default is ThinProvisioned.
@@ -7747,7 +7775,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -7878,7 +7908,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -7900,7 +7932,9 @@ spec:
                                   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
@@ -7934,7 +7968,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -7956,7 +7992,9 @@ spec:
                                   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
@@ -7993,7 +8031,9 @@ spec:
                               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
diff --git a/manifests/setup/0podmonitorCustomResourceDefinition.yaml b/manifests/setup/0podmonitorCustomResourceDefinition.yaml
index f9ffbcf60266235e65b4e99a9702d1967ec0ff13..4c2fc15a4d8281bf9579c7715b568979d529331d 100644
--- a/manifests/setup/0podmonitorCustomResourceDefinition.yaml
+++ b/manifests/setup/0podmonitorCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: podmonitors.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -29,6 +29,7 @@ spec:
           * Authentication credentials to use.
           * Target and metric relabeling.
 
+
           `Prometheus` and `PrometheusAgent` objects select `PodMonitor` objects using label and namespace selectors.
         properties:
           apiVersion:
@@ -56,6 +57,7 @@ spec:
                   `attachMetadata` defines additional metadata which is added to the
                   discovered targets.
 
+
                   It requires Prometheus >= v2.35.0.
                 properties:
                   node:
@@ -63,6 +65,7 @@ spec:
                       When set to true, Prometheus attaches node metadata to the discovered
                       targets.
 
+
                       The Prometheus service account must have the `list` and `watch`
                       permissions on the `Nodes` objects.
                     type: boolean
@@ -72,6 +75,7 @@ spec:
                   When defined, bodySizeLimit specifies a job level limit on the size
                   of uncompressed response body that will be accepted by Prometheus.
 
+
                   It requires Prometheus >= v2.28.0.
                 pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
                 type: string
@@ -81,10 +85,12 @@ spec:
                   `jobLabel` selects the label from the associated Kubernetes `Pod`
                   object which will be used as the `job` label for all metrics.
 
+
                   For example if `jobLabel` is set to `foo` and the Kubernetes `Pod`
                   object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
                   label to all ingested metrics.
 
+
                   If the value of this field is empty, the `job` label of the metrics
                   defaults to the namespace and name of the PodMonitor object (e.g. `<namespace>/<name>`).
                 type: string
@@ -93,6 +99,7 @@ spec:
                   Per-scrape limit on the number of targets dropped by relabeling
                   that will be kept in memory. 0 means no limit.
 
+
                   It requires Prometheus >= v2.47.0.
                 format: int64
                 type: integer
@@ -100,6 +107,7 @@ spec:
                 description: |-
                   Per-scrape limit on number of labels that will be accepted for a sample.
 
+
                   It requires Prometheus >= v2.27.0.
                 format: int64
                 type: integer
@@ -107,6 +115,7 @@ spec:
                 description: |-
                   Per-scrape limit on length of labels name that will be accepted for a sample.
 
+
                   It requires Prometheus >= v2.27.0.
                 format: int64
                 type: integer
@@ -114,6 +123,7 @@ spec:
                 description: |-
                   Per-scrape limit on length of labels value that will be accepted for a sample.
 
+
                   It requires Prometheus >= v2.27.0.
                 format: int64
                 type: integer
@@ -145,6 +155,7 @@ spec:
                         `authorization` configures the Authorization header credentials to use when
                         scraping the target.
 
+
                         Cannot be set at the same time as `basicAuth`, or `oauth2`.
                       properties:
                         credentials:
@@ -160,7 +171,9 @@ spec:
                                 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
@@ -173,8 +186,10 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
@@ -183,6 +198,7 @@ spec:
                         `basicAuth` configures the Basic Authentication credentials to use when
                         scraping the target.
 
+
                         Cannot be set at the same time as `authorization`, or `oauth2`.
                       properties:
                         password:
@@ -200,7 +216,9 @@ spec:
                                 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
@@ -224,7 +242,9 @@ spec:
                                 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
@@ -240,6 +260,7 @@ spec:
                         token for scraping targets. The secret needs to be in the same namespace
                         as the PodMonitor object and readable by the Prometheus Operator.
 
+
                         Deprecated: use `authorization` instead.
                       properties:
                         key:
@@ -252,7 +273,9 @@ spec:
                             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
@@ -269,8 +292,10 @@ spec:
                         When true, the pods which are not running (e.g. either in Failed or
                         Succeeded state) are dropped during the target discovery.
 
+
                         If unset, the filtering is enabled.
 
+
                         More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
                       type: boolean
                     followRedirects:
@@ -292,6 +317,7 @@ spec:
                       description: |-
                         Interval at which Prometheus scrapes the metrics from the target.
 
+
                         If empty, Prometheus uses the global scrape interval.
                       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
@@ -304,6 +330,7 @@ spec:
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -311,9 +338,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -343,6 +372,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -354,6 +384,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -375,9 +406,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -386,8 +419,10 @@ spec:
                       description: |-
                         `oauth2` configures the OAuth2 settings to use when scraping the target.
 
+
                         It requires Prometheus >= 2.27.0.
 
+
                         Cannot be set at the same time as `authorization`, or `basicAuth`.
                       properties:
                         clientId:
@@ -408,7 +443,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -430,7 +467,9 @@ spec:
                                     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
@@ -455,7 +494,9 @@ spec:
                                 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
@@ -477,7 +518,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -494,7 +536,9 @@ spec:
                                     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
@@ -508,17 +552,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -547,7 +598,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -569,7 +622,9 @@ spec:
                                         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
@@ -595,7 +650,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -617,7 +674,9 @@ spec:
                                         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
@@ -643,7 +702,9 @@ spec:
                                     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
@@ -656,6 +717,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -667,6 +729,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -698,12 +761,14 @@ spec:
                       description: |-
                         HTTP path from which to scrape for metrics.
 
+
                         If empty, Prometheus uses the default value (e.g. `/metrics`).
                       type: string
                     port:
                       description: |-
                         Name of the Pod port which this endpoint refers to.
 
+
                         It takes precedence over `targetPort`.
                       type: string
                     proxyUrl:
@@ -716,16 +781,20 @@ spec:
                         `relabelings` configures the relabeling rules to apply the target's
                         metadata labels.
 
+
                         The Operator automatically adds relabelings for a few standard Kubernetes fields.
 
+
                         The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
 
+
                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                       items:
                         description: |-
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -733,9 +802,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -765,6 +836,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -776,6 +848,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -797,9 +870,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -808,9 +883,11 @@ spec:
                       description: |-
                         HTTP scheme to use for scraping.
 
+
                         `http` and `https` are the expected values unless you rewrite the
                         `__scheme__` label via relabeling.
 
+
                         If empty, Prometheus uses the default value `http`.
                       enum:
                       - http
@@ -820,6 +897,7 @@ spec:
                       description: |-
                         Timeout after which Prometheus considers the scrape to be failed.
 
+
                         If empty, Prometheus uses the global scrape timeout unless it is less
                         than the target's scrape interval value in which the latter is used.
                       pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
@@ -832,6 +910,7 @@ spec:
                         Name or number of the target port of the `Pod` object behind the Service, the
                         port must be specified with container port property.
 
+
                         Deprecated: use 'port' instead.
                       x-kubernetes-int-or-string: true
                     tlsConfig:
@@ -853,7 +932,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -875,7 +956,9 @@ spec:
                                     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
@@ -901,7 +984,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -923,7 +1008,9 @@ spec:
                                     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
@@ -949,7 +1036,9 @@ spec:
                                 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
@@ -962,6 +1051,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -973,6 +1063,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -990,6 +1081,7 @@ spec:
                         the metrics that have an explicit timestamp present in scraped data.
                         Has no effect if `honorTimestamps` is false.
 
+
                         It requires Prometheus >= v2.48.0.
                       type: boolean
                   type: object
@@ -1016,8 +1108,10 @@ spec:
                   `scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
                   protocols supported by Prometheus in order of preference (from most to least preferred).
 
+
                   If unset, Prometheus uses its default value.
 
+
                   It requires Prometheus >= v2.49.0.
                 items:
                   description: |-
diff --git a/manifests/setup/0probeCustomResourceDefinition.yaml b/manifests/setup/0probeCustomResourceDefinition.yaml
index a1aad8639be408129024bc22ea84fe5ac77d3e8a..ba0bb44d3a965b0571a523520cdae6cbeb825216 100644
--- a/manifests/setup/0probeCustomResourceDefinition.yaml
+++ b/manifests/setup/0probeCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: probes.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -24,10 +24,12 @@ spec:
         description: |-
           The `Probe` custom resource definition (CRD) defines how to scrape metrics from prober exporters such as the [blackbox exporter](https://github.com/prometheus/blackbox_exporter).
 
+
           The `Probe` resource needs 2 pieces of information:
           * The list of probed addresses which can be defined statically or by discovering Kubernetes Ingress objects.
           * The prober which exposes the availability of probed endpoints (over various protocols such HTTP, TCP, ICMP, ...) as Prometheus metrics.
 
+
           `Prometheus` and `PrometheusAgent` objects select `Probe` objects using label and namespace selectors.
         properties:
           apiVersion:
@@ -66,7 +68,9 @@ spec:
                           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
@@ -79,8 +83,10 @@ spec:
                     description: |-
                       Defines the authentication type. The value is case-insensitive.
 
+
                       "Basic" is not a supported value.
 
+
                       Default: "Bearer"
                     type: string
                 type: object
@@ -104,7 +110,9 @@ spec:
                           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
@@ -128,7 +136,9 @@ spec:
                           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
@@ -154,7 +164,9 @@ spec:
                       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
@@ -177,6 +189,7 @@ spec:
                   Per-scrape limit on the number of targets dropped by relabeling
                   that will be kept in memory. 0 means no limit.
 
+
                   It requires Prometheus >= v2.47.0.
                 format: int64
                 type: integer
@@ -205,6 +218,7 @@ spec:
                     RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                     scraped samples and remote write samples.
 
+
                     More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                   properties:
                     action:
@@ -212,9 +226,11 @@ spec:
                       description: |-
                         Action to perform based on the regex matching.
 
+
                         `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                         `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                         Default: "Replace"
                       enum:
                       - replace
@@ -244,6 +260,7 @@ spec:
                       description: |-
                         Modulus to take of the hash of the source label values.
 
+
                         Only applicable when the action is `HashMod`.
                       format: int64
                       type: integer
@@ -255,6 +272,7 @@ spec:
                         Replacement value against which a Replace action is performed if the
                         regular expression matches.
 
+
                         Regex capture groups are available.
                       type: string
                     separator:
@@ -276,9 +294,11 @@ spec:
                       description: |-
                         Label to which the resulting string is written in a replacement.
 
+
                         It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                         `KeepEqual` and `DropEqual` actions.
 
+
                         Regex capture groups are available.
                       type: string
                   type: object
@@ -310,7 +330,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -332,7 +354,9 @@ spec:
                               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
@@ -357,7 +381,9 @@ spec:
                           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
@@ -379,7 +405,8 @@ spec:
                       that should be excluded from proxying. IP and domain names can
                       contain port numbers.
 
-                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                      It requires Prometheus >= v2.43.0.
                     type: string
                   proxyConnectHeader:
                     additionalProperties:
@@ -396,7 +423,9 @@ spec:
                               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
@@ -410,17 +439,24 @@ spec:
                       ProxyConnectHeader optionally specifies headers to send to
                       proxies during CONNECT requests.
 
-                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                      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 or Alertmanager >= 0.25.0.
+
+                      It requires Prometheus >= v2.43.0.
                     type: boolean
                   proxyUrl:
-                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                    description: |-
+                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                      It requires Prometheus >= v2.43.0.
                     pattern: ^http(s)?://.+$
                     type: string
                   scopes:
@@ -449,7 +485,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -471,7 +509,9 @@ spec:
                                   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
@@ -497,7 +537,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -519,7 +561,9 @@ spec:
                                   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
@@ -545,7 +589,9 @@ spec:
                               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
@@ -558,6 +604,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -569,6 +616,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -631,8 +679,10 @@ spec:
                   `scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
                   protocols supported by Prometheus in order of preference (from most to least preferred).
 
+
                   If unset, Prometheus uses its default value.
 
+
                   It requires Prometheus >= v2.49.0.
                 items:
                   description: |-
@@ -697,6 +747,7 @@ spec:
                             RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                             scraped samples and remote write samples.
 
+
                             More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                           properties:
                             action:
@@ -704,9 +755,11 @@ spec:
                               description: |-
                                 Action to perform based on the regex matching.
 
+
                                 `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                                 `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                                 Default: "Replace"
                               enum:
                               - replace
@@ -736,6 +789,7 @@ spec:
                               description: |-
                                 Modulus to take of the hash of the source label values.
 
+
                                 Only applicable when the action is `HashMod`.
                               format: int64
                               type: integer
@@ -747,6 +801,7 @@ spec:
                                 Replacement value against which a Replace action is performed if the
                                 regular expression matches.
 
+
                                 Regex capture groups are available.
                               type: string
                             separator:
@@ -768,9 +823,11 @@ spec:
                               description: |-
                                 Label to which the resulting string is written in a replacement.
 
+
                                 It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                                 `KeepEqual` and `DropEqual` actions.
 
+
                                 Regex capture groups are available.
                               type: string
                           type: object
@@ -842,6 +899,7 @@ spec:
                             RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                             scraped samples and remote write samples.
 
+
                             More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                           properties:
                             action:
@@ -849,9 +907,11 @@ spec:
                               description: |-
                                 Action to perform based on the regex matching.
 
+
                                 `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                                 `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                                 Default: "Replace"
                               enum:
                               - replace
@@ -881,6 +941,7 @@ spec:
                               description: |-
                                 Modulus to take of the hash of the source label values.
 
+
                                 Only applicable when the action is `HashMod`.
                               format: int64
                               type: integer
@@ -892,6 +953,7 @@ spec:
                                 Replacement value against which a Replace action is performed if the
                                 regular expression matches.
 
+
                                 Regex capture groups are available.
                               type: string
                             separator:
@@ -913,9 +975,11 @@ spec:
                               description: |-
                                 Label to which the resulting string is written in a replacement.
 
+
                                 It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                                 `KeepEqual` and `DropEqual` actions.
 
+
                                 Regex capture groups are available.
                               type: string
                           type: object
@@ -946,7 +1010,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -968,7 +1034,9 @@ spec:
                               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
@@ -994,7 +1062,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -1016,7 +1086,9 @@ spec:
                               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
@@ -1042,7 +1114,9 @@ spec:
                           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
@@ -1055,6 +1129,7 @@ spec:
                     description: |-
                       Maximum acceptable TLS version.
 
+
                       It requires Prometheus >= v2.41.0.
                     enum:
                     - TLS10
@@ -1066,6 +1141,7 @@ spec:
                     description: |-
                       Minimum acceptable TLS version.
 
+
                       It requires Prometheus >= v2.35.0.
                     enum:
                     - TLS10
diff --git a/manifests/setup/0prometheusCustomResourceDefinition.yaml b/manifests/setup/0prometheusCustomResourceDefinition.yaml
index 175a797794be975efa6115d9e5a8c3966e0a887e..8acbd02079de85db0c9de029106342bee0770b00 100644
--- a/manifests/setup/0prometheusCustomResourceDefinition.yaml
+++ b/manifests/setup/0prometheusCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: prometheuses.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -51,10 +51,13 @@ spec:
         description: |-
           The `Prometheus` custom resource definition (CRD) defines a desired [Prometheus](https://prometheus.io/docs/prometheus) setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage, and Alertmanagers where firing alerts should be sent and many more.
 
+
           For each `Prometheus` resource, the Operator deploys one or several `StatefulSet` objects in the same namespace. The number of StatefulSets is equal to the number of shards which is 1 by default.
 
+
           The resource defines via label and namespace selectors which `ServiceMonitor`, `PodMonitor`, `Probe` and `PrometheusRule` objects should be associated to the deployed Prometheus instances.
 
+
           The Operator continuously reconciles the scrape and rules configuration and a sidecar container running in the Prometheus pods triggers a reload of the configuration when needed.
         properties:
           apiVersion:
@@ -87,10 +90,13 @@ spec:
                   Prometheus Operator. They must be formatted according to the official
                   Prometheus documentation:
 
+
                   https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config
 
+
                   The user is responsible for making sure that the configurations are valid
 
+
                   Note that using this feature may expose the possibility to break
                   upgrades of Prometheus. It is advised to review Prometheus release notes
                   to ensure that no incompatible AlertManager configs are going to break
@@ -106,7 +112,9 @@ spec:
                       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
@@ -123,10 +131,13 @@ spec:
                   Prometheus Operator. They must be formatted according to the official
                   Prometheus documentation:
 
+
                   https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs
 
+
                   The user is responsible for making sure that the configurations are valid
 
+
                   Note that using this feature may expose the possibility to break
                   upgrades of Prometheus. It is advised to review Prometheus release notes
                   to ensure that no incompatible alert relabel configs are going to break
@@ -142,7 +153,9 @@ spec:
                       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
@@ -155,11 +168,13 @@ spec:
                 description: |-
                   AdditionalArgs allows setting additional arguments for the 'prometheus' container.
 
+
                   It is intended for e.g. activating hidden flags which are not supported by
                   the dedicated configuration options yet. The arguments are passed as-is to the
                   Prometheus container which may cause issues if they are invalid or not supported
                   by the given Prometheus version.
 
+
                   In case of an argument conflict (e.g. an argument which is already set by the
                   operator itself) or when providing an invalid argument, the reconciliation will
                   fail and an error will be logged.
@@ -201,7 +216,9 @@ spec:
                       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
@@ -476,7 +493,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -491,7 +508,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -652,7 +669,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -667,7 +684,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -821,7 +838,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -836,7 +853,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -997,7 +1014,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -1012,7 +1029,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -1110,6 +1127,7 @@ spec:
                               RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                               scraped samples and remote write samples.
 
+
                               More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                             properties:
                               action:
@@ -1117,9 +1135,11 @@ spec:
                                 description: |-
                                   Action to perform based on the regex matching.
 
+
                                   `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                                   `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                                   Default: "Replace"
                                 enum:
                                 - replace
@@ -1149,6 +1169,7 @@ spec:
                                 description: |-
                                   Modulus to take of the hash of the source label values.
 
+
                                   Only applicable when the action is `HashMod`.
                                 format: int64
                                 type: integer
@@ -1160,6 +1181,7 @@ spec:
                                   Replacement value against which a Replace action is performed if the
                                   regular expression matches.
 
+
                                   Regex capture groups are available.
                                 type: string
                               separator:
@@ -1181,9 +1203,11 @@ spec:
                                 description: |-
                                   Label to which the resulting string is written in a replacement.
 
+
                                   It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                                   `KeepEqual` and `DropEqual` actions.
 
+
                                   Regex capture groups are available.
                                 type: string
                             type: object
@@ -1197,6 +1221,7 @@ spec:
                           description: |-
                             Authorization section for Alertmanager.
 
+
                             Cannot be set at the same time as `basicAuth`, `bearerTokenFile` or `sigv4`.
                           properties:
                             credentials:
@@ -1212,7 +1237,9 @@ spec:
                                     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
@@ -1225,8 +1252,10 @@ spec:
                               description: |-
                                 Defines the authentication type. The value is case-insensitive.
 
+
                                 "Basic" is not a supported value.
 
+
                                 Default: "Bearer"
                               type: string
                           type: object
@@ -1234,6 +1263,7 @@ spec:
                           description: |-
                             BasicAuth configuration for Alertmanager.
 
+
                             Cannot be set at the same time as `bearerTokenFile`, `authorization` or `sigv4`.
                           properties:
                             password:
@@ -1251,7 +1281,9 @@ spec:
                                     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
@@ -1275,7 +1307,9 @@ spec:
                                     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
@@ -1289,8 +1323,10 @@ spec:
                           description: |-
                             File to read bearer token for Alertmanager.
 
+
                             Cannot be set at the same time as `basicAuth`, `authorization`, or `sigv4`.
 
+
                             Deprecated: this will be removed in a future release. Prefer using `authorization`.
                           type: string
                         enableHttp2:
@@ -1304,6 +1340,7 @@ spec:
                           description: |-
                             Namespace of the Endpoints object.
 
+
                             If not set, the object will be discovered in the namespace of the
                             Prometheus object.
                           minLength: 1
@@ -1324,6 +1361,7 @@ spec:
                               RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                               scraped samples and remote write samples.
 
+
                               More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                             properties:
                               action:
@@ -1331,9 +1369,11 @@ spec:
                                 description: |-
                                   Action to perform based on the regex matching.
 
+
                                   `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                                   `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                                   Default: "Replace"
                                 enum:
                                 - replace
@@ -1363,6 +1403,7 @@ spec:
                                 description: |-
                                   Modulus to take of the hash of the source label values.
 
+
                                   Only applicable when the action is `HashMod`.
                                 format: int64
                                 type: integer
@@ -1374,6 +1415,7 @@ spec:
                                   Replacement value against which a Replace action is performed if the
                                   regular expression matches.
 
+
                                   Regex capture groups are available.
                                 type: string
                               separator:
@@ -1395,9 +1437,11 @@ spec:
                                 description: |-
                                   Label to which the resulting string is written in a replacement.
 
+
                                   It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                                   `KeepEqual` and `DropEqual` actions.
 
+
                                   Regex capture groups are available.
                                 type: string
                             type: object
@@ -1409,8 +1453,10 @@ spec:
                           description: |-
                             Sigv4 allows to configures AWS's Signature Verification 4 for the URL.
 
+
                             It requires Prometheus >= v2.48.0.
 
+
                             Cannot be set at the same time as `basicAuth`, `bearerTokenFile` or `authorization`.
                           properties:
                             accessKey:
@@ -1428,7 +1474,9 @@ spec:
                                     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
@@ -1461,7 +1509,9 @@ spec:
                                     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
@@ -1494,7 +1544,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -1516,7 +1568,9 @@ spec:
                                         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
@@ -1545,7 +1599,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -1567,7 +1623,9 @@ spec:
                                         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
@@ -1599,7 +1657,9 @@ spec:
                                     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
@@ -1612,6 +1672,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -1623,6 +1684,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -1647,6 +1709,7 @@ spec:
                   AllowOverlappingBlocks enables vertical compaction and vertical query
                   merge in Prometheus.
 
+
                   Deprecated: this flag has no effect for Prometheus >= 2.39.0 where overlapping blocks are enabled by default.
                 type: boolean
               apiserverConfig:
@@ -1661,6 +1724,7 @@ spec:
                     description: |-
                       Authorization section for the API server.
 
+
                       Cannot be set at the same time as `basicAuth`, `bearerToken`, or
                       `bearerTokenFile`.
                     properties:
@@ -1677,7 +1741,9 @@ spec:
                               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
@@ -1693,8 +1759,10 @@ spec:
                         description: |-
                           Defines the authentication type. The value is case-insensitive.
 
+
                           "Basic" is not a supported value.
 
+
                           Default: "Bearer"
                         type: string
                     type: object
@@ -1702,6 +1770,7 @@ spec:
                     description: |-
                       BasicAuth configuration for the API server.
 
+
                       Cannot be set at the same time as `authorization`, `bearerToken`, or
                       `bearerTokenFile`.
                     properties:
@@ -1720,7 +1789,9 @@ spec:
                               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
@@ -1744,7 +1815,9 @@ spec:
                               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
@@ -1759,14 +1832,17 @@ spec:
                       *Warning: this field shouldn't be used because the token value appears
                       in clear-text. Prefer using `authorization`.*
 
+
                       Deprecated: this will be removed in a future release.
                     type: string
                   bearerTokenFile:
                     description: |-
                       File to read bearer token for accessing apiserver.
 
+
                       Cannot be set at the same time as `basicAuth`, `authorization`, or `bearerToken`.
 
+
                       Deprecated: this will be removed in a future release. Prefer using `authorization`.
                     type: string
                   host:
@@ -1793,7 +1869,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -1815,7 +1893,9 @@ spec:
                                   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
@@ -1844,7 +1924,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -1866,7 +1948,9 @@ spec:
                                   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
@@ -1898,7 +1982,9 @@ spec:
                               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
@@ -1911,6 +1997,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -1922,6 +2009,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -1957,6 +2045,7 @@ spec:
                   AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in the pod.
                   If the field isn't set, the operator mounts the service account token by default.
 
+
                   **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery.
                   It is possible to use strategic merge patch to project the service account token into the 'prometheus' container.
                 type: boolean
@@ -1968,6 +2057,7 @@ spec:
                   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)$
@@ -1990,11 +2080,13 @@ spec:
                   container if they share the same name and modifications are done via a
                   strategic merge patch.
 
+
                   The names of containers managed by the operator are:
                   * `prometheus`
                   * `config-reloader`
                   * `thanos-sidecar`
 
+
                   Overriding 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.
@@ -2067,7 +2159,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -2126,7 +2220,9 @@ spec:
                                       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
@@ -2164,7 +2260,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -2184,7 +2282,9 @@ spec:
                                   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 must be defined
@@ -2458,11 +2558,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2664,11 +2764,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2811,9 +2911,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -2824,12 +2926,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -2951,7 +3047,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -3029,6 +3125,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -3107,11 +3204,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -3316,8 +3413,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -3325,9 +3424,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -3368,11 +3469,13 @@ spec:
                 description: |-
                   Enables access to the Prometheus web admin API.
 
+
                   WARNING: Enabling the admin APIs enables mutating endpoints, to delete data,
                   shutdown Prometheus, and more. Enabling this should be done with care and the
                   user is advised to add additional authentication authorization via a proxy to
                   ensure only clients authorized to perform these actions can do so.
 
+
                   For more information:
                   https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
                 type: boolean
@@ -3380,10 +3483,12 @@ spec:
                 description: |-
                   Enable access to Prometheus feature flags. By default, no features are enabled.
 
+
                   Enabling features which are disabled by default 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.
 
+
                   For more information see https://prometheus.io/docs/prometheus/latest/feature_flags/
                 items:
                   minLength: 1
@@ -3395,12 +3500,14 @@ spec:
                   Enable Prometheus to be used as a receiver for the Prometheus remote
                   write protocol.
 
+
                   WARNING: This is not considered an efficient way of ingesting samples.
                   Use it with caution for specific low-volume use cases.
                   It is not suitable for replacing the ingestion via scraping and turning
                   Prometheus into a push-based metrics collection system.
                   For more information see https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver
 
+
                   It requires Prometheus >= v2.33.0.
                 type: boolean
               enforcedBodySizeLimit:
@@ -3410,8 +3517,10 @@ spec:
                   Targets responding with a body larger than this many bytes will cause
                   the scrape to fail.
 
+
                   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`.
@@ -3427,8 +3536,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.keepDroppedTargets` is
                   greater than zero and less than `spec.enforcedKeepDroppedTargets`.
 
+
                   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`.
@@ -3443,8 +3554,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.labelLimit` is
                   greater than zero and less than `spec.enforcedLabelLimit`.
 
+
                   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`.
@@ -3459,8 +3572,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.labelNameLengthLimit` is
                   greater than zero and less than `spec.enforcedLabelNameLengthLimit`.
 
+
                   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`.
@@ -3475,8 +3590,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.labelValueLengthLimit` is
                   greater than zero and less than `spec.enforcedLabelValueLengthLimit`.
 
+
                   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`.
@@ -3488,13 +3605,16 @@ spec:
                 description: |-
                   When not empty, a label will be added to:
 
+
                   1. All metrics scraped from `ServiceMonitor`, `PodMonitor`, `Probe` and `ScrapeConfig` objects.
                   2. All metrics generated from recording rules defined in `PrometheusRule` objects.
                   3. All alerts generated from alerting rules defined in `PrometheusRule` objects.
                   4. All vector selectors of PromQL expressions defined in `PrometheusRule` objects.
 
+
                   The label will not added for objects referenced in `spec.excludedFromEnforcement`.
 
+
                   The label's name is this field's value.
                   The label's value is the namespace of the `ServiceMonitor`,
                   `PodMonitor`, `Probe`, `PrometheusRule` or `ScrapeConfig` object.
@@ -3507,9 +3627,11 @@ spec:
                   unless `spec.sampleLimit` is greater than zero and less than
                   `spec.enforcedSampleLimit`.
 
+
                   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`.
@@ -3524,9 +3646,11 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.targetLimit` is
                   greater than zero and less than `spec.enforcedTargetLimit`.
 
+
                   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`.
@@ -3546,6 +3670,7 @@ spec:
                   List of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects
                   to be excluded from enforcing a namespace label of origin.
 
+
                   It is only applicable if `spec.enforcedNamespaceLabel` set to true.
                 items:
                   description: ObjectReference references a PodMonitor, ServiceMonitor, Probe or PrometheusRule object.
@@ -3588,9 +3713,11 @@ spec:
                     description: |-
                       Maximum number of exemplars stored in memory for all series.
 
+
                       exemplar-storage itself must be enabled using the `spec.enableFeature`
                       option for exemplars to be scraped in the first place.
 
+
                       If not set, Prometheus uses its default value. A value of zero or less
                       than zero disables the storage.
                     format: int64
@@ -3640,9 +3767,11 @@ spec:
                 description: |-
                   Use the host's network namespace if true.
 
+
                   Make sure to understand the security implications if you want to enable
                   it (https://kubernetes.io/docs/concepts/configuration/overview/).
 
+
                   When hostNetwork is enabled, this will set the DNS policy to
                   `ClusterFirstWithHostNet` automatically.
                 type: boolean
@@ -3658,9 +3787,11 @@ spec:
                   Container image name for Prometheus. If specified, it takes precedence
                   over the `spec.baseImage`, `spec.tag` and `spec.sha` fields.
 
+
                   Specifying `spec.version` is still necessary to ensure the Prometheus
                   Operator knows which version of Prometheus is being configured.
 
+
                   If neither `spec.image` nor `spec.baseImage` are defined, the operator
                   will use the latest upstream version of Prometheus available at the time
                   when the operator was released.
@@ -3692,7 +3823,9 @@ spec:
                         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
                   type: object
                   x-kubernetes-map-type: atomic
@@ -3708,9 +3841,11 @@ spec:
                   containers if they share the same name and modifications are done via a
                   strategic merge patch.
 
+
                   The names of init container name managed by the operator are:
                   * `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.
@@ -3783,7 +3918,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -3842,7 +3979,9 @@ spec:
                                       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
@@ -3880,7 +4019,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -3900,7 +4041,9 @@ spec:
                                   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 must be defined
@@ -4174,11 +4317,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4380,11 +4523,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4527,9 +4670,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -4540,12 +4685,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -4667,7 +4806,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -4745,6 +4884,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -4823,11 +4963,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -5032,8 +5172,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -5041,9 +5183,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -5082,8 +5226,10 @@ spec:
                   Per-scrape limit on the number of targets dropped by relabeling
                   that will be kept in memory. 0 means no limit.
 
+
                   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
@@ -5093,6 +5239,7 @@ spec:
                   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
@@ -5102,6 +5249,7 @@ spec:
                   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
@@ -5111,6 +5259,7 @@ spec:
                   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
@@ -5149,6 +5298,7 @@ spec:
                   without any of its container crashing for it to be considered available.
                   Defaults to 0 (pod will be considered available as soon as it is ready)
 
+
                   This is an alpha field from kubernetes 1.22 until 1.24 which requires
                   enabling the StatefulSetMinReadySeconds feature gate.
                 format: int32
@@ -5158,20 +5308,6 @@ spec:
                   type: string
                 description: Defines on which Nodes the Pods are scheduled.
                 type: object
-              otlp:
-                description: |-
-                  Settings related to the OTLP receiver feature.
-                  It requires Prometheus >= v2.54.0.
-                properties:
-                  promoteResourceAttributes:
-                    description: List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none.
-                    items:
-                      minLength: 1
-                      type: string
-                    minItems: 1
-                    type: array
-                    x-kubernetes-list-type: set
-                type: object
               overrideHonorLabels:
                 description: |-
                   When true, Prometheus resolves label conflicts by renaming the labels in the scraped data
@@ -5218,6 +5354,7 @@ spec:
                 description: |-
                   PodMetadata configures labels and annotations which are propagated to the Prometheus pods.
 
+
                   The following items are reserved and cannot be overridden:
                   * "prometheus" label, set to the name of the Prometheus object.
                   * "app.kubernetes.io/instance" label, set to the name of the Prometheus object.
@@ -5308,6 +5445,7 @@ spec:
                   PodMonitors to be selected for target discovery. An empty label selector
                   matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -5426,6 +5564,7 @@ spec:
                   Probes to be selected for target discovery. An empty label selector
                   matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -5482,6 +5621,7 @@ spec:
                   name. The external label will _not_ be added when the field is set to
                   the empty string (`""`).
 
+
                   Default: "prometheus"
                 type: string
               prometheusRulesExcludedFromEnforce:
@@ -5534,6 +5674,7 @@ spec:
                 description: |-
                   queryLogFile specifies where the file to which PromQL queries are logged.
 
+
                   If the filename has an empty path, e.g. 'query.log', The Prometheus Pods
                   will mount the file into an emptyDir volume at `/var/log/prometheus`.
                   If a full path is provided, e.g. '/var/log/prometheus/query.log', you
@@ -5563,8 +5704,10 @@ spec:
                       description: |-
                         Authorization section for the URL.
 
+
                         It requires Prometheus >= v2.26.0.
 
+
                         Cannot be set at the same time as `basicAuth`, or `oauth2`.
                       properties:
                         credentials:
@@ -5580,7 +5723,9 @@ spec:
                                 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
@@ -5596,8 +5741,10 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
@@ -5605,6 +5752,7 @@ spec:
                       description: |-
                         BasicAuth configuration for the URL.
 
+
                         Cannot be set at the same time as `authorization`, or `oauth2`.
                       properties:
                         password:
@@ -5622,7 +5770,9 @@ spec:
                                 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
@@ -5646,7 +5796,9 @@ spec:
                                 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
@@ -5661,24 +5813,28 @@ spec:
                         *Warning: this field shouldn't be used because the token value appears
                         in clear-text. Prefer using `authorization`.*
 
+
                         Deprecated: this will be removed in a future release.
                       type: string
                     bearerTokenFile:
                       description: |-
                         File from which to read the bearer token for the URL.
 
+
                         Deprecated: this will be removed in a future release. Prefer using `authorization`.
                       type: string
                     filterExternalLabels:
                       description: |-
                         Whether to use the external labels as selectors for the remote read endpoint.
 
+
                         It requires Prometheus >= v2.34.0.
                       type: boolean
                     followRedirects:
                       description: |-
                         Configure whether HTTP requests follow HTTP 3xx redirects.
 
+
                         It requires Prometheus >= v2.26.0.
                       type: boolean
                     headers:
@@ -5695,6 +5851,7 @@ spec:
                         name is used in metrics and logging in order to differentiate read
                         configurations.
 
+
                         It requires Prometheus >= v2.15.0.
                       type: string
                     noProxy:
@@ -5703,14 +5860,17 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
                         OAuth2 configuration for the URL.
 
+
                         It requires Prometheus >= v2.27.0.
 
+
                         Cannot be set at the same time as `authorization`, or `basicAuth`.
                       properties:
                         clientId:
@@ -5731,7 +5891,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5753,7 +5915,9 @@ spec:
                                     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
@@ -5778,7 +5942,9 @@ spec:
                                 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
@@ -5800,7 +5966,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -5817,7 +5984,9 @@ spec:
                                     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
@@ -5831,17 +6000,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -5870,7 +6046,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -5892,7 +6070,9 @@ spec:
                                         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
@@ -5918,7 +6098,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -5940,7 +6122,9 @@ spec:
                                         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
@@ -5966,7 +6150,9 @@ spec:
                                     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
@@ -5979,6 +6165,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -5990,6 +6177,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -6025,7 +6213,9 @@ spec:
                                 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
@@ -6039,17 +6229,24 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     readRecent:
@@ -6087,7 +6284,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6109,7 +6308,9 @@ spec:
                                     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
@@ -6138,7 +6339,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6160,7 +6363,9 @@ spec:
                                     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
@@ -6192,7 +6397,9 @@ spec:
                                 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
@@ -6205,6 +6412,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -6216,6 +6424,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -6245,8 +6454,10 @@ spec:
                       description: |-
                         Authorization section for the URL.
 
+
                         It requires Prometheus >= v2.26.0.
 
+
                         Cannot be set at the same time as `sigv4`, `basicAuth`, `oauth2`, or `azureAd`.
                       properties:
                         credentials:
@@ -6262,7 +6473,9 @@ spec:
                                 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
@@ -6278,8 +6491,10 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
@@ -6287,8 +6502,10 @@ spec:
                       description: |-
                         AzureAD for the URL.
 
+
                         It requires Prometheus >= v2.45.0.
 
+
                         Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `sigv4`.
                       properties:
                         cloud:
@@ -6314,6 +6531,7 @@ spec:
                             OAuth defines the oauth config that is being used to authenticate.
                             Cannot be set at the same time as `managedIdentity` or `sdk`.
 
+
                             It requires Prometheus >= v2.48.0.
                           properties:
                             clientId:
@@ -6333,7 +6551,9 @@ spec:
                                     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
@@ -6358,6 +6578,7 @@ spec:
                             See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
                             Cannot be set at the same time as `oauth` or `managedIdentity`.
 
+
                             It requires Prometheus >= 2.52.0.
                           properties:
                             tenantId:
@@ -6370,6 +6591,7 @@ spec:
                       description: |-
                         BasicAuth configuration for the URL.
 
+
                         Cannot be set at the same time as `sigv4`, `authorization`, `oauth2`, or `azureAd`.
                       properties:
                         password:
@@ -6387,7 +6609,9 @@ spec:
                                 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
@@ -6411,7 +6635,9 @@ spec:
                                 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
@@ -6426,12 +6652,14 @@ spec:
                         *Warning: this field shouldn't be used because the token value appears
                         in clear-text. Prefer using `authorization`.*
 
+
                         Deprecated: this will be removed in a future release.
                       type: string
                     bearerTokenFile:
                       description: |-
                         File from which to read bearer token for the URL.
 
+
                         Deprecated: this will be removed in a future release. Prefer using `authorization`.
                       type: string
                     enableHTTP2:
@@ -6441,6 +6669,7 @@ spec:
                       description: |-
                         Configure whether HTTP requests follow HTTP 3xx redirects.
 
+
                         It requires Prometheus >= v2.26.0.
                       type: boolean
                     headers:
@@ -6450,6 +6679,7 @@ spec:
                         Custom HTTP headers to be sent along with each remote write request.
                         Be aware that headers that are set by Prometheus itself can't be overwritten.
 
+
                         It requires Prometheus >= v2.25.0.
                       type: object
                     metadataConfig:
@@ -6468,6 +6698,7 @@ spec:
                         The name of the remote write queue, it must be unique if specified. The
                         name is used in metrics and logging in order to differentiate queues.
 
+
                         It requires Prometheus >= v2.15.0.
                       type: string
                     noProxy:
@@ -6476,14 +6707,17 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
                         OAuth2 configuration for the URL.
 
+
                         It requires Prometheus >= v2.27.0.
 
+
                         Cannot be set at the same time as `sigv4`, `authorization`, `basicAuth`, or `azureAd`.
                       properties:
                         clientId:
@@ -6504,7 +6738,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6526,7 +6762,9 @@ spec:
                                     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
@@ -6551,7 +6789,9 @@ spec:
                                 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
@@ -6573,7 +6813,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -6590,7 +6831,9 @@ spec:
                                     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
@@ -6604,17 +6847,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -6643,7 +6893,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -6665,7 +6917,9 @@ spec:
                                         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
@@ -6691,7 +6945,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -6713,7 +6969,9 @@ spec:
                                         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
@@ -6739,7 +6997,9 @@ spec:
                                     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
@@ -6752,6 +7012,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -6763,6 +7024,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -6798,7 +7060,9 @@ spec:
                                 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
@@ -6812,17 +7076,24 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     queueConfig:
@@ -6861,6 +7132,7 @@ spec:
                           description: |-
                             Retry upon receiving a 429 status code from the remote-write storage.
 
+
                             This is an *experimental feature*, it may change in any upcoming release
                             in a breaking way.
                           type: boolean
@@ -6881,6 +7153,7 @@ spec:
                         exemplar-storage itself must be enabled using the `spec.enableFeature`
                         option for exemplars to be scraped in the first place.
 
+
                         It requires Prometheus >= v2.27.0.
                       type: boolean
                     sendNativeHistograms:
@@ -6888,14 +7161,17 @@ spec:
                         Enables sending of native histograms, also known as sparse histograms
                         over remote write.
 
+
                         It requires Prometheus >= v2.40.0.
                       type: boolean
                     sigv4:
                       description: |-
                         Sigv4 allows to configures AWS's Signature Verification 4 for the URL.
 
+
                         It requires Prometheus >= v2.26.0.
 
+
                         Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `azureAd`.
                       properties:
                         accessKey:
@@ -6913,7 +7189,9 @@ spec:
                                 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
@@ -6946,7 +7224,9 @@ spec:
                                 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
@@ -6975,7 +7255,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6997,7 +7279,9 @@ spec:
                                     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
@@ -7026,7 +7310,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7048,7 +7334,9 @@ spec:
                                     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
@@ -7080,7 +7368,9 @@ spec:
                                 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
@@ -7093,6 +7383,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -7104,6 +7395,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -7125,6 +7417,7 @@ spec:
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -7132,9 +7425,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -7164,6 +7459,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -7175,6 +7471,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -7196,9 +7493,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -7213,6 +7512,7 @@ spec:
                   The external label will _not_ be added when the field is set to the
                   empty string (`""`).
 
+
                   Default: "prometheus_replica"
                 type: string
               replicas:
@@ -7221,6 +7521,7 @@ spec:
                   `spec.replicas` multiplied by `spec.shards` is the total number of Pods
                   created.
 
+
                   Default: 1
                 format: int32
                 type: integer
@@ -7232,9 +7533,11 @@ spec:
                       Claims lists the names of resources, defined in spec.resourceClaims,
                       that are used by this container.
 
+
                       This is an alpha field and requires enabling the
                       DynamicResourceAllocation feature gate.
 
+
                       This field is immutable. It can only be set for containers.
                     items:
                       description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -7245,12 +7548,6 @@ spec:
                             the Pod where this field is used. It makes that resource available
                             inside a container.
                           type: string
-                        request:
-                          description: |-
-                            Request is the name chosen for a request in the referenced claim.
-                            If empty, everything from the claim is made available, otherwise
-                            only the result of this request.
-                          type: string
                       required:
                       - name
                       type: object
@@ -7287,6 +7584,7 @@ spec:
                 description: |-
                   How long to retain the Prometheus data.
 
+
                   Default: "24h" if `spec.retention` and `spec.retentionSize` are empty.
                 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
@@ -7298,6 +7596,7 @@ spec:
                 description: |-
                   The route prefix Prometheus registers HTTP handlers for.
 
+
                   This is useful when using `spec.externalURL`, and a proxy is rewriting
                   HTTP routes of a request, and the actual ExternalURL is still true, but
                   the server serves requests under a different route prefix. For example
@@ -7404,12 +7703,14 @@ spec:
                     description: |-
                       Defines the parameters of the Prometheus rules' engine.
 
+
                       Any update to these parameters trigger a restart of the pods.
                     properties:
                       forGracePeriod:
                         description: |-
                           Minimum duration between alert and restored 'for' state.
 
+
                           This is maintained only for alerts with a configured 'for' time greater
                           than the grace period.
                         type: string
@@ -7430,6 +7731,7 @@ spec:
                   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
@@ -7439,6 +7741,7 @@ spec:
                   List of scrape classes to expose to scraping objects such as
                   PodMonitors, ServiceMonitors, Probes and ScrapeConfigs.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 items:
@@ -7454,6 +7757,7 @@ spec:
                             When set to true, Prometheus attaches node metadata to the discovered
                             targets.
 
+
                             The Prometheus service account must have the `list` and `watch`
                             permissions on the `Nodes` objects.
                           type: boolean
@@ -7463,22 +7767,26 @@ spec:
                         Default indicates that the scrape applies to all scrape objects that
                         don't configure an explicit scrape class name.
 
+
                         Only one scrape class can be set as the default.
                       type: boolean
                     metricRelabelings:
                       description: |-
                         MetricRelabelings configures the relabeling rules to apply to all samples before ingestion.
 
+
                         The Operator adds the scrape class metric relabelings defined here.
                         Then the Operator adds the target-specific metric relabelings defined in ServiceMonitors, PodMonitors, Probes and ScrapeConfigs.
                         Then the Operator adds namespace enforcement relabeling rule, specified in '.spec.enforcedNamespaceLabel'.
 
+
                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
                       items:
                         description: |-
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -7486,9 +7794,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -7518,6 +7828,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -7529,6 +7840,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -7550,9 +7862,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -7565,17 +7879,20 @@ spec:
                       description: |-
                         Relabelings configures the relabeling rules to apply to all scrape targets.
 
+
                         The Operator automatically adds relabelings for a few standard Kubernetes fields
                         like `__meta_kubernetes_namespace` and `__meta_kubernetes_service_name`.
                         Then the Operator adds the scrape class relabelings defined here.
                         Then the Operator adds the target-specific relabelings defined in the scrape object.
 
+
                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                       items:
                         description: |-
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -7583,9 +7900,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -7615,6 +7934,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -7626,6 +7946,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -7647,9 +7968,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -7660,6 +7983,7 @@ spec:
                         scrape objects define their own CA, certificate and/or key, they take
                         precedence over the corresponding scrape class fields.
 
+
                         For now only the `caFile`, `certFile` and `keyFile` fields are supported.
                       properties:
                         ca:
@@ -7678,7 +8002,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7700,7 +8026,9 @@ spec:
                                     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
@@ -7729,7 +8057,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7751,7 +8081,9 @@ spec:
                                     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
@@ -7783,7 +8115,9 @@ spec:
                                 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
@@ -7796,6 +8130,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -7807,6 +8142,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -7831,6 +8167,7 @@ spec:
                   matches all namespaces. A null label selector matches the current
                   namespace only.
 
+
                   Note that the ScrapeConfig custom resource definition is currently at Alpha level.
                 properties:
                   matchExpressions:
@@ -7879,6 +8216,7 @@ spec:
                   ScrapeConfigs to be selected for target discovery. An empty label
                   selector matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -7888,6 +8226,7 @@ spec:
                   of the custom resource definition. It is recommended to use
                   `spec.additionalScrapeConfigs` instead.
 
+
                   Note that the ScrapeConfig custom resource definition is currently at Alpha level.
                 properties:
                   matchExpressions:
@@ -7936,6 +8275,7 @@ spec:
                 description: |-
                   Interval between consecutive scrapes.
 
+
                   Default: "30s"
                 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
@@ -7944,8 +8284,10 @@ spec:
                   The protocols to negotiate during a scrape. It tells clients the
                   protocols supported by Prometheus in order of preference (from most to least preferred).
 
+
                   If unset, Prometheus uses its default value.
 
+
                   It requires Prometheus >= v2.49.0.
                 items:
                   description: |-
@@ -8011,10 +8353,12 @@ spec:
                       Some volume types allow the Kubelet to change the ownership of that volume
                       to be owned by the pod:
 
+
                       1. The owning GID will be the FSGroup
                       2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                       3. The permission bits are OR'd with rw-rw----
 
+
                       If unset, the Kubelet will not modify the ownership and permissions of any volume.
                       Note that this field cannot be set when spec.os.name is windows.
                     format: int64
@@ -8097,6 +8441,7 @@ spec:
                           type indicates which kind of seccomp profile will be applied.
                           Valid options are:
 
+
                           Localhost - a profile defined in a file on the node should be used.
                           RuntimeDefault - the container runtime default profile should be used.
                           Unconfined - no profile should be applied.
@@ -8106,28 +8451,18 @@ spec:
                     type: object
                   supplementalGroups:
                     description: |-
-                      A list of groups applied to the first process run in each container, in
-                      addition to the container's primary GID and fsGroup (if specified).  If
-                      the SupplementalGroupsPolicy feature is enabled, the
-                      supplementalGroupsPolicy field determines whether these are in addition
-                      to or instead of any group memberships defined in the container image.
-                      If unspecified, no additional groups are added, though group memberships
-                      defined in the container image may still be used, depending on the
-                      supplementalGroupsPolicy field.
+                      A list of groups applied to the first process run in each container, in addition
+                      to the container's primary GID, the fsGroup (if specified), and group memberships
+                      defined in the container image for the uid of the container process. If unspecified,
+                      no additional groups are added to any container. Note that group memberships
+                      defined in the container image for the uid of the container process are still effective,
+                      even if they are not included in this list.
                       Note that this field cannot be set when spec.os.name is windows.
                     items:
                       format: int64
                       type: integer
                     type: array
                     x-kubernetes-list-type: atomic
-                  supplementalGroupsPolicy:
-                    description: |-
-                      Defines how supplemental groups of the first container processes are calculated.
-                      Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
-                      (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
-                      and the container runtime must implement support for this feature.
-                      Note that this field cannot be set when spec.os.name is windows.
-                    type: string
                   sysctls:
                     description: |-
                       Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
@@ -8190,6 +8525,7 @@ spec:
                   Defines the service discovery role used to discover targets from
                   `ServiceMonitor` objects and Alertmanager endpoints.
 
+
                   If set, the value should be either "Endpoints" or "EndpointSlice".
                   If unset, the operator assumes the "Endpoints" role.
                 enum:
@@ -8248,6 +8584,7 @@ spec:
                   ServiceMonitors to be selected for target discovery. An empty label
                   selector matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -8306,15 +8643,18 @@ spec:
                   Number of shards to distribute targets onto. `spec.replicas`
                   multiplied by `spec.shards` is the total number of Pods created.
 
+
                   Note that scaling down shards will not reshard data onto remaining
                   instances, it must be manually moved. Increasing shards will not reshard
                   data either but it will continue to be available from the same
                   instances. To query globally, use Thanos sidecar and Thanos querier or
                   remote write data to a central location.
 
+
                   Sharding is performed on the content of the `__address__` target meta-label
                   for PodMonitors and ServiceMonitors and `__param_target__` for Probes.
 
+
                   Default: 1
                 format: int32
                 type: integer
@@ -8368,6 +8708,7 @@ spec:
                           entry. Pod validation will reject the pod if the concatenated name
                           is not valid for a PVC (for example, too long).
 
+
                           An existing PVC with that name that is not owned by the pod
                           will *not* be used for the pod to avoid using an unrelated
                           volume by mistake. Starting the pod is then blocked until
@@ -8377,9 +8718,11 @@ spec:
                           this should not be necessary, but it may be useful when
                           manually reconstructing a broken cluster.
 
+
                           This field is read-only and no changes will be made by Kubernetes
                           to the PVC after it has been created.
 
+
                           Required, must not be nil.
                         properties:
                           metadata:
@@ -8574,7 +8917,7 @@ spec:
                                   set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                   exists.
                                   More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                  (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                  (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                 type: string
                               volumeMode:
                                 description: |-
@@ -8825,7 +9168,7 @@ spec:
                               set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                               exists.
                               More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                              (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                              (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                             type: string
                           volumeMode:
                             description: |-
@@ -8854,7 +9197,7 @@ spec:
                                 that it does not recognizes, then it should ignore that update and let other controllers
                                 handle it.
                               type: string
-                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                             x-kubernetes-map-type: granular
                           allocatedResources:
@@ -8864,7 +9207,7 @@ spec:
                               - type: string
                               pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                               x-kubernetes-int-or-string: true
-                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                           capacity:
                             additionalProperties:
@@ -8902,16 +9245,7 @@ spec:
                                 status:
                                   type: string
                                 type:
-                                  description: |-
-                                    PersistentVolumeClaimConditionType defines the condition of PV claim.
-                                    Valid values are:
-                                      - "Resizing", "FileSystemResizePending"
-
-                                    If RecoverVolumeExpansionFailure feature gate is enabled, then following additional values can be expected:
-                                      - "ControllerResizeError", "NodeResizeError"
-
-                                    If VolumeAttributesClass feature gate is enabled, then following additional values can be expected:
-                                      - "ModifyVolumeError", "ModifyingVolume"
+                                  description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
                                   type: string
                               required:
                               - status
@@ -8925,13 +9259,13 @@ spec:
                             description: |-
                               currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
                               When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             type: string
                           modifyVolumeStatus:
                             description: |-
                               ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
                               When this is unset, there is no ModifyVolume operation being attempted.
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             properties:
                               status:
                                 description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n   Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n   the specified VolumeAttributesClass not existing.\n - InProgress\n   InProgress indicates that the volume is being modified.\n - Infeasible\n  Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t  resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately."
@@ -8956,6 +9290,7 @@ spec:
                   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
@@ -8994,6 +9329,7 @@ spec:
                       BlockDuration controls the size of TSDB blocks produced by Prometheus.
                       The default value 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
@@ -9014,12 +9350,14 @@ spec:
                       When true, the Thanos sidecar listens on the loopback interface instead
                       of the Pod IP's address for the gRPC endpoints.
 
+
                       It has no effect if `listenLocal` is true.
                     type: boolean
                   grpcServerTlsConfig:
                     description: |-
                       Configures the TLS parameters for the gRPC server providing the StoreAPI.
 
+
                       Note: Currently only the `caFile`, `certFile`, and `keyFile` fields are supported.
                     properties:
                       ca:
@@ -9038,7 +9376,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -9060,7 +9400,9 @@ spec:
                                   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
@@ -9089,7 +9431,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -9111,7 +9455,9 @@ spec:
                                   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
@@ -9143,7 +9489,9 @@ spec:
                               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
@@ -9156,6 +9504,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -9167,6 +9516,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -9183,6 +9533,7 @@ spec:
                       When true, the Thanos sidecar listens on the loopback interface instead
                       of the Pod IP's address for the HTTP endpoints.
 
+
                       It has no effect if `listenLocal` is true.
                     type: boolean
                   image:
@@ -9191,9 +9542,11 @@ spec:
                       the `spec.thanos.baseImage`, `spec.thanos.tag` and `spec.thanos.sha`
                       fields.
 
+
                       Specifying `spec.thanos.version` is still necessary to ensure the
                       Prometheus Operator knows which version of Thanos is being configured.
 
+
                       If neither `spec.thanos.image` nor `spec.thanos.baseImage` are defined,
                       the operator will use the latest upstream version of Thanos available at
                       the time when the operator was released.
@@ -9228,8 +9581,10 @@ spec:
                     description: |-
                       Defines the Thanos sidecar's configuration to upload TSDB blocks to object storage.
 
+
                       More info: https://thanos.io/tip/thanos/storage.md/
 
+
                       objectStorageConfigFile takes precedence over this field.
                     properties:
                       key:
@@ -9242,7 +9597,9 @@ spec:
                           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
@@ -9255,8 +9612,10 @@ spec:
                     description: |-
                       Defines the Thanos sidecar's configuration file to upload TSDB blocks to object storage.
 
+
                       More info: https://thanos.io/tip/thanos/storage.md/
 
+
                       This field takes precedence over objectStorageConfig.
                     type: string
                   readyTimeout:
@@ -9273,9 +9632,11 @@ spec:
                           Claims lists the names of resources, defined in spec.resourceClaims,
                           that are used by this container.
 
+
                           This is an alpha field and requires enabling the
                           DynamicResourceAllocation feature gate.
 
+
                           This field is immutable. It can only be set for containers.
                         items:
                           description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -9286,12 +9647,6 @@ spec:
                                 the Pod where this field is used. It makes that resource available
                                 inside a container.
                               type: string
-                            request:
-                              description: |-
-                                Request is the name chosen for a request in the referenced claim.
-                                If empty, everything from the claim is made available, otherwise
-                                only the result of this request.
-                              type: string
                           required:
                           - name
                           type: object
@@ -9334,10 +9689,13 @@ spec:
                     description: |-
                       Defines the tracing configuration for the Thanos sidecar.
 
+
                       `tracingConfigFile` takes precedence over this field.
 
+
                       More info: https://thanos.io/tip/thanos/tracing.md/
 
+
                       This is an *experimental feature*, it may change in any upcoming release
                       in a breaking way.
                     properties:
@@ -9351,7 +9709,9 @@ spec:
                           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
@@ -9364,10 +9724,13 @@ spec:
                     description: |-
                       Defines the tracing configuration file for the Thanos sidecar.
 
+
                       This field takes precedence over `tracingConfig`.
 
+
                       More info: https://thanos.io/tip/thanos/tracing.md/
 
+
                       This is an *experimental feature*, it may change in any upcoming release
                       in a breaking way.
                     type: string
@@ -9376,6 +9739,7 @@ spec:
                       Version of Thanos being deployed. The operator uses this information
                       to generate the Prometheus StatefulSet + configuration files.
 
+
                       If not specified, the operator assumes the latest upstream release of
                       Thanos available at the time when the version of the operator was
                       released.
@@ -9415,8 +9779,10 @@ spec:
                             RecursiveReadOnly specifies whether read-only mounts should be handled
                             recursively.
 
+
                             If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                             If ReadOnly is true, and this field is set to Disabled, the mount is not made
                             recursively read-only.  If this field is set to IfPossible, the mount is made
                             recursively read-only, if it is supported by the container runtime.  If this
@@ -9424,9 +9790,11 @@ spec:
                             supported by the container runtime, otherwise the pod will not be started and
                             an error will be generated to indicate the reason.
 
+
                             If this field is set to IfPossible or Enabled, MountPropagation must be set to
                             None (or be unspecified, which defaults to None).
 
+
                             If this field is not specified, it is treated as an equivalent of Disabled.
                           type: string
                         subPath:
@@ -9554,6 +9922,7 @@ spec:
                         Keys that don't exist in the incoming pod labels will
                         be ignored. A null or empty list means only match against labelSelector.
 
+
                         This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                       items:
                         type: string
@@ -9593,6 +9962,7 @@ spec:
                         Valid values are integers greater than 0.
                         When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
 
+
                         For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                         labelSelector spread as 2/2/2:
                         | zone1 | zone2 | zone3 |
@@ -9610,6 +9980,7 @@ spec:
                         - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                         - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
 
+
                         If this value is nil, the behavior is equivalent to the Honor policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -9621,6 +9992,7 @@ spec:
                         has a toleration, are included.
                         - Ignore: node taints are ignored. All nodes are included.
 
+
                         If this value is nil, the behavior is equivalent to the Ignore policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -9668,6 +10040,7 @@ spec:
                 description: |-
                   TracingConfig configures tracing in Prometheus.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 properties:
@@ -9724,7 +10097,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -9746,7 +10121,9 @@ spec:
                                   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
@@ -9775,7 +10152,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -9797,7 +10176,9 @@ spec:
                                   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
@@ -9829,7 +10210,9 @@ spec:
                               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
@@ -9842,6 +10225,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -9853,6 +10237,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -9869,21 +10254,24 @@ spec:
                 type: object
               tsdb:
                 description: |-
-                  Defines the runtime reloadable configuration of the timeseries database(TSDB).
-                  It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0.
+                  Defines the runtime reloadable configuration of the timeseries database
+                  (TSDB).
                 properties:
                   outOfOrderTimeWindow:
                     description: |-
                       Configures how old an out-of-order/out-of-bounds sample can be with
                       respect to the TSDB max time.
 
+
                       An out-of-order/out-of-bounds sample is ingested into the TSDB as long as
                       the timestamp of the sample is >= (TSDB.MaxTime - outOfOrderTimeWindow).
 
+
                       This is an *experimental feature*, it may change in any upcoming release
                       in a breaking way.
 
-                      It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0.
+
+                      It requires Prometheus >= v2.39.0.
                     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
                 type: object
@@ -9892,6 +10280,7 @@ spec:
                   Version of Prometheus being deployed. The operator uses this information
                   to generate the Prometheus StatefulSet + configuration files.
 
+
                   If not specified, the operator assumes the latest upstream version of
                   Prometheus available at the time when the version of the operator was
                   released.
@@ -9900,6 +10289,7 @@ spec:
                 description: |-
                   VolumeMounts allows the configuration of additional VolumeMounts.
 
+
                   VolumeMounts will be appended to other VolumeMounts in the 'prometheus'
                   container, that are generated as a result of StorageSpec objects.
                 items:
@@ -9932,8 +10322,10 @@ spec:
                         RecursiveReadOnly specifies whether read-only mounts should be handled
                         recursively.
 
+
                         If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                         If ReadOnly is true, and this field is set to Disabled, the mount is not made
                         recursively read-only.  If this field is set to IfPossible, the mount is made
                         recursively read-only, if it is supported by the container runtime.  If this
@@ -9941,9 +10333,11 @@ spec:
                         supported by the container runtime, otherwise the pod will not be started and
                         an error will be generated to indicate the reason.
 
+
                         If this field is set to IfPossible or Enabled, MountPropagation must be set to
                         None (or be unspecified, which defaults to None).
 
+
                         If this field is not specified, it is treated as an equivalent of Disabled.
                       type: string
                     subPath:
@@ -9983,6 +10377,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -10018,7 +10413,6 @@ spec:
                           description: diskURI is the URI of data disk in the blob storage
                           type: string
                         fsType:
-                          default: ext4
                           description: |-
                             fsType is Filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -10028,7 +10422,6 @@ spec:
                           description: 'kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob disk per storage account  Managed: azure managed data disk (only in managed availability set). defaults to shared'
                           type: string
                         readOnly:
-                          default: false
                           description: |-
                             readOnly Defaults to false (read/write). ReadOnly here will force
                             the ReadOnly setting in VolumeMounts.
@@ -10092,7 +10485,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -10134,7 +10529,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -10205,7 +10602,9 @@ spec:
                             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: optional specify whether the ConfigMap or its keys must be defined
@@ -10241,7 +10640,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -10366,6 +10767,7 @@ spec:
                         The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
                         and deleted when the pod is removed.
 
+
                         Use this if:
                         a) the volume is only needed while the pod runs,
                         b) features of normal volumes like restoring from snapshot or capacity
@@ -10376,14 +10778,17 @@ spec:
                            information on the connection between this volume type
                            and PersistentVolumeClaim).
 
+
                         Use PersistentVolumeClaim or one of the vendor-specific
                         APIs for volumes that persist for longer than the lifecycle
                         of an individual pod.
 
+
                         Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
                         be used that way - see the documentation of the driver for
                         more information.
 
+
                         A pod can use both types of ephemeral volumes and
                         persistent volumes at the same time.
                       properties:
@@ -10397,6 +10802,7 @@ spec:
                             entry. Pod validation will reject the pod if the concatenated name
                             is not valid for a PVC (for example, too long).
 
+
                             An existing PVC with that name that is not owned by the pod
                             will *not* be used for the pod to avoid using an unrelated
                             volume by mistake. Starting the pod is then blocked until
@@ -10406,9 +10812,11 @@ spec:
                             this should not be necessary, but it may be useful when
                             manually reconstructing a broken cluster.
 
+
                             This field is read-only and no changes will be made by Kubernetes
                             to the PVC after it has been created.
 
+
                             Required, must not be nil.
                           properties:
                             metadata:
@@ -10603,7 +11011,7 @@ spec:
                                     set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                     exists.
                                     More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                    (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                    (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                   type: string
                                 volumeMode:
                                   description: |-
@@ -10626,6 +11034,7 @@ spec:
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
                             Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         lun:
                           description: 'lun is Optional: FC target lun number'
@@ -10690,7 +11099,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -10721,6 +11132,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -10800,6 +11212,9 @@ spec:
                         used for system agents or other privileged things that are allowed
                         to see the host machine. Most containers will NOT need this.
                         More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+                        ---
+                        TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+                        mount host directories as read/write.
                       properties:
                         path:
                           description: |-
@@ -10816,41 +11231,6 @@ spec:
                       required:
                       - path
                       type: object
-                    image:
-                      description: |-
-                        image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
-                        The volume is resolved at pod startup depending on which PullPolicy value is provided:
-
-                        - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                        - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                        - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-
-                        The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
-                        A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
-                        The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
-                        The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
-                        The volume will be mounted read-only (ro) and non-executable files (noexec).
-                        Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath).
-                        The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
-                      properties:
-                        pullPolicy:
-                          description: |-
-                            Policy for pulling OCI objects. Possible values are:
-                            Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                            Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                            IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-                            Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                          type: string
-                        reference:
-                          description: |-
-                            Required: Image or artifact reference to be used.
-                            Behaves in the same way as pod.spec.containers[*].image.
-                            Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
-                            More info: https://kubernetes.io/docs/concepts/containers/images
-                            This field is optional to allow higher level config management to default or override
-                            container images in workload controllers like Deployments and StatefulSets.
-                          type: string
-                      type: object
                     iscsi:
                       description: |-
                         iscsi represents an ISCSI Disk resource that is attached to a
@@ -10869,6 +11249,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         initiatorName:
                           description: |-
@@ -10880,7 +11261,6 @@ spec:
                           description: iqn is the target iSCSI Qualified Name.
                           type: string
                         iscsiInterface:
-                          default: default
                           description: |-
                             iscsiInterface is the interface Name that uses an iSCSI transport.
                             Defaults to 'default' (tcp).
@@ -10912,7 +11292,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -11025,24 +11407,23 @@ spec:
                           format: int32
                           type: integer
                         sources:
-                          description: |-
-                            sources is the list of volume projections. Each entry in this list
-                            handles one source.
+                          description: sources is the list of volume projections
                           items:
-                            description: |-
-                              Projection that may be projected along with other supported volume types.
-                              Exactly one of these fields must be set.
+                            description: Projection that may be projected along with other supported volume types
                             properties:
                               clusterTrustBundle:
                                 description: |-
                                   ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
                                   of ClusterTrustBundle objects in an auto-updating file.
 
+
                                   Alpha, gated by the ClusterTrustBundleProjection feature gate.
 
+
                                   ClusterTrustBundle objects can either be selected by name, or by the
                                   combination of signer name and a label selector.
 
+
                                   Kubelet performs aggressive normalization of the PEM contents written
                                   into the pod filesystem.  Esoteric PEM features such as inter-block
                                   comments and block headers are stripped.  Certificates are deduplicated.
@@ -11170,7 +11551,9 @@ spec:
                                       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: optional specify whether the ConfigMap or its keys must be defined
@@ -11287,7 +11670,9 @@ spec:
                                       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: optional field specify whether the Secret or its key must be defined
@@ -11373,6 +11758,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         image:
                           description: |-
@@ -11380,7 +11766,6 @@ spec:
                             More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
                           type: string
                         keyring:
-                          default: /etc/ceph/keyring
                           description: |-
                             keyring is the path to key ring for RBDUser.
                             Default is /etc/ceph/keyring.
@@ -11395,7 +11780,6 @@ spec:
                           type: array
                           x-kubernetes-list-type: atomic
                         pool:
-                          default: rbd
                           description: |-
                             pool is the rados pool name.
                             Default is rbd.
@@ -11421,12 +11805,13 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
                         user:
-                          default: admin
                           description: |-
                             user is the rados user name.
                             Default is admin.
@@ -11440,7 +11825,6 @@ spec:
                       description: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
                       properties:
                         fsType:
-                          default: xfs
                           description: |-
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -11470,7 +11854,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -11478,7 +11864,6 @@ spec:
                           description: sslEnabled Flag enable/disable SSL communication with Gateway, default false
                           type: boolean
                         storageMode:
-                          default: ThinProvisioned
                           description: |-
                             storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
                             Default is ThinProvisioned.
@@ -11588,7 +11973,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -11636,8 +12023,10 @@ spec:
                 description: |-
                   Configures compression of the write-ahead log (WAL) using Snappy.
 
+
                   WAL compression is enabled by default for Prometheus >= 2.20.0
 
+
                   Requires Prometheus v2.11.0 and above.
                 type: boolean
               web:
@@ -11725,7 +12114,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -11747,7 +12138,9 @@ spec:
                                   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
@@ -11781,7 +12174,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -11803,7 +12198,9 @@ spec:
                                   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
@@ -11840,7 +12237,9 @@ spec:
                               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
diff --git a/manifests/setup/0prometheusagentCustomResourceDefinition.yaml b/manifests/setup/0prometheusagentCustomResourceDefinition.yaml
index 079b159a3c46ea09706b385095ceea939d9a1da8..b8336addf2e6713bf584a144f32ed837f9aa38de 100644
--- a/manifests/setup/0prometheusagentCustomResourceDefinition.yaml
+++ b/manifests/setup/0prometheusagentCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: prometheusagents.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -51,6 +51,7 @@ spec:
         description: |-
           The `PrometheusAgent` custom resource definition (CRD) defines a desired [Prometheus Agent](https://prometheus.io/blog/2021/11/16/agent/) setup to run in a Kubernetes cluster.
 
+
           The CRD is very similar to the `Prometheus` CRD except for features which aren't available in agent mode like rule evaluation, persistent storage and Thanos sidecar.
         properties:
           apiVersion:
@@ -79,11 +80,13 @@ spec:
                 description: |-
                   AdditionalArgs allows setting additional arguments for the 'prometheus' container.
 
+
                   It is intended for e.g. activating hidden flags which are not supported by
                   the dedicated configuration options yet. The arguments are passed as-is to the
                   Prometheus container which may cause issues if they are invalid or not supported
                   by the given Prometheus version.
 
+
                   In case of an argument conflict (e.g. an argument which is already set by the
                   operator itself) or when providing an invalid argument, the reconciliation will
                   fail and an error will be logged.
@@ -125,7 +128,9 @@ spec:
                       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
@@ -400,7 +405,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -415,7 +420,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -576,7 +581,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -591,7 +596,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -745,7 +750,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -760,7 +765,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -921,7 +926,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -936,7 +941,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -1027,6 +1032,7 @@ spec:
                     description: |-
                       Authorization section for the API server.
 
+
                       Cannot be set at the same time as `basicAuth`, `bearerToken`, or
                       `bearerTokenFile`.
                     properties:
@@ -1043,7 +1049,9 @@ spec:
                               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
@@ -1059,8 +1067,10 @@ spec:
                         description: |-
                           Defines the authentication type. The value is case-insensitive.
 
+
                           "Basic" is not a supported value.
 
+
                           Default: "Bearer"
                         type: string
                     type: object
@@ -1068,6 +1078,7 @@ spec:
                     description: |-
                       BasicAuth configuration for the API server.
 
+
                       Cannot be set at the same time as `authorization`, `bearerToken`, or
                       `bearerTokenFile`.
                     properties:
@@ -1086,7 +1097,9 @@ spec:
                               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
@@ -1110,7 +1123,9 @@ spec:
                               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
@@ -1125,14 +1140,17 @@ spec:
                       *Warning: this field shouldn't be used because the token value appears
                       in clear-text. Prefer using `authorization`.*
 
+
                       Deprecated: this will be removed in a future release.
                     type: string
                   bearerTokenFile:
                     description: |-
                       File to read bearer token for accessing apiserver.
 
+
                       Cannot be set at the same time as `basicAuth`, `authorization`, or `bearerToken`.
 
+
                       Deprecated: this will be removed in a future release. Prefer using `authorization`.
                     type: string
                   host:
@@ -1159,7 +1177,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -1181,7 +1201,9 @@ spec:
                                   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
@@ -1210,7 +1232,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -1232,7 +1256,9 @@ spec:
                                   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
@@ -1264,7 +1290,9 @@ spec:
                               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
@@ -1277,6 +1305,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -1288,6 +1317,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -1323,6 +1353,7 @@ spec:
                   AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in the pod.
                   If the field isn't set, the operator mounts the service account token by default.
 
+
                   **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery.
                   It is possible to use strategic merge patch to project the service account token into the 'prometheus' container.
                 type: boolean
@@ -1331,6 +1362,7 @@ spec:
                   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)$
@@ -1353,11 +1385,13 @@ spec:
                   container if they share the same name and modifications are done via a
                   strategic merge patch.
 
+
                   The names of containers managed by the operator are:
                   * `prometheus`
                   * `config-reloader`
                   * `thanos-sidecar`
 
+
                   Overriding 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.
@@ -1430,7 +1464,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -1489,7 +1525,9 @@ spec:
                                       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
@@ -1527,7 +1565,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -1547,7 +1587,9 @@ spec:
                                   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 must be defined
@@ -1821,11 +1863,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2027,11 +2069,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2174,9 +2216,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -2187,12 +2231,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -2314,7 +2352,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -2392,6 +2430,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -2470,11 +2509,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2679,8 +2718,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -2688,9 +2729,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -2728,10 +2771,12 @@ spec:
                 description: |-
                   Enable access to Prometheus feature flags. By default, no features are enabled.
 
+
                   Enabling features which are disabled by default 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.
 
+
                   For more information see https://prometheus.io/docs/prometheus/latest/feature_flags/
                 items:
                   minLength: 1
@@ -2743,12 +2788,14 @@ spec:
                   Enable Prometheus to be used as a receiver for the Prometheus remote
                   write protocol.
 
+
                   WARNING: This is not considered an efficient way of ingesting samples.
                   Use it with caution for specific low-volume use cases.
                   It is not suitable for replacing the ingestion via scraping and turning
                   Prometheus into a push-based metrics collection system.
                   For more information see https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver
 
+
                   It requires Prometheus >= v2.33.0.
                 type: boolean
               enforcedBodySizeLimit:
@@ -2758,8 +2805,10 @@ spec:
                   Targets responding with a body larger than this many bytes will cause
                   the scrape to fail.
 
+
                   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`.
@@ -2775,8 +2824,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.keepDroppedTargets` is
                   greater than zero and less than `spec.enforcedKeepDroppedTargets`.
 
+
                   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`.
@@ -2791,8 +2842,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.labelLimit` is
                   greater than zero and less than `spec.enforcedLabelLimit`.
 
+
                   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`.
@@ -2807,8 +2860,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.labelNameLengthLimit` is
                   greater than zero and less than `spec.enforcedLabelNameLengthLimit`.
 
+
                   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`.
@@ -2823,8 +2878,10 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.labelValueLengthLimit` is
                   greater than zero and less than `spec.enforcedLabelValueLengthLimit`.
 
+
                   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`.
@@ -2836,13 +2893,16 @@ spec:
                 description: |-
                   When not empty, a label will be added to:
 
+
                   1. All metrics scraped from `ServiceMonitor`, `PodMonitor`, `Probe` and `ScrapeConfig` objects.
                   2. All metrics generated from recording rules defined in `PrometheusRule` objects.
                   3. All alerts generated from alerting rules defined in `PrometheusRule` objects.
                   4. All vector selectors of PromQL expressions defined in `PrometheusRule` objects.
 
+
                   The label will not added for objects referenced in `spec.excludedFromEnforcement`.
 
+
                   The label's name is this field's value.
                   The label's value is the namespace of the `ServiceMonitor`,
                   `PodMonitor`, `Probe`, `PrometheusRule` or `ScrapeConfig` object.
@@ -2855,9 +2915,11 @@ spec:
                   unless `spec.sampleLimit` is greater than zero and less than
                   `spec.enforcedSampleLimit`.
 
+
                   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`.
@@ -2872,9 +2934,11 @@ spec:
                   ServiceMonitor, PodMonitor, Probe objects unless `spec.targetLimit` is
                   greater than zero and less than `spec.enforcedTargetLimit`.
 
+
                   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`.
@@ -2887,6 +2951,7 @@ spec:
                   List of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects
                   to be excluded from enforcing a namespace label of origin.
 
+
                   It is only applicable if `spec.enforcedNamespaceLabel` set to true.
                 items:
                   description: ObjectReference references a PodMonitor, ServiceMonitor, Probe or PrometheusRule object.
@@ -2964,9 +3029,11 @@ spec:
                 description: |-
                   Use the host's network namespace if true.
 
+
                   Make sure to understand the security implications if you want to enable
                   it (https://kubernetes.io/docs/concepts/configuration/overview/).
 
+
                   When hostNetwork is enabled, this will set the DNS policy to
                   `ClusterFirstWithHostNet` automatically.
                 type: boolean
@@ -2982,9 +3049,11 @@ spec:
                   Container image name for Prometheus. If specified, it takes precedence
                   over the `spec.baseImage`, `spec.tag` and `spec.sha` fields.
 
+
                   Specifying `spec.version` is still necessary to ensure the Prometheus
                   Operator knows which version of Prometheus is being configured.
 
+
                   If neither `spec.image` nor `spec.baseImage` are defined, the operator
                   will use the latest upstream version of Prometheus available at the time
                   when the operator was released.
@@ -3016,7 +3085,9 @@ spec:
                         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
                   type: object
                   x-kubernetes-map-type: atomic
@@ -3032,9 +3103,11 @@ spec:
                   containers if they share the same name and modifications are done via a
                   strategic merge patch.
 
+
                   The names of init container name managed by the operator are:
                   * `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.
@@ -3107,7 +3180,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -3166,7 +3241,9 @@ spec:
                                       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
@@ -3204,7 +3281,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -3224,7 +3303,9 @@ spec:
                                   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 must be defined
@@ -3498,11 +3579,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -3704,11 +3785,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -3851,9 +3932,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -3864,12 +3947,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -3991,7 +4068,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -4069,6 +4146,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -4147,11 +4225,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4356,8 +4434,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -4365,9 +4445,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -4406,8 +4488,10 @@ spec:
                   Per-scrape limit on the number of targets dropped by relabeling
                   that will be kept in memory. 0 means no limit.
 
+
                   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
@@ -4417,6 +4501,7 @@ spec:
                   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
@@ -4426,6 +4511,7 @@ spec:
                   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
@@ -4435,6 +4521,7 @@ spec:
                   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
@@ -4473,6 +4560,7 @@ spec:
                   without any of its container crashing for it to be considered available.
                   Defaults to 0 (pod will be considered available as soon as it is ready)
 
+
                   This is an alpha field from kubernetes 1.22 until 1.24 which requires
                   enabling the StatefulSetMinReadySeconds feature gate.
                 format: int32
@@ -4482,6 +4570,7 @@ spec:
                   Mode defines how the Prometheus operator deploys the PrometheusAgent pod(s).
                   For now this field has no effect.
 
+
                   (Alpha) Using this field requires the `PrometheusAgentDaemonSet` feature gate to be enabled.
                 enum:
                 - StatefulSet
@@ -4492,20 +4581,6 @@ spec:
                   type: string
                 description: Defines on which Nodes the Pods are scheduled.
                 type: object
-              otlp:
-                description: |-
-                  Settings related to the OTLP receiver feature.
-                  It requires Prometheus >= v2.54.0.
-                properties:
-                  promoteResourceAttributes:
-                    description: List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none.
-                    items:
-                      minLength: 1
-                      type: string
-                    minItems: 1
-                    type: array
-                    x-kubernetes-list-type: set
-                type: object
               overrideHonorLabels:
                 description: |-
                   When true, Prometheus resolves label conflicts by renaming the labels in the scraped data
@@ -4552,6 +4627,7 @@ spec:
                 description: |-
                   PodMetadata configures labels and annotations which are propagated to the Prometheus pods.
 
+
                   The following items are reserved and cannot be overridden:
                   * "prometheus" label, set to the name of the Prometheus object.
                   * "app.kubernetes.io/instance" label, set to the name of the Prometheus object.
@@ -4642,6 +4718,7 @@ spec:
                   PodMonitors to be selected for target discovery. An empty label selector
                   matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -4760,6 +4837,7 @@ spec:
                   Probes to be selected for target discovery. An empty label selector
                   matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -4816,6 +4894,7 @@ spec:
                   name. The external label will _not_ be added when the field is set to
                   the empty string (`""`).
 
+
                   Default: "prometheus"
                 type: string
               reloadStrategy:
@@ -4837,8 +4916,10 @@ spec:
                       description: |-
                         Authorization section for the URL.
 
+
                         It requires Prometheus >= v2.26.0.
 
+
                         Cannot be set at the same time as `sigv4`, `basicAuth`, `oauth2`, or `azureAd`.
                       properties:
                         credentials:
@@ -4854,7 +4935,9 @@ spec:
                                 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
@@ -4870,8 +4953,10 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
@@ -4879,8 +4964,10 @@ spec:
                       description: |-
                         AzureAD for the URL.
 
+
                         It requires Prometheus >= v2.45.0.
 
+
                         Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `sigv4`.
                       properties:
                         cloud:
@@ -4906,6 +4993,7 @@ spec:
                             OAuth defines the oauth config that is being used to authenticate.
                             Cannot be set at the same time as `managedIdentity` or `sdk`.
 
+
                             It requires Prometheus >= v2.48.0.
                           properties:
                             clientId:
@@ -4925,7 +5013,9 @@ spec:
                                     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
@@ -4950,6 +5040,7 @@ spec:
                             See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
                             Cannot be set at the same time as `oauth` or `managedIdentity`.
 
+
                             It requires Prometheus >= 2.52.0.
                           properties:
                             tenantId:
@@ -4962,6 +5053,7 @@ spec:
                       description: |-
                         BasicAuth configuration for the URL.
 
+
                         Cannot be set at the same time as `sigv4`, `authorization`, `oauth2`, or `azureAd`.
                       properties:
                         password:
@@ -4979,7 +5071,9 @@ spec:
                                 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
@@ -5003,7 +5097,9 @@ spec:
                                 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
@@ -5018,12 +5114,14 @@ spec:
                         *Warning: this field shouldn't be used because the token value appears
                         in clear-text. Prefer using `authorization`.*
 
+
                         Deprecated: this will be removed in a future release.
                       type: string
                     bearerTokenFile:
                       description: |-
                         File from which to read bearer token for the URL.
 
+
                         Deprecated: this will be removed in a future release. Prefer using `authorization`.
                       type: string
                     enableHTTP2:
@@ -5033,6 +5131,7 @@ spec:
                       description: |-
                         Configure whether HTTP requests follow HTTP 3xx redirects.
 
+
                         It requires Prometheus >= v2.26.0.
                       type: boolean
                     headers:
@@ -5042,6 +5141,7 @@ spec:
                         Custom HTTP headers to be sent along with each remote write request.
                         Be aware that headers that are set by Prometheus itself can't be overwritten.
 
+
                         It requires Prometheus >= v2.25.0.
                       type: object
                     metadataConfig:
@@ -5060,6 +5160,7 @@ spec:
                         The name of the remote write queue, it must be unique if specified. The
                         name is used in metrics and logging in order to differentiate queues.
 
+
                         It requires Prometheus >= v2.15.0.
                       type: string
                     noProxy:
@@ -5068,14 +5169,17 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
                         OAuth2 configuration for the URL.
 
+
                         It requires Prometheus >= v2.27.0.
 
+
                         Cannot be set at the same time as `sigv4`, `authorization`, `basicAuth`, or `azureAd`.
                       properties:
                         clientId:
@@ -5096,7 +5200,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5118,7 +5224,9 @@ spec:
                                     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
@@ -5143,7 +5251,9 @@ spec:
                                 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
@@ -5165,7 +5275,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -5182,7 +5293,9 @@ spec:
                                     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
@@ -5196,17 +5309,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -5235,7 +5355,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -5257,7 +5379,9 @@ spec:
                                         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
@@ -5283,7 +5407,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -5305,7 +5431,9 @@ spec:
                                         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
@@ -5331,7 +5459,9 @@ spec:
                                     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
@@ -5344,6 +5474,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -5355,6 +5486,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -5390,7 +5522,9 @@ spec:
                                 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
@@ -5404,17 +5538,24 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     queueConfig:
@@ -5453,6 +5594,7 @@ spec:
                           description: |-
                             Retry upon receiving a 429 status code from the remote-write storage.
 
+
                             This is an *experimental feature*, it may change in any upcoming release
                             in a breaking way.
                           type: boolean
@@ -5473,6 +5615,7 @@ spec:
                         exemplar-storage itself must be enabled using the `spec.enableFeature`
                         option for exemplars to be scraped in the first place.
 
+
                         It requires Prometheus >= v2.27.0.
                       type: boolean
                     sendNativeHistograms:
@@ -5480,14 +5623,17 @@ spec:
                         Enables sending of native histograms, also known as sparse histograms
                         over remote write.
 
+
                         It requires Prometheus >= v2.40.0.
                       type: boolean
                     sigv4:
                       description: |-
                         Sigv4 allows to configures AWS's Signature Verification 4 for the URL.
 
+
                         It requires Prometheus >= v2.26.0.
 
+
                         Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `azureAd`.
                       properties:
                         accessKey:
@@ -5505,7 +5651,9 @@ spec:
                                 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
@@ -5538,7 +5686,9 @@ spec:
                                 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
@@ -5567,7 +5717,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5589,7 +5741,9 @@ spec:
                                     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
@@ -5618,7 +5772,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5640,7 +5796,9 @@ spec:
                                     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
@@ -5672,7 +5830,9 @@ spec:
                                 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
@@ -5685,6 +5845,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -5696,6 +5857,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -5717,6 +5879,7 @@ spec:
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -5724,9 +5887,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -5756,6 +5921,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -5767,6 +5933,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -5788,9 +5955,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -5805,6 +5974,7 @@ spec:
                   The external label will _not_ be added when the field is set to the
                   empty string (`""`).
 
+
                   Default: "prometheus_replica"
                 type: string
               replicas:
@@ -5813,6 +5983,7 @@ spec:
                   `spec.replicas` multiplied by `spec.shards` is the total number of Pods
                   created.
 
+
                   Default: 1
                 format: int32
                 type: integer
@@ -5824,9 +5995,11 @@ spec:
                       Claims lists the names of resources, defined in spec.resourceClaims,
                       that are used by this container.
 
+
                       This is an alpha field and requires enabling the
                       DynamicResourceAllocation feature gate.
 
+
                       This field is immutable. It can only be set for containers.
                     items:
                       description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -5837,12 +6010,6 @@ spec:
                             the Pod where this field is used. It makes that resource available
                             inside a container.
                           type: string
-                        request:
-                          description: |-
-                            Request is the name chosen for a request in the referenced claim.
-                            If empty, everything from the claim is made available, otherwise
-                            only the result of this request.
-                          type: string
                       required:
                       - name
                       type: object
@@ -5879,6 +6046,7 @@ spec:
                 description: |-
                   The route prefix Prometheus registers HTTP handlers for.
 
+
                   This is useful when using `spec.externalURL`, and a proxy is rewriting
                   HTTP routes of a request, and the actual ExternalURL is still true, but
                   the server serves requests under a different route prefix. For example
@@ -5889,6 +6057,7 @@ spec:
                   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
@@ -5898,6 +6067,7 @@ spec:
                   List of scrape classes to expose to scraping objects such as
                   PodMonitors, ServiceMonitors, Probes and ScrapeConfigs.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 items:
@@ -5913,6 +6083,7 @@ spec:
                             When set to true, Prometheus attaches node metadata to the discovered
                             targets.
 
+
                             The Prometheus service account must have the `list` and `watch`
                             permissions on the `Nodes` objects.
                           type: boolean
@@ -5922,22 +6093,26 @@ spec:
                         Default indicates that the scrape applies to all scrape objects that
                         don't configure an explicit scrape class name.
 
+
                         Only one scrape class can be set as the default.
                       type: boolean
                     metricRelabelings:
                       description: |-
                         MetricRelabelings configures the relabeling rules to apply to all samples before ingestion.
 
+
                         The Operator adds the scrape class metric relabelings defined here.
                         Then the Operator adds the target-specific metric relabelings defined in ServiceMonitors, PodMonitors, Probes and ScrapeConfigs.
                         Then the Operator adds namespace enforcement relabeling rule, specified in '.spec.enforcedNamespaceLabel'.
 
+
                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
                       items:
                         description: |-
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -5945,9 +6120,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -5977,6 +6154,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -5988,6 +6166,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -6009,9 +6188,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -6024,17 +6205,20 @@ spec:
                       description: |-
                         Relabelings configures the relabeling rules to apply to all scrape targets.
 
+
                         The Operator automatically adds relabelings for a few standard Kubernetes fields
                         like `__meta_kubernetes_namespace` and `__meta_kubernetes_service_name`.
                         Then the Operator adds the scrape class relabelings defined here.
                         Then the Operator adds the target-specific relabelings defined in the scrape object.
 
+
                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                       items:
                         description: |-
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -6042,9 +6226,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -6074,6 +6260,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -6085,6 +6272,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -6106,9 +6294,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -6119,6 +6309,7 @@ spec:
                         scrape objects define their own CA, certificate and/or key, they take
                         precedence over the corresponding scrape class fields.
 
+
                         For now only the `caFile`, `certFile` and `keyFile` fields are supported.
                       properties:
                         ca:
@@ -6137,7 +6328,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6159,7 +6352,9 @@ spec:
                                     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
@@ -6188,7 +6383,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6210,7 +6407,9 @@ spec:
                                     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
@@ -6242,7 +6441,9 @@ spec:
                                 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
@@ -6255,6 +6456,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -6266,6 +6468,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -6290,6 +6493,7 @@ spec:
                   matches all namespaces. A null label selector matches the current
                   namespace only.
 
+
                   Note that the ScrapeConfig custom resource definition is currently at Alpha level.
                 properties:
                   matchExpressions:
@@ -6338,6 +6542,7 @@ spec:
                   ScrapeConfigs to be selected for target discovery. An empty label
                   selector matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -6347,6 +6552,7 @@ spec:
                   of the custom resource definition. It is recommended to use
                   `spec.additionalScrapeConfigs` instead.
 
+
                   Note that the ScrapeConfig custom resource definition is currently at Alpha level.
                 properties:
                   matchExpressions:
@@ -6395,6 +6601,7 @@ spec:
                 description: |-
                   Interval between consecutive scrapes.
 
+
                   Default: "30s"
                 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
@@ -6403,8 +6610,10 @@ spec:
                   The protocols to negotiate during a scrape. It tells clients the
                   protocols supported by Prometheus in order of preference (from most to least preferred).
 
+
                   If unset, Prometheus uses its default value.
 
+
                   It requires Prometheus >= v2.49.0.
                 items:
                   description: |-
@@ -6470,10 +6679,12 @@ spec:
                       Some volume types allow the Kubelet to change the ownership of that volume
                       to be owned by the pod:
 
+
                       1. The owning GID will be the FSGroup
                       2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                       3. The permission bits are OR'd with rw-rw----
 
+
                       If unset, the Kubelet will not modify the ownership and permissions of any volume.
                       Note that this field cannot be set when spec.os.name is windows.
                     format: int64
@@ -6556,6 +6767,7 @@ spec:
                           type indicates which kind of seccomp profile will be applied.
                           Valid options are:
 
+
                           Localhost - a profile defined in a file on the node should be used.
                           RuntimeDefault - the container runtime default profile should be used.
                           Unconfined - no profile should be applied.
@@ -6565,28 +6777,18 @@ spec:
                     type: object
                   supplementalGroups:
                     description: |-
-                      A list of groups applied to the first process run in each container, in
-                      addition to the container's primary GID and fsGroup (if specified).  If
-                      the SupplementalGroupsPolicy feature is enabled, the
-                      supplementalGroupsPolicy field determines whether these are in addition
-                      to or instead of any group memberships defined in the container image.
-                      If unspecified, no additional groups are added, though group memberships
-                      defined in the container image may still be used, depending on the
-                      supplementalGroupsPolicy field.
+                      A list of groups applied to the first process run in each container, in addition
+                      to the container's primary GID, the fsGroup (if specified), and group memberships
+                      defined in the container image for the uid of the container process. If unspecified,
+                      no additional groups are added to any container. Note that group memberships
+                      defined in the container image for the uid of the container process are still effective,
+                      even if they are not included in this list.
                       Note that this field cannot be set when spec.os.name is windows.
                     items:
                       format: int64
                       type: integer
                     type: array
                     x-kubernetes-list-type: atomic
-                  supplementalGroupsPolicy:
-                    description: |-
-                      Defines how supplemental groups of the first container processes are calculated.
-                      Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
-                      (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
-                      and the container runtime must implement support for this feature.
-                      Note that this field cannot be set when spec.os.name is windows.
-                    type: string
                   sysctls:
                     description: |-
                       Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
@@ -6649,6 +6851,7 @@ spec:
                   Defines the service discovery role used to discover targets from
                   `ServiceMonitor` objects and Alertmanager endpoints.
 
+
                   If set, the value should be either "Endpoints" or "EndpointSlice".
                   If unset, the operator assumes the "Endpoints" role.
                 enum:
@@ -6707,6 +6910,7 @@ spec:
                   ServiceMonitors to be selected for target discovery. An empty label
                   selector matches all objects. A null label selector matches no objects.
 
+
                   If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector`
                   and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged.
                   The Prometheus operator will ensure that the Prometheus configuration's
@@ -6762,15 +6966,18 @@ spec:
                   Number of shards to distribute targets onto. `spec.replicas`
                   multiplied by `spec.shards` is the total number of Pods created.
 
+
                   Note that scaling down shards will not reshard data onto remaining
                   instances, it must be manually moved. Increasing shards will not reshard
                   data either but it will continue to be available from the same
                   instances. To query globally, use Thanos sidecar and Thanos querier or
                   remote write data to a central location.
 
+
                   Sharding is performed on the content of the `__address__` target meta-label
                   for PodMonitors and ServiceMonitors and `__param_target__` for Probes.
 
+
                   Default: 1
                 format: int32
                 type: integer
@@ -6824,6 +7031,7 @@ spec:
                           entry. Pod validation will reject the pod if the concatenated name
                           is not valid for a PVC (for example, too long).
 
+
                           An existing PVC with that name that is not owned by the pod
                           will *not* be used for the pod to avoid using an unrelated
                           volume by mistake. Starting the pod is then blocked until
@@ -6833,9 +7041,11 @@ spec:
                           this should not be necessary, but it may be useful when
                           manually reconstructing a broken cluster.
 
+
                           This field is read-only and no changes will be made by Kubernetes
                           to the PVC after it has been created.
 
+
                           Required, must not be nil.
                         properties:
                           metadata:
@@ -7030,7 +7240,7 @@ spec:
                                   set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                   exists.
                                   More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                  (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                  (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                 type: string
                               volumeMode:
                                 description: |-
@@ -7281,7 +7491,7 @@ spec:
                               set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                               exists.
                               More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                              (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                              (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                             type: string
                           volumeMode:
                             description: |-
@@ -7310,7 +7520,7 @@ spec:
                                 that it does not recognizes, then it should ignore that update and let other controllers
                                 handle it.
                               type: string
-                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                             x-kubernetes-map-type: granular
                           allocatedResources:
@@ -7320,7 +7530,7 @@ spec:
                               - type: string
                               pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                               x-kubernetes-int-or-string: true
-                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                           capacity:
                             additionalProperties:
@@ -7358,16 +7568,7 @@ spec:
                                 status:
                                   type: string
                                 type:
-                                  description: |-
-                                    PersistentVolumeClaimConditionType defines the condition of PV claim.
-                                    Valid values are:
-                                      - "Resizing", "FileSystemResizePending"
-
-                                    If RecoverVolumeExpansionFailure feature gate is enabled, then following additional values can be expected:
-                                      - "ControllerResizeError", "NodeResizeError"
-
-                                    If VolumeAttributesClass feature gate is enabled, then following additional values can be expected:
-                                      - "ModifyVolumeError", "ModifyingVolume"
+                                  description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
                                   type: string
                               required:
                               - status
@@ -7381,13 +7582,13 @@ spec:
                             description: |-
                               currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
                               When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             type: string
                           modifyVolumeStatus:
                             description: |-
                               ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
                               When this is unset, there is no ModifyVolume operation being attempted.
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             properties:
                               status:
                                 description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n   Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n   the specified VolumeAttributesClass not existing.\n - InProgress\n   InProgress indicates that the volume is being modified.\n - Infeasible\n  Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t  resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately."
@@ -7409,6 +7610,7 @@ spec:
                   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
@@ -7520,6 +7722,7 @@ spec:
                         Keys that don't exist in the incoming pod labels will
                         be ignored. A null or empty list means only match against labelSelector.
 
+
                         This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                       items:
                         type: string
@@ -7559,6 +7762,7 @@ spec:
                         Valid values are integers greater than 0.
                         When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
 
+
                         For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                         labelSelector spread as 2/2/2:
                         | zone1 | zone2 | zone3 |
@@ -7576,6 +7780,7 @@ spec:
                         - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                         - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
 
+
                         If this value is nil, the behavior is equivalent to the Honor policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -7587,6 +7792,7 @@ spec:
                         has a toleration, are included.
                         - Ignore: node taints are ignored. All nodes are included.
 
+
                         If this value is nil, the behavior is equivalent to the Ignore policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -7634,6 +7840,7 @@ spec:
                 description: |-
                   TracingConfig configures tracing in Prometheus.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 properties:
@@ -7690,7 +7897,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -7712,7 +7921,9 @@ spec:
                                   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
@@ -7741,7 +7952,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -7763,7 +7976,9 @@ spec:
                                   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
@@ -7795,7 +8010,9 @@ spec:
                               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
@@ -7808,6 +8025,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -7819,6 +8037,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -7833,31 +8052,12 @@ spec:
                 required:
                 - endpoint
                 type: object
-              tsdb:
-                description: |-
-                  Defines the runtime reloadable configuration of the timeseries database(TSDB).
-                  It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0.
-                properties:
-                  outOfOrderTimeWindow:
-                    description: |-
-                      Configures how old an out-of-order/out-of-bounds sample can be with
-                      respect to the TSDB max time.
-
-                      An out-of-order/out-of-bounds sample is ingested into the TSDB as long as
-                      the timestamp of the sample is >= (TSDB.MaxTime - outOfOrderTimeWindow).
-
-                      This is an *experimental feature*, it may change in any upcoming release
-                      in a breaking way.
-
-                      It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0.
-                    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
-                type: object
               version:
                 description: |-
                   Version of Prometheus being deployed. The operator uses this information
                   to generate the Prometheus StatefulSet + configuration files.
 
+
                   If not specified, the operator assumes the latest upstream version of
                   Prometheus available at the time when the version of the operator was
                   released.
@@ -7866,6 +8066,7 @@ spec:
                 description: |-
                   VolumeMounts allows the configuration of additional VolumeMounts.
 
+
                   VolumeMounts will be appended to other VolumeMounts in the 'prometheus'
                   container, that are generated as a result of StorageSpec objects.
                 items:
@@ -7898,8 +8099,10 @@ spec:
                         RecursiveReadOnly specifies whether read-only mounts should be handled
                         recursively.
 
+
                         If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                         If ReadOnly is true, and this field is set to Disabled, the mount is not made
                         recursively read-only.  If this field is set to IfPossible, the mount is made
                         recursively read-only, if it is supported by the container runtime.  If this
@@ -7907,9 +8110,11 @@ spec:
                         supported by the container runtime, otherwise the pod will not be started and
                         an error will be generated to indicate the reason.
 
+
                         If this field is set to IfPossible or Enabled, MountPropagation must be set to
                         None (or be unspecified, which defaults to None).
 
+
                         If this field is not specified, it is treated as an equivalent of Disabled.
                       type: string
                     subPath:
@@ -7949,6 +8154,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -7984,7 +8190,6 @@ spec:
                           description: diskURI is the URI of data disk in the blob storage
                           type: string
                         fsType:
-                          default: ext4
                           description: |-
                             fsType is Filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -7994,7 +8199,6 @@ spec:
                           description: 'kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob disk per storage account  Managed: azure managed data disk (only in managed availability set). defaults to shared'
                           type: string
                         readOnly:
-                          default: false
                           description: |-
                             readOnly Defaults to false (read/write). ReadOnly here will force
                             the ReadOnly setting in VolumeMounts.
@@ -8058,7 +8262,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -8100,7 +8306,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -8171,7 +8379,9 @@ spec:
                             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: optional specify whether the ConfigMap or its keys must be defined
@@ -8207,7 +8417,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -8332,6 +8544,7 @@ spec:
                         The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
                         and deleted when the pod is removed.
 
+
                         Use this if:
                         a) the volume is only needed while the pod runs,
                         b) features of normal volumes like restoring from snapshot or capacity
@@ -8342,14 +8555,17 @@ spec:
                            information on the connection between this volume type
                            and PersistentVolumeClaim).
 
+
                         Use PersistentVolumeClaim or one of the vendor-specific
                         APIs for volumes that persist for longer than the lifecycle
                         of an individual pod.
 
+
                         Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
                         be used that way - see the documentation of the driver for
                         more information.
 
+
                         A pod can use both types of ephemeral volumes and
                         persistent volumes at the same time.
                       properties:
@@ -8363,6 +8579,7 @@ spec:
                             entry. Pod validation will reject the pod if the concatenated name
                             is not valid for a PVC (for example, too long).
 
+
                             An existing PVC with that name that is not owned by the pod
                             will *not* be used for the pod to avoid using an unrelated
                             volume by mistake. Starting the pod is then blocked until
@@ -8372,9 +8589,11 @@ spec:
                             this should not be necessary, but it may be useful when
                             manually reconstructing a broken cluster.
 
+
                             This field is read-only and no changes will be made by Kubernetes
                             to the PVC after it has been created.
 
+
                             Required, must not be nil.
                           properties:
                             metadata:
@@ -8569,7 +8788,7 @@ spec:
                                     set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                     exists.
                                     More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                    (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                    (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                   type: string
                                 volumeMode:
                                   description: |-
@@ -8592,6 +8811,7 @@ spec:
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
                             Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         lun:
                           description: 'lun is Optional: FC target lun number'
@@ -8656,7 +8876,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -8687,6 +8909,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -8766,6 +8989,9 @@ spec:
                         used for system agents or other privileged things that are allowed
                         to see the host machine. Most containers will NOT need this.
                         More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+                        ---
+                        TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+                        mount host directories as read/write.
                       properties:
                         path:
                           description: |-
@@ -8782,41 +9008,6 @@ spec:
                       required:
                       - path
                       type: object
-                    image:
-                      description: |-
-                        image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
-                        The volume is resolved at pod startup depending on which PullPolicy value is provided:
-
-                        - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                        - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                        - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-
-                        The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
-                        A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
-                        The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
-                        The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
-                        The volume will be mounted read-only (ro) and non-executable files (noexec).
-                        Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath).
-                        The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
-                      properties:
-                        pullPolicy:
-                          description: |-
-                            Policy for pulling OCI objects. Possible values are:
-                            Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                            Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                            IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-                            Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                          type: string
-                        reference:
-                          description: |-
-                            Required: Image or artifact reference to be used.
-                            Behaves in the same way as pod.spec.containers[*].image.
-                            Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
-                            More info: https://kubernetes.io/docs/concepts/containers/images
-                            This field is optional to allow higher level config management to default or override
-                            container images in workload controllers like Deployments and StatefulSets.
-                          type: string
-                      type: object
                     iscsi:
                       description: |-
                         iscsi represents an ISCSI Disk resource that is attached to a
@@ -8835,6 +9026,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         initiatorName:
                           description: |-
@@ -8846,7 +9038,6 @@ spec:
                           description: iqn is the target iSCSI Qualified Name.
                           type: string
                         iscsiInterface:
-                          default: default
                           description: |-
                             iscsiInterface is the interface Name that uses an iSCSI transport.
                             Defaults to 'default' (tcp).
@@ -8878,7 +9069,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -8991,24 +9184,23 @@ spec:
                           format: int32
                           type: integer
                         sources:
-                          description: |-
-                            sources is the list of volume projections. Each entry in this list
-                            handles one source.
+                          description: sources is the list of volume projections
                           items:
-                            description: |-
-                              Projection that may be projected along with other supported volume types.
-                              Exactly one of these fields must be set.
+                            description: Projection that may be projected along with other supported volume types
                             properties:
                               clusterTrustBundle:
                                 description: |-
                                   ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
                                   of ClusterTrustBundle objects in an auto-updating file.
 
+
                                   Alpha, gated by the ClusterTrustBundleProjection feature gate.
 
+
                                   ClusterTrustBundle objects can either be selected by name, or by the
                                   combination of signer name and a label selector.
 
+
                                   Kubelet performs aggressive normalization of the PEM contents written
                                   into the pod filesystem.  Esoteric PEM features such as inter-block
                                   comments and block headers are stripped.  Certificates are deduplicated.
@@ -9136,7 +9328,9 @@ spec:
                                       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: optional specify whether the ConfigMap or its keys must be defined
@@ -9253,7 +9447,9 @@ spec:
                                       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: optional field specify whether the Secret or its key must be defined
@@ -9339,6 +9535,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         image:
                           description: |-
@@ -9346,7 +9543,6 @@ spec:
                             More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
                           type: string
                         keyring:
-                          default: /etc/ceph/keyring
                           description: |-
                             keyring is the path to key ring for RBDUser.
                             Default is /etc/ceph/keyring.
@@ -9361,7 +9557,6 @@ spec:
                           type: array
                           x-kubernetes-list-type: atomic
                         pool:
-                          default: rbd
                           description: |-
                             pool is the rados pool name.
                             Default is rbd.
@@ -9387,12 +9582,13 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
                         user:
-                          default: admin
                           description: |-
                             user is the rados user name.
                             Default is admin.
@@ -9406,7 +9602,6 @@ spec:
                       description: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
                       properties:
                         fsType:
-                          default: xfs
                           description: |-
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -9436,7 +9631,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -9444,7 +9641,6 @@ spec:
                           description: sslEnabled Flag enable/disable SSL communication with Gateway, default false
                           type: boolean
                         storageMode:
-                          default: ThinProvisioned
                           description: |-
                             storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
                             Default is ThinProvisioned.
@@ -9554,7 +9750,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -9602,8 +9800,10 @@ spec:
                 description: |-
                   Configures compression of the write-ahead log (WAL) using Snappy.
 
+
                   WAL compression is enabled by default for Prometheus >= 2.20.0
 
+
                   Requires Prometheus v2.11.0 and above.
                 type: boolean
               web:
@@ -9691,7 +9891,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -9713,7 +9915,9 @@ spec:
                                   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
@@ -9747,7 +9951,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -9769,7 +9975,9 @@ spec:
                                   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
@@ -9806,7 +10014,9 @@ spec:
                               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
diff --git a/manifests/setup/0prometheusruleCustomResourceDefinition.yaml b/manifests/setup/0prometheusruleCustomResourceDefinition.yaml
index 8003bcf630f7bd4ca029bf1f0145d1451cf46e77..44bbfe0165471d64f125a3e8842ddfc6eba31109 100644
--- a/manifests/setup/0prometheusruleCustomResourceDefinition.yaml
+++ b/manifests/setup/0prometheusruleCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: prometheusrules.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -24,6 +24,7 @@ spec:
         description: |-
           The `PrometheusRule` custom resource definition (CRD) defines [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) and [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) rules to be evaluated by `Prometheus` or `ThanosRuler` objects.
 
+
           `Prometheus` and `ThanosRuler` objects select `PrometheusRule` objects using label and namespace selectors.
         properties:
           apiVersion:
diff --git a/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml b/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml
index 5e88695d4ad783344545b2285d281b81495770f8..4f023741fa96082eeaa4de5b5344a8992272fd26 100644
--- a/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml
+++ b/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: scrapeconfigs.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -45,175 +45,20 @@ spec:
           spec:
             description: ScrapeConfigSpec is a specification of the desired configuration for a scrape configuration.
             properties:
-              authorization:
-                description: Authorization header to use on every scrape request.
-                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:
-                        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.
-                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                        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.
-
-                      "Basic" is not a supported value.
-
-                      Default: "Bearer"
-                    type: string
-                type: object
-              azureSDConfigs:
-                description: AzureSDConfigs defines a list of Azure service discovery configurations.
-                items:
-                  description: |-
-                    AzureSDConfig allow retrieving scrape targets from Azure VMs.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#azure_sd_config
-                  properties:
-                    authenticationMethod:
-                      description: |-
-                        # The authentication method, either `OAuth` or `ManagedIdentity` or `SDK`.
-                        See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview
-                        SDK authentication method uses environment variables by default.
-                        See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
-                      enum:
-                      - OAuth
-                      - ManagedIdentity
-                      - SDK
-                      type: string
-                    clientID:
-                      description: Optional client ID. Only required with the OAuth authentication method.
-                      type: string
-                    clientSecret:
-                      description: Optional client secret. Only required with the OAuth authentication method.
-                      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.
-                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                          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
-                    environment:
-                      description: The Azure environment.
-                      type: string
-                    port:
-                      description: |-
-                        The port to scrape metrics from. If using the public IP address, this must
-                        instead be specified in the relabeling rule.
-                      type: integer
-                    refreshInterval:
-                      description: RefreshInterval configures the refresh interval at which Prometheus will 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
-                    resourceGroup:
-                      description: Optional resource group name. Limits discovery to this resource group.
-                      type: string
-                    subscriptionID:
-                      description: The subscription ID. Always required.
-                      minLength: 1
-                      type: string
-                    tenantID:
-                      description: Optional tenant ID. Only required with the OAuth authentication method.
-                      type: string
-                  required:
-                  - subscriptionID
-                  type: object
-                type: array
-              basicAuth:
-                description: BasicAuth information to use on every scrape request.
-                properties:
-                  password:
-                    description: |-
-                      `password` specifies a key of a Secret containing the password for
-                      authentication.
-                    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.
-                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                        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
-                  username:
-                    description: |-
-                      `username` specifies a key of a Secret containing the username for
-                      authentication.
-                    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.
-                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                        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
-              consulSDConfigs:
-                description: ConsulSDConfigs defines a list of Consul service discovery configurations.
+              NomadSDConfigs:
+                description: NomadSDConfigs defines a list of Nomad service discovery configurations.
                 items:
                   description: |-
-                    ConsulSDConfig defines a Consul service discovery configuration
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config
+                    NomadSDConfig configurations allow retrieving scrape targets from Nomad's Service API.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#nomad_sd_config
                   properties:
                     allowStale:
                       description: |-
-                        Allow stale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul.
-                        If unset, Prometheus uses its default value.
+                        The information to access the Nomad API. It is to be defined
+                        as the Nomad documentation requires.
                       type: boolean
                     authorization:
-                      description: Authorization header configuration to authenticate against the Consul Server.
+                      description: Authorization header to use on every scrape request.
                       properties:
                         credentials:
                           description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
@@ -228,7 +73,9 @@ spec:
                                 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
@@ -241,15 +88,15 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
                     basicAuth:
-                      description: |-
-                        BasicAuth information to authenticate against the Consul Server.
-                        More info: https://prometheus.io/docs/operating/configuration/#endpoints
+                      description: BasicAuth information to use on every scrape request.
                       properties:
                         password:
                           description: |-
@@ -266,7 +113,9 @@ spec:
                                 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
@@ -290,7 +139,9 @@ spec:
                                 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
@@ -300,21 +151,13 @@ spec:
                           type: object
                           x-kubernetes-map-type: atomic
                       type: object
-                    datacenter:
-                      description: Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter.
-                      type: string
                     enableHTTP2:
-                      description: |-
-                        Whether to enable HTTP2.
-                        If unset, Prometheus uses its default value.
+                      description: Whether to enable HTTP2.
                       type: boolean
                     followRedirects:
-                      description: |-
-                        Configure whether HTTP requests follow HTTP 3xx redirects.
-                        If unset, Prometheus uses its default value.
+                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
                     namespace:
-                      description: Namespaces are only supported in Consul Enterprise.
                       type: string
                     noProxy:
                       description: |-
@@ -322,16 +165,13 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
-                    nodeMeta:
-                      additionalProperties:
-                        type: string
-                      description: Node metadata key/value pairs to filter nodes for a given service.
-                      type: object
-                      x-kubernetes-map-type: atomic
                     oauth2:
-                      description: Optional OAuth 2.0 configuration.
+                      description: |-
+                        Optional OAuth 2.0 configuration.
+                        Cannot be set at the same time as `authorization` or `basic_auth`.
                       properties:
                         clientId:
                           description: |-
@@ -351,7 +191,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -373,7 +215,9 @@ spec:
                                     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
@@ -398,7 +242,9 @@ spec:
                                 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
@@ -420,7 +266,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -437,7 +284,9 @@ spec:
                                     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
@@ -451,17 +300,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -490,7 +346,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -512,7 +370,9 @@ spec:
                                         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
@@ -538,7 +398,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -560,7 +422,9 @@ spec:
                                         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
@@ -586,7 +450,9 @@ spec:
                                     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
@@ -599,6 +465,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -610,6 +477,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -630,9 +498,6 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
-                    partition:
-                      description: Admin Partitions are only supported in Consul Enterprise.
-                      type: string
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -648,7 +513,9 @@ spec:
                                 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
@@ -662,55 +529,42 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
                       description: |-
-                        The time after which the provided names are refreshed.
-                        On large setup it might be a good idea to increase this value because the catalog will change all the time.
-                        If unset, Prometheus uses its default value.
+                        Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function.
+                        Supported units: y, w, d, h, m, s, ms
+                        Examples: `30s`, `1m`, `1h20m15s`, `15d`
                       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
-                    scheme:
-                      description: HTTP Scheme default "http"
-                      enum:
-                      - HTTP
-                      - HTTPS
+                    region:
                       type: string
                     server:
-                      description: A valid string consisting of a hostname or IP followed by an optional port number.
                       minLength: 1
                       type: string
-                    services:
-                      description: A list of services for which targets are retrieved. If omitted, all services are scraped.
-                      items:
-                        type: string
-                      type: array
-                      x-kubernetes-list-type: atomic
                     tagSeparator:
-                      description: |-
-                        The string by which Consul tags are joined into the tag label.
-                        If unset, Prometheus uses its default value.
                       type: string
-                    tags:
-                      description: An optional list of tags used to filter nodes for a given service. Services must contain all tags in the list.
-                      items:
-                        type: string
-                      type: array
-                      x-kubernetes-list-type: atomic
                     tlsConfig:
-                      description: TLS Config
+                      description: TLS configuration applying to the target HTTP endpoint.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -728,7 +582,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -750,7 +606,9 @@ spec:
                                     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
@@ -776,7 +634,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -798,7 +658,9 @@ spec:
                                     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
@@ -824,7 +686,9 @@ spec:
                                 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
@@ -837,6 +701,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -848,6 +713,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -859,12 +725,75 @@ spec:
                           description: Used to verify the hostname for the targets.
                           type: string
                       type: object
-                    tokenRef:
-                      description: Consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent.
-                      properties:
-                        key:
-                          description: The key of the secret to select from.  Must be a valid secret key.
-                          type: string
+                  required:
+                  - server
+                  type: object
+                type: array
+              authorization:
+                description: Authorization header to use on every scrape request.
+                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:
+                        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:
+                    description: |-
+                      Defines the authentication type. The value is case-insensitive.
+
+
+                      "Basic" is not a supported value.
+
+
+                      Default: "Bearer"
+                    type: string
+                type: object
+              azureSDConfigs:
+                description: AzureSDConfigs defines a list of Azure service discovery configurations.
+                items:
+                  description: |-
+                    AzureSDConfig allow retrieving scrape targets from Azure VMs.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#azure_sd_config
+                  properties:
+                    authenticationMethod:
+                      description: |-
+                        # The authentication method, either `OAuth` or `ManagedIdentity` or `SDK`.
+                        See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview
+                        SDK authentication method uses environment variables by default.
+                        See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
+                      enum:
+                      - OAuth
+                      - ManagedIdentity
+                      - SDK
+                      type: string
+                    clientID:
+                      description: Optional client ID. Only required with the OAuth authentication method.
+                      type: string
+                    clientSecret:
+                      description: Optional client secret. Only required with the OAuth authentication method.
+                      properties:
+                        key:
+                          description: The key of the secret to select from.  Must be a valid secret key.
+                          type: string
                         name:
                           default: ""
                           description: |-
@@ -872,7 +801,9 @@ spec:
                             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
@@ -881,22 +812,102 @@ spec:
                       - key
                       type: object
                       x-kubernetes-map-type: atomic
+                    environment:
+                      description: The Azure environment.
+                      type: string
+                    port:
+                      description: |-
+                        The port to scrape metrics from. If using the public IP address, this must
+                        instead be specified in the relabeling rule.
+                      type: integer
+                    refreshInterval:
+                      description: RefreshInterval configures the refresh interval at which Prometheus will 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
+                    resourceGroup:
+                      description: Optional resource group name. Limits discovery to this resource group.
+                      type: string
+                    subscriptionID:
+                      description: The subscription ID. Always required.
+                      minLength: 1
+                      type: string
+                    tenantID:
+                      description: Optional tenant ID. Only required with the OAuth authentication method.
+                      type: string
                   required:
-                  - server
+                  - subscriptionID
                   type: object
                 type: array
-              digitalOceanSDConfigs:
-                description: DigitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations.
+              basicAuth:
+                description: BasicAuth information to use on every scrape request.
+                properties:
+                  password:
+                    description: |-
+                      `password` specifies a key of a Secret containing the password for
+                      authentication.
+                    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
+                  username:
+                    description: |-
+                      `username` specifies a key of a Secret containing the username for
+                      authentication.
+                    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: object
+              consulSDConfigs:
+                description: ConsulSDConfigs defines a list of Consul 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
+                    ConsulSDConfig defines a Consul service discovery configuration
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config
                   properties:
-                    authorization:
+                    allowStale:
                       description: |-
-                        Authorization header configuration to authenticate against the DigitalOcean API.
-                        Cannot be set at the same time as `oauth2`.
+                        Allow stale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul.
+                        If unset, Prometheus uses its default value.
+                      type: boolean
+                    authorization:
+                      description: Authorization header configuration to authenticate against the Consul Server.
                       properties:
                         credentials:
                           description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
@@ -911,7 +922,9 @@ spec:
                                 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
@@ -924,29 +937,104 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
+                    basicAuth:
+                      description: |-
+                        BasicAuth information to authenticate against the Consul Server.
+                        More info: https://prometheus.io/docs/operating/configuration/#endpoints
+                      properties:
+                        password:
+                          description: |-
+                            `password` specifies a key of a Secret containing the password for
+                            authentication.
+                          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
+                        username:
+                          description: |-
+                            `username` specifies a key of a Secret containing the username for
+                            authentication.
+                          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: object
+                    datacenter:
+                      description: Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter.
+                      type: string
                     enableHTTP2:
-                      description: Whether to enable HTTP2.
+                      description: |-
+                        Whether to enable HTTP2.
+                        If unset, Prometheus uses its default value.
                       type: boolean
                     followRedirects:
-                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
+                      description: |-
+                        Configure whether HTTP requests follow HTTP 3xx redirects.
+                        If unset, Prometheus uses its default value.
                       type: boolean
+                    namespace:
+                      description: Namespaces are only supported in Consul Enterprise.
+                      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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
+                    nodeMeta:
+                      additionalProperties:
+                        type: string
+                      description: Node metadata key/value pairs to filter nodes for a given service.
+                      type: object
+                      x-kubernetes-map-type: atomic
                     oauth2:
-                      description: |-
-                        Optional OAuth 2.0 configuration.
-                        Cannot be set at the same time as `authorization`.
+                      description: Optional OAuth 2.0 configuration.
                       properties:
                         clientId:
                           description: |-
@@ -966,7 +1054,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -988,7 +1078,9 @@ spec:
                                     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
@@ -1013,7 +1105,9 @@ spec:
                                 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
@@ -1035,7 +1129,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -1052,7 +1147,9 @@ spec:
                                     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
@@ -1066,17 +1163,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -1105,7 +1209,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -1127,7 +1233,9 @@ spec:
                                         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
@@ -1153,7 +1261,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -1175,7 +1285,9 @@ spec:
                                         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
@@ -1201,7 +1313,9 @@ spec:
                                     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
@@ -1214,6 +1328,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -1225,6 +1340,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -1245,9 +1361,9 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
-                    port:
-                      description: The port to scrape metrics from.
-                      type: integer
+                    partition:
+                      description: Admin Partitions are only supported in Consul Enterprise.
+                      type: string
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -1263,7 +1379,9 @@ spec:
                                 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
@@ -1277,25 +1395,62 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: Refresh interval to re-read the instance list.
+                      description: |-
+                        The time after which the provided names are refreshed.
+                        On large setup it might be a good idea to increase this value because the catalog will change all the time.
+                        If unset, Prometheus uses its default value.
                       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
+                    scheme:
+                      description: HTTP Scheme default "http"
+                      enum:
+                      - HTTP
+                      - HTTPS
+                      type: string
+                    server:
+                      description: A valid string consisting of a hostname or IP followed by an optional port number.
+                      minLength: 1
+                      type: string
+                    services:
+                      description: A list of services for which targets are retrieved. If omitted, all services are scraped.
+                      items:
+                        type: string
+                      type: array
+                      x-kubernetes-list-type: atomic
+                    tagSeparator:
+                      description: |-
+                        The string by which Consul tags are joined into the tag label.
+                        If unset, Prometheus uses its default value.
+                      type: string
+                    tags:
+                      description: An optional list of tags used to filter nodes for a given service. Services must contain all tags in the list.
+                      items:
+                        type: string
+                      type: array
+                      x-kubernetes-list-type: atomic
                     tlsConfig:
-                      description: TLS configuration applying to the target HTTP endpoint.
+                      description: TLS Config
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -1313,7 +1468,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -1335,7 +1492,9 @@ spec:
                                     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
@@ -1361,7 +1520,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -1383,7 +1544,9 @@ spec:
                                     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
@@ -1409,7 +1572,9 @@ spec:
                                 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
@@ -1422,6 +1587,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -1433,6 +1599,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -1444,67 +1611,45 @@ spec:
                           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:
-                  description: |-
-                    DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets.
-                    The DNS servers to be contacted are read from /etc/resolv.conf.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config
-                  properties:
-                    names:
-                      description: A list of DNS domain names to be queried.
-                      items:
-                        minLength: 1
-                        type: string
-                      minItems: 1
-                      type: array
-                    port:
-                      description: |-
-                        The port number used if the query type is not SRV
-                        Ignored for SRV records
-                      format: int32
-                      maximum: 65535
-                      minimum: 0
-                      type: integer
-                    refreshInterval:
-                      description: |-
-                        RefreshInterval configures the time after which the provided names are refreshed.
-                        If not set, Prometheus uses its default value.
-                      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
-                    type:
-                      description: |-
-                        The type of DNS query to perform. One of SRV, A, AAAA, MX or NS.
-                        If not set, Prometheus uses its default value.
-
-                        When set to NS, it requires Prometheus >= v2.49.0.
-                        When set to MX, it requires Prometheus >= v2.38.0
-                      enum:
-                      - A
-                      - AAAA
-                      - MX
-                      - NS
-                      - SRV
-                      type: string
+                    tokenRef:
+                      description: Consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent.
+                      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
                   required:
-                  - names
+                  - server
                   type: object
                 type: array
-              dockerSDConfigs:
-                description: DockerSDConfigs defines a list of Docker service discovery configurations.
+              digitalOceanSDConfigs:
+                description: DigitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations.
                 items:
                   description: |-
-                    Docker SD configurations allow retrieving scrape targets from Docker Engine hosts.
-                    This SD discovers "containers" and will create a target for each network IP and
-                    port the container is configured to expose.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#docker_sd_config
+                    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 Docker API.
+                        Authorization header configuration to authenticate against the DigitalOcean API.
                         Cannot be set at the same time as `oauth2`.
                       properties:
                         credentials:
@@ -1520,7 +1665,9 @@ spec:
                                 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
@@ -1533,113 +1680,27 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
-                    basicAuth:
-                      description: BasicAuth information to use on every scrape request.
-                      properties:
-                        password:
-                          description: |-
-                            `password` specifies a key of a Secret containing the password for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                        username:
-                          description: |-
-                            `username` specifies a key of a Secret containing the username for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
                     enableHTTP2:
                       description: Whether to enable HTTP2.
                       type: boolean
-                    filters:
-                      description: Optional filters to limit the discovery process to a subset of the available resources.
-                      items:
-                        description: Filter name and value pairs to limit the discovery process to a subset of available resources.
-                        properties:
-                          name:
-                            description: Name of the Filter.
-                            type: string
-                          values:
-                            description: Value to filter on.
-                            items:
-                              minLength: 1
-                              type: string
-                            minItems: 1
-                            type: array
-                            x-kubernetes-list-type: set
-                        required:
-                        - name
-                        - values
-                        type: object
-                      type: array
-                      x-kubernetes-list-map-keys:
-                      - name
-                      x-kubernetes-list-type: map
                     followRedirects:
                       description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
-                    host:
-                      description: Address of the docker daemon
-                      minLength: 1
-                      type: string
-                    hostNetworkingHost:
-                      description: The host to use if the container is in host networking mode.
-                      type: string
-                    matchFirstNetwork:
-                      description: |-
-                        Configure whether to match the first network if the container has multiple networks defined.
-                        If unset, Prometheus uses true by default.
-                        It requires Prometheus >= v2.54.1.
-                      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.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
@@ -1664,7 +1725,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -1686,7 +1749,9 @@ spec:
                                     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
@@ -1711,7 +1776,9 @@ spec:
                                 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
@@ -1733,7 +1800,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -1750,7 +1818,9 @@ spec:
                                     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
@@ -1764,17 +1834,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -1803,7 +1880,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -1825,7 +1904,9 @@ spec:
                                         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
@@ -1851,7 +1932,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -1873,7 +1956,9 @@ spec:
                                         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
@@ -1899,7 +1984,9 @@ spec:
                                     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
@@ -1912,6 +1999,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -1923,6 +2011,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -1961,7 +2050,9 @@ spec:
                                 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
@@ -1975,21 +2066,28 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: Time after which the container is refreshed.
+                      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:
@@ -2011,7 +2109,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -2033,7 +2133,9 @@ spec:
                                     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
@@ -2059,7 +2161,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -2081,7 +2185,9 @@ spec:
                                     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
@@ -2107,7 +2213,9 @@ spec:
                                 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
@@ -2120,6 +2228,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -2131,6 +2240,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -2142,34 +2252,85 @@ spec:
                           description: Used to verify the hostname for the targets.
                           type: string
                       type: object
-                  required:
-                  - host
                   type: object
                 type: array
-              dockerSwarmSDConfigs:
-                description: DockerswarmSDConfigs defines a list of Dockerswarm service discovery configurations.
+              dnsSDConfigs:
+                description: DNSSDConfigs defines a list of DNS service discovery configurations.
                 items:
                   description: |-
-                    DockerSwarmSDConfig configurations allow retrieving scrape targets from Docker Swarm engine.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dockerswarm_sd_config
+                    DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets.
+                    The DNS servers to be contacted are read from /etc/resolv.conf.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config
                   properties:
-                    authorization:
-                      description: Authorization header configuration to authenticate against the target HTTP endpoint.
-                      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:
+                    names:
+                      description: A list of DNS domain names to be queried.
+                      items:
+                        type: string
+                      minItems: 1
+                      type: array
+                    port:
+                      description: |-
+                        The port number used if the query type is not SRV
+                        Ignored for SRV records
+                      format: int32
+                      maximum: 65535
+                      minimum: 0
+                      type: integer
+                    refreshInterval:
+                      description: |-
+                        RefreshInterval configures the time after which the provided names are refreshed.
+                        If not set, Prometheus uses its default value.
+                      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
+                    type:
+                      description: |-
+                        The type of DNS query to perform. One of SRV, A, AAAA, MX or NS.
+                        If not set, Prometheus uses its default value.
+
+
+                        When set to NS, it requires Prometheus >= v2.49.0.
+                        When set to MX, it requires Prometheus >= v2.38.0
+                      enum:
+                      - A
+                      - AAAA
+                      - MX
+                      - NS
+                      - SRV
+                      type: string
+                  required:
+                  - names
+                  type: object
+                type: array
+              dockerSDConfigs:
+                description: DockerSDConfigs defines a list of Docker service discovery configurations.
+                items:
+                  description: |-
+                    Docker SD configurations allow retrieving scrape targets from Docker Engine hosts.
+                    This SD discovers "containers" and will create a target for each network IP and
+                    port the container is configured to expose.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#docker_sd_config
+                  properties:
+                    authorization:
+                      description: |-
+                        Authorization header configuration to authenticate against the Docker 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:
                               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
@@ -2182,13 +2343,15 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
                     basicAuth:
-                      description: Optional HTTP basic authentication information.
+                      description: BasicAuth information to use on every scrape request.
                       properties:
                         password:
                           description: |-
@@ -2205,7 +2368,9 @@ spec:
                                 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
@@ -2229,7 +2394,9 @@ spec:
                                 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
@@ -2243,13 +2410,7 @@ spec:
                       description: Whether to enable HTTP2.
                       type: boolean
                     filters:
-                      description: |-
-                        Optional filters to limit the discovery process to a subset of available
-                        resources.
-                        The available filters are listed in the upstream documentation:
-                        Services: https://docs.docker.com/engine/api/v1.40/#operation/ServiceList
-                        Tasks: https://docs.docker.com/engine/api/v1.40/#operation/TaskList
-                        Nodes: https://docs.docker.com/engine/api/v1.40/#operation/NodeList
+                      description: Optional filters to limit the discovery process to a subset of the available resources.
                       items:
                         description: Filter name and value pairs to limit the discovery process to a subset of available resources.
                         properties:
@@ -2259,11 +2420,9 @@ spec:
                           values:
                             description: Value to filter on.
                             items:
-                              minLength: 1
                               type: string
                             minItems: 1
                             type: array
-                            x-kubernetes-list-type: set
                         required:
                         - name
                         - values
@@ -2276,8 +2435,11 @@ spec:
                       description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
                     host:
-                      description: Address of the Docker daemon
-                      pattern: ^[a-zA-Z][a-zA-Z0-9+.-]*://.+$
+                      description: Address of the docker daemon
+                      minLength: 1
+                      type: string
+                    hostNetworkingHost:
+                      description: The host to use if the container is in host networking mode.
                       type: string
                     noProxy:
                       description: |-
@@ -2285,12 +2447,13 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
                         Optional OAuth 2.0 configuration.
-                        Cannot be set at the same time as `authorization`, or `basicAuth`.
+                        Cannot be set at the same time as `authorization`.
                       properties:
                         clientId:
                           description: |-
@@ -2310,7 +2473,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -2332,7 +2497,9 @@ spec:
                                     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
@@ -2357,7 +2524,9 @@ spec:
                                 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
@@ -2379,7 +2548,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -2396,7 +2566,9 @@ spec:
                                     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
@@ -2410,17 +2582,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -2449,7 +2628,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -2471,7 +2652,9 @@ spec:
                                         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
@@ -2497,7 +2680,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -2519,7 +2704,9 @@ spec:
                                         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
@@ -2545,7 +2732,9 @@ spec:
                                     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
@@ -2558,6 +2747,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -2569,6 +2759,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -2590,12 +2781,7 @@ spec:
                       - tokenUrl
                       type: object
                     port:
-                      description: |-
-                        The port to scrape metrics from, when `role` is nodes, and for discovered
-                        tasks and services that don't have published ports.
-                      format: int32
-                      maximum: 65535
-                      minimum: 0
+                      description: The port to scrape metrics from.
                       type: integer
                     proxyConnectHeader:
                       additionalProperties:
@@ -2612,7 +2798,9 @@ spec:
                                 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
@@ -2626,32 +2814,32 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: The time after which the service discovery data is refreshed.
+                      description: Time after which the container is refreshed.
                       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
-                    role:
-                      description: Role of the targets to retrieve. Must be `Services`, `Tasks`, or `Nodes`.
-                      enum:
-                      - Services
-                      - Tasks
-                      - Nodes
-                      type: string
                     tlsConfig:
-                      description: TLS configuration to use on every scrape request
+                      description: TLS configuration applying to the target HTTP endpoint.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -2669,7 +2857,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -2691,7 +2881,9 @@ spec:
                                     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
@@ -2717,7 +2909,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -2739,7 +2933,9 @@ spec:
                                     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
@@ -2765,7 +2961,9 @@ spec:
                                 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
@@ -2778,6 +2976,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -2789,6 +2988,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -2802,55 +3002,120 @@ spec:
                       type: object
                   required:
                   - host
-                  - role
                   type: object
                 type: array
-              ec2SDConfigs:
-                description: EC2SDConfigs defines a list of EC2 service discovery configurations.
+              dockerSwarmSDConfigs:
+                description: DockerswarmSDConfigs defines a list of Dockerswarm service discovery configurations.
                 items:
                   description: |-
-                    EC2SDConfig allow retrieving scrape targets from AWS EC2 instances.
-                    The private IP address is used by default, but may be changed to the public IP address with relabeling.
-                    The IAM credentials used must have the ec2:DescribeInstances permission to discover scrape targets
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ec2_sd_config
-
-                    The EC2 service discovery requires AWS API keys or role ARN for authentication.
-                    BasicAuth, Authorization and OAuth2 fields are not present on purpose.
+                    DockerSwarmSDConfig configurations allow retrieving scrape targets from Docker Swarm engine.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dockerswarm_sd_config
                   properties:
-                    accessKey:
-                      description: AccessKey is the AWS API key.
+                    authorization:
+                      description: Authorization header configuration to authenticate against the target HTTP endpoint.
                       properties:
-                        key:
-                          description: The key of the secret to select from.  Must be a valid secret key.
-                          type: string
-                        name:
-                          default: ""
+                        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:
+                              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:
                           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.
-                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                            Defines the authentication type. The value is case-insensitive.
+
+
+                            "Basic" is not a supported value.
+
+
+                            Default: "Bearer"
                           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
+                    basicAuth:
+                      description: Optional HTTP basic authentication information.
+                      properties:
+                        password:
+                          description: |-
+                            `password` specifies a key of a Secret containing the password for
+                            authentication.
+                          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
+                        username:
+                          description: |-
+                            `username` specifies a key of a Secret containing the username for
+                            authentication.
+                          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: object
                     enableHTTP2:
-                      description: |-
-                        Whether to enable HTTP2.
-                        It requires Prometheus >= v2.41.0
+                      description: Whether to enable HTTP2.
                       type: boolean
                     filters:
                       description: |-
-                        Filters can be used optionally to filter the instance list by other criteria.
-                        Available filter criteria can be found here:
-                        https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html
-                        Filter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html
-                        It requires Prometheus >= v2.3.0
+                        Optional filters to limit the discovery process to a subset of available
+                        resources.
+                        The available filters are listed in the upstream documentation:
+                        Services: https://docs.docker.com/engine/api/v1.40/#operation/ServiceList
+                        Tasks: https://docs.docker.com/engine/api/v1.40/#operation/TaskList
+                        Nodes: https://docs.docker.com/engine/api/v1.40/#operation/NodeList
                       items:
                         description: Filter name and value pairs to limit the discovery process to a subset of available resources.
                         properties:
@@ -2860,11 +3125,9 @@ spec:
                           values:
                             description: Value to filter on.
                             items:
-                              minLength: 1
                               type: string
                             minItems: 1
                             type: array
-                            x-kubernetes-list-type: set
                         required:
                         - name
                         - values
@@ -2874,157 +3137,30 @@ spec:
                       - name
                       x-kubernetes-list-type: map
                     followRedirects:
-                      description: |-
-                        Configure whether HTTP requests follow HTTP 3xx redirects.
-                        It requires Prometheus >= v2.41.0
+                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
+                    host:
+                      description: Address of the Docker daemon
+                      pattern: ^[a-zA-Z][a-zA-Z0-9+.-]*://.+$
+                      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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
-                    port:
-                      description: |-
-                        The port to scrape metrics from. If using the public IP address, this must
-                        instead be specified in the relabeling rule.
-                      format: int32
-                      maximum: 65535
-                      minimum: 0
-                      type: integer
-                    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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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 or Alertmanager >= 0.25.0.
-                      type: object
-                      x-kubernetes-map-type: atomic
-                    proxyFromEnvironment:
+                    oauth2:
                       description: |-
-                        Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
-
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                      type: boolean
-                    proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
-                      pattern: ^http(s)?://.+$
-                      type: string
-                    refreshInterval:
-                      description: RefreshInterval configures the refresh interval at which Prometheus will 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
-                    region:
-                      description: The AWS region.
-                      minLength: 1
-                      type: string
-                    roleARN:
-                      description: AWS Role ARN, an alternative to using AWS API keys.
-                      minLength: 1
-                      type: string
-                    secretKey:
-                      description: SecretKey is the AWS API secret.
+                        Optional OAuth 2.0 configuration.
+                        Cannot be set at the same time as `authorization`, or `basicAuth`.
                       properties:
-                        key:
-                          description: The key of the secret to select from.  Must be a valid secret key.
-                          type: string
-                        name:
-                          default: ""
+                        clientId:
                           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.
-                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                          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
-                    tlsConfig:
-                      description: |-
-                        TLS configuration to connect to the AWS EC2 API.
-                        It requires Prometheus >= v2.41.0
-                      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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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.
+                            `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.
@@ -3039,7 +3175,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -3061,7 +3199,9 @@ spec:
                                     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
@@ -3071,11 +3211,10 @@ spec:
                               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.
+                        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.
@@ -3087,7 +3226,9 @@ spec:
                                 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
@@ -3096,284 +3237,71 @@ spec:
                           - key
                           type: object
                           x-kubernetes-map-type: atomic
-                        maxVersion:
+                        endpointParams:
+                          additionalProperties:
+                            type: string
                           description: |-
-                            Maximum acceptable TLS version.
-
-                            It requires Prometheus >= v2.41.0.
-                          enum:
-                          - TLS10
-                          - TLS11
-                          - TLS12
-                          - TLS13
-                          type: string
-                        minVersion:
+                            `endpointParams` configures the HTTP parameters to append to the token
+                            URL.
+                          type: object
+                        noProxy:
                           description: |-
-                            Minimum acceptable TLS version.
+                            `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.35.0.
-                          enum:
-                          - TLS10
-                          - TLS11
-                          - TLS12
-                          - TLS13
-                          type: string
-                        serverName:
-                          description: Used to verify the hostname for the targets.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
-                      type: object
-                  type: object
-                type: array
-              enableCompression:
-                description: |-
-                  When false, Prometheus will request uncompressed response from the scraped target.
+                        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.49.0.
 
-                  If unset, Prometheus uses true by default.
-                type: boolean
-              eurekaSDConfigs:
-                description: EurekaSDConfigs defines a list of Eureka service discovery configurations.
-                items:
-                  description: |-
-                    Eureka SD configurations allow retrieving scrape targets using the Eureka REST API.
-                    Prometheus will periodically check the REST endpoint and create a target for every app instance.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#eureka_sd_config
-                  properties:
-                    authorization:
-                      description: Authorization header to use on every scrape request.
-                      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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              type: string
-                            optional:
-                              description: Specify whether the Secret or its key must be defined
-                              type: boolean
-                          required:
-                          - key
+                            It requires Prometheus >= v2.43.0.
                           type: object
                           x-kubernetes-map-type: atomic
-                        type:
+                        proxyFromEnvironment:
                           description: |-
-                            Defines the authentication type. The value is case-insensitive.
+                            Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
+                            If unset, Prometheus uses its default value.
 
-                            "Basic" is not a supported value.
 
-                            Default: "Bearer"
-                          type: string
-                      type: object
-                    basicAuth:
-                      description: BasicAuth information to use on every scrape request.
-                      properties:
-                        password:
-                          description: |-
-                            `password` specifies a key of a Secret containing the password for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                        username:
-                          description: |-
-                            `username` specifies a key of a Secret containing the username for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                    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.
-
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                      type: string
-                    oauth2:
-                      description: |-
-                        Optional OAuth 2.0 configuration.
-                        Cannot be set at the same time as `authorization` or `basic_auth`.
-                      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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                        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 or Alertmanager >= 0.25.0.
-                          type: string
-                        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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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
+                            It requires Prometheus >= v2.43.0.
+                          type: boolean
+                        proxyUrl:
                           description: |-
-                            ProxyConnectHeader optionally specifies headers to send to
-                            proxies during CONNECT requests.
+                            `proxyURL` defines the HTTP proxy server to use.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.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).
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                          type: boolean
-                        proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -3402,7 +3330,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -3424,7 +3354,9 @@ spec:
                                         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
@@ -3450,7 +3382,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -3472,7 +3406,9 @@ spec:
                                         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
@@ -3498,7 +3434,9 @@ spec:
                                     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
@@ -3511,6 +3449,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -3522,6 +3461,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -3542,6 +3482,14 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
+                    port:
+                      description: |-
+                        The port to scrape metrics from, when `role` is nodes, and for discovered
+                        tasks and services that don't have published ports.
+                      format: int32
+                      maximum: 65535
+                      minimum: 0
+                      type: integer
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -3557,7 +3505,9 @@ spec:
                                 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
@@ -3571,29 +3521,39 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: Refresh interval to re-read the instance list.
+                      description: The time after which the service discovery data is refreshed.
                       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
-                    server:
-                      description: The URL to connect to the Eureka server.
-                      minLength: 1
+                    role:
+                      description: Role of the targets to retrieve. Must be `Services`, `Tasks`, or `Nodes`.
+                      enum:
+                      - Services
+                      - Tasks
+                      - Nodes
                       type: string
                     tlsConfig:
-                      description: TLS configuration applying to the target HTTP endpoint.
+                      description: TLS configuration to use on every scrape request
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -3611,7 +3571,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -3633,7 +3595,9 @@ spec:
                                     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
@@ -3659,7 +3623,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -3681,7 +3647,9 @@ spec:
                                     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
@@ -3707,7 +3675,9 @@ spec:
                                 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
@@ -3720,6 +3690,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -3731,6 +3702,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -3743,98 +3715,130 @@ spec:
                           type: string
                       type: object
                   required:
-                  - server
+                  - host
+                  - role
                   type: object
                 type: array
-              fileSDConfigs:
-                description: FileSDConfigs defines a list of file service discovery configurations.
+              ec2SDConfigs:
+                description: EC2SDConfigs defines a list of EC2 service discovery configurations.
                 items:
                   description: |-
-                    FileSDConfig defines a Prometheus file service discovery configuration
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
+                    EC2SDConfig allow retrieving scrape targets from AWS EC2 instances.
+                    The private IP address is used by default, but may be changed to the public IP address with relabeling.
+                    The IAM credentials used must have the ec2:DescribeInstances permission to discover scrape targets
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ec2_sd_config
                   properties:
-                    files:
-                      description: |-
-                        List of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the
-                        prometheus-operator project makes no guarantees about the working directory where the configuration file is
-                        stored.
-                        Files must be mounted using Prometheus.ConfigMaps or Prometheus.Secrets.
-                      items:
-                        description: SDFile represents a file used for service discovery
-                        pattern: ^[^*]*(\*[^/]*)?\.(json|yml|yaml|JSON|YML|YAML)$
-                        type: string
-                      minItems: 1
-                      type: array
-                      x-kubernetes-list-type: set
-                    refreshInterval:
-                      description: RefreshInterval configures the refresh interval at which Prometheus will reload the content of the files.
-                      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
-                  required:
-                  - files
-                  type: object
-                type: array
-              gceSDConfigs:
-                description: GCESDConfigs defines a list of GCE service discovery configurations.
-                items:
-                  description: |-
-                    GCESDConfig configures scrape targets from GCP GCE instances.
-                    The private IP address is used by default, but may be changed to
-                    the public IP address with relabeling.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config
-
-                    The GCE service discovery will load the Google Cloud credentials
-                    from the file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable.
-                    See https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform
-
-                    A pre-requisite for using GCESDConfig is that a Secret containing valid
-                    Google Cloud credentials is mounted into the Prometheus or PrometheusAgent
-                    pod via the `.spec.secrets` field and that the GOOGLE_APPLICATION_CREDENTIALS
-                    environment variable is set to /etc/prometheus/secrets/<secret-name>/<credentials-filename.json>.
-                  properties:
-                    filter:
+                    accessKey:
+                      description: AccessKey is the AWS API key.
+                      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
+                    filters:
                       description: |-
-                        Filter can be used optionally to filter the instance list by other criteria
-                        Syntax of this filter is described in the filter query parameter section:
-                        https://cloud.google.com/compute/docs/reference/latest/instances/list
-                      type: string
+                        Filters can be used optionally to filter the instance list by other criteria.
+                        Available filter criteria can be found here:
+                        https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html
+                        Filter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html
+                      items:
+                        description: Filter name and value pairs to limit the discovery process to a subset of available resources.
+                        properties:
+                          name:
+                            description: Name of the Filter.
+                            type: string
+                          values:
+                            description: Value to filter on.
+                            items:
+                              type: string
+                            minItems: 1
+                            type: array
+                        required:
+                        - name
+                        - values
+                        type: object
+                      type: array
+                      x-kubernetes-list-map-keys:
+                      - name
+                      x-kubernetes-list-type: map
                     port:
                       description: |-
                         The port to scrape metrics from. If using the public IP address, this must
                         instead be specified in the relabeling rule.
                       type: integer
-                    project:
-                      description: The Google Cloud Project ID
-                      minLength: 1
-                      type: string
                     refreshInterval:
                       description: RefreshInterval configures the refresh interval at which Prometheus will 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
-                    tagSeparator:
-                      description: The tag separator is used to separate the tags on concatenation
+                    region:
+                      description: The AWS region
                       type: string
-                    zone:
-                      description: The zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs.
-                      minLength: 1
+                    roleARN:
+                      description: AWS Role ARN, an alternative to using AWS API keys.
                       type: string
-                  required:
-                  - project
-                  - zone
+                    secretKey:
+                      description: SecretKey is the AWS API 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: object
                 type: array
-              hetznerSDConfigs:
-                description: HetznerSDConfigs defines a list of Hetzner service discovery configurations.
+              enableCompression:
+                description: |-
+                  When false, Prometheus will request uncompressed response from the scraped target.
+
+
+                  It requires Prometheus >= v2.49.0.
+
+
+                  If unset, Prometheus uses true by default.
+                type: boolean
+              eurekaSDConfigs:
+                description: EurekaSDConfigs defines a list of Eureka service discovery configurations.
                 items:
                   description: |-
-                    HetznerSDConfig allow retrieving scrape targets from Hetzner Cloud API and Robot API.
-                    This service discovery uses the public IPv4 address by default, but that can be changed with relabeling
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#hetzner_sd_config
+                    Eureka SD configurations allow retrieving scrape targets using the Eureka REST API.
+                    Prometheus will periodically check the REST endpoint and create a target for every app instance.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#eureka_sd_config
                   properties:
                     authorization:
-                      description: |-
-                        Authorization header configuration, required when role is hcloud.
-                        Role robot does not support bearer token authentication.
+                      description: Authorization header to use on every scrape request.
                       properties:
                         credentials:
                           description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
@@ -3849,7 +3853,9 @@ spec:
                                 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
@@ -3862,15 +3868,15 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
                     basicAuth:
-                      description: |-
-                        BasicAuth information to use on every scrape request, required when role is robot.
-                        Role hcloud does not support basic auth.
+                      description: BasicAuth information to use on every scrape request.
                       properties:
                         password:
                           description: |-
@@ -3887,7 +3893,9 @@ spec:
                                 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
@@ -3911,7 +3919,9 @@ spec:
                                 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
@@ -3933,12 +3943,13 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
                         Optional OAuth 2.0 configuration.
-                        Cannot be used at the same time as `basic_auth` or `authorization`.
+                        Cannot be set at the same time as `authorization` or `basic_auth`.
                       properties:
                         clientId:
                           description: |-
@@ -3958,7 +3969,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -3980,7 +3993,9 @@ spec:
                                     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
@@ -4005,7 +4020,9 @@ spec:
                                 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
@@ -4027,7 +4044,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -4044,7 +4062,9 @@ spec:
                                     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
@@ -4058,17 +4078,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -4097,7 +4124,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -4119,7 +4148,9 @@ spec:
                                         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
@@ -4145,7 +4176,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -4167,7 +4200,9 @@ spec:
                                         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
@@ -4193,7 +4228,9 @@ spec:
                                     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
@@ -4206,6 +4243,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -4217,6 +4255,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -4237,9 +4276,6 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
-                    port:
-                      description: The port to scrape metrics from.
-                      type: integer
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -4255,7 +4291,9 @@ spec:
                                 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
@@ -4269,33 +4307,36 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: The time after which the servers are refreshed.
+                      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
-                    role:
-                      description: The Hetzner role of entities that should be discovered.
-                      enum:
-                      - hcloud
-                      - Hcloud
-                      - robot
-                      - Robot
+                    server:
+                      description: The URL to connect to the Eureka server.
+                      minLength: 1
                       type: string
                     tlsConfig:
-                      description: TLS configuration to use on every scrape request.
+                      description: TLS configuration applying to the target HTTP endpoint.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -4313,7 +4354,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -4335,7 +4378,9 @@ spec:
                                     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
@@ -4361,7 +4406,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -4383,7 +4430,9 @@ spec:
                                     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
@@ -4409,7 +4458,9 @@ spec:
                                 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
@@ -4422,6 +4473,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -4433,6 +4485,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -4445,63 +4498,139 @@ spec:
                           type: string
                       type: object
                   required:
-                  - role
+                  - server
                   type: object
                 type: array
-              honorLabels:
-                description: HonorLabels chooses the metric's labels on collisions with target labels.
-                type: boolean
-              honorTimestamps:
-                description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
-                type: boolean
-              httpSDConfigs:
-                description: HTTPSDConfigs defines a list of HTTP service discovery configurations.
+              fileSDConfigs:
+                description: FileSDConfigs defines a list of file service discovery configurations.
                 items:
                   description: |-
-                    HTTPSDConfig defines a prometheus HTTP service discovery configuration
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config
+                    FileSDConfig defines a Prometheus file service discovery configuration
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
                   properties:
-                    authorization:
+                    files:
                       description: |-
-                        Authorization header configuration to authenticate against the target HTTP endpoint.
-                        Cannot be set at the same time as `oAuth2`, or `basicAuth`.
-                      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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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.
+                        List of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the
+                        prometheus-operator project makes no guarantees about the working directory where the configuration file is
+                        stored.
+                        Files must be mounted using Prometheus.ConfigMaps or Prometheus.Secrets.
+                      items:
+                        description: SDFile represents a file used for service discovery
+                        pattern: ^[^*]*(\*[^/]*)?\.(json|yml|yaml|JSON|YML|YAML)$
+                        type: string
+                      minItems: 1
+                      type: array
+                    refreshInterval:
+                      description: RefreshInterval configures the refresh interval at which Prometheus will reload the content of the files.
+                      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
+                  required:
+                  - files
+                  type: object
+                type: array
+              gceSDConfigs:
+                description: GCESDConfigs defines a list of GCE service discovery configurations.
+                items:
+                  description: |-
+                    GCESDConfig configures scrape targets from GCP GCE instances.
+                    The private IP address is used by default, but may be changed to
+                    the public IP address with relabeling.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config
 
-                            "Basic" is not a supported value.
 
-                            Default: "Bearer"
-                          type: string
-                      type: object
-                    basicAuth:
-                      description: |-
-                        BasicAuth information to authenticate against the target HTTP endpoint.
-                        More info: https://prometheus.io/docs/operating/configuration/#endpoints
-                        Cannot be set at the same time as `authorization`, or `oAuth2`.
+                    The GCE service discovery will load the Google Cloud credentials
+                    from the file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable.
+                    See https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform
+
+
+                    A pre-requisite for using GCESDConfig is that a Secret containing valid
+                    Google Cloud credentials is mounted into the Prometheus or PrometheusAgent
+                    pod via the `.spec.secrets` field and that the GOOGLE_APPLICATION_CREDENTIALS
+                    environment variable is set to /etc/prometheus/secrets/<secret-name>/<credentials-filename.json>.
+                  properties:
+                    filter:
+                      description: |-
+                        Filter can be used optionally to filter the instance list by other criteria
+                        Syntax of this filter is described in the filter query parameter section:
+                        https://cloud.google.com/compute/docs/reference/latest/instances/list
+                      type: string
+                    port:
+                      description: |-
+                        The port to scrape metrics from. If using the public IP address, this must
+                        instead be specified in the relabeling rule.
+                      type: integer
+                    project:
+                      description: The Google Cloud Project ID
+                      minLength: 1
+                      type: string
+                    refreshInterval:
+                      description: RefreshInterval configures the refresh interval at which Prometheus will 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
+                    tagSeparator:
+                      description: The tag separator is used to separate the tags on concatenation
+                      type: string
+                    zone:
+                      description: The zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs.
+                      minLength: 1
+                      type: string
+                  required:
+                  - project
+                  - zone
+                  type: object
+                type: array
+              hetznerSDConfigs:
+                description: HetznerSDConfigs defines a list of Hetzner service discovery configurations.
+                items:
+                  description: |-
+                    HetznerSDConfig allow retrieving scrape targets from Hetzner Cloud API and Robot API.
+                    This service discovery uses the public IPv4 address by default, but that can be changed with relabeling
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#hetzner_sd_config
+                  properties:
+                    authorization:
+                      description: |-
+                        Authorization header configuration, required when role is hcloud.
+                        Role robot does not support bearer token authentication.
+                      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:
+                              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:
+                          description: |-
+                            Defines the authentication type. The value is case-insensitive.
+
+
+                            "Basic" is not a supported value.
+
+
+                            Default: "Bearer"
+                          type: string
+                      type: object
+                    basicAuth:
+                      description: |-
+                        BasicAuth information to use on every scrape request, required when role is robot.
+                        Role hcloud does not support basic auth.
                       properties:
                         password:
                           description: |-
@@ -4518,7 +4647,9 @@ spec:
                                 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
@@ -4542,7 +4673,9 @@ spec:
                                 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
@@ -4564,12 +4697,13 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
-                        Optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.
-                        Cannot be set at the same time as `authorization`, or `basicAuth`.
+                        Optional OAuth 2.0 configuration.
+                        Cannot be used at the same time as `basic_auth` or `authorization`.
                       properties:
                         clientId:
                           description: |-
@@ -4589,7 +4723,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -4611,7 +4747,9 @@ spec:
                                     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
@@ -4636,7 +4774,9 @@ spec:
                                 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
@@ -4658,7 +4798,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -4675,7 +4816,9 @@ spec:
                                     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
@@ -4689,17 +4832,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -4728,7 +4878,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -4750,7 +4902,9 @@ spec:
                                         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
@@ -4776,7 +4930,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -4798,7 +4954,9 @@ spec:
                                         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
@@ -4824,7 +4982,9 @@ spec:
                                     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
@@ -4837,6 +4997,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -4848,6 +5009,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -4868,6 +5030,9 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
+                    port:
+                      description: The port to scrape metrics from.
+                      type: integer
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -4883,7 +5048,9 @@ spec:
                                 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
@@ -4897,27 +5064,40 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: |-
-                        RefreshInterval configures the refresh interval at which Prometheus will re-query the
-                        endpoint to update the target list.
+                      description: The time after which the servers are refreshed.
                       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
+                    role:
+                      description: The Hetzner role of entities that should be discovered.
+                      enum:
+                      - hcloud
+                      - Hcloud
+                      - robot
+                      - Robot
+                      type: string
                     tlsConfig:
-                      description: TLS configuration applying to the target HTTP endpoint.
+                      description: TLS configuration to use on every scrape request.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -4935,7 +5115,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -4957,7 +5139,9 @@ spec:
                                     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
@@ -4983,7 +5167,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5005,7 +5191,9 @@ spec:
                                     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
@@ -5031,7 +5219,9 @@ spec:
                                 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
@@ -5044,6 +5234,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -5055,6 +5246,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -5066,24 +5258,25 @@ spec:
                           description: Used to verify the hostname for the targets.
                           type: string
                       type: object
-                    url:
-                      description: URL from which the targets are fetched.
-                      minLength: 1
-                      pattern: ^http(s)?://.+$
-                      type: string
                   required:
-                  - url
+                  - role
                   type: object
                 type: array
-              ionosSDConfigs:
-                description: IonosSDConfigs defines a list of IONOS service discovery configurations.
+              honorLabels:
+                description: HonorLabels chooses the metric's labels on collisions with target labels.
+                type: boolean
+              honorTimestamps:
+                description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
+                type: boolean
+              httpSDConfigs:
+                description: HTTPSDConfigs defines a list of HTTP service discovery configurations.
                 items:
                   description: |-
-                    IonosSDConfig configurations allow retrieving scrape targets from IONOS resources.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ionos_sd_config
+                    HTTPSDConfig defines a prometheus HTTP service discovery configuration
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config
                   properties:
                     authorization:
-                      description: Authorization` header configuration, required when using IONOS.
+                      description: Authorization header configuration to authenticate against the target HTTP endpoint.
                       properties:
                         credentials:
                           description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
@@ -5098,7 +5291,9 @@ spec:
                                 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
@@ -5111,39 +5306,22 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
-                    datacenterID:
-                      description: The unique ID of the IONOS data center.
-                      minLength: 1
-                      type: string
-                    enableHTTP2:
-                      description: Configure whether to enable HTTP2.
-                      type: boolean
-                    followRedirects:
-                      description: Configure whether the HTTP requests should follow HTTP 3xx redirects.
-                      type: boolean
-                    noProxy:
+                    basicAuth:
                       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 or Alertmanager >= 0.25.0.
-                      type: string
-                    port:
-                      description: Port to scrape the metrics from.
-                      format: int32
-                      maximum: 65535
-                      minimum: 0
-                      type: integer
-                    proxyConnectHeader:
-                      additionalProperties:
-                        items:
-                          description: SecretKeySelector selects a key of a Secret.
+                        BasicAuth information to authenticate against the target HTTP endpoint.
+                        More info: https://prometheus.io/docs/operating/configuration/#endpoints
+                      properties:
+                        password:
+                          description: |-
+                            `password` specifies a key of a Secret containing the password for
+                            authentication.
                           properties:
                             key:
                               description: The key of the secret to select from.  Must be a valid secret key.
@@ -5154,661 +5332,54 @@ spec:
                                 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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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 or Alertmanager >= 0.25.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).
-
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                      type: boolean
-                    proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
-                      pattern: ^http(s)?://.+$
-                      type: string
-                    refreshInterval:
-                      description: Refresh interval to re-read the list of resources.
-                      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 to use when connecting to the IONOS API.
-                      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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                        maxVersion:
-                          description: |-
-                            Maximum acceptable TLS version.
-
-                            It requires Prometheus >= v2.41.0.
-                          enum:
-                          - TLS10
-                          - TLS11
-                          - TLS12
-                          - TLS13
-                          type: string
-                        minVersion:
-                          description: |-
-                            Minimum acceptable TLS version.
-
-                            It requires Prometheus >= v2.35.0.
-                          enum:
-                          - TLS10
-                          - TLS11
-                          - TLS12
-                          - TLS13
-                          type: string
-                        serverName:
-                          description: Used to verify the hostname for the targets.
-                          type: string
-                      type: object
-                  required:
-                  - authorization
-                  - datacenterID
-                  type: object
-                type: array
-              jobName:
-                description: |-
-                  The value of the `job` label assigned to the scraped metrics by default.
-
-                  The `job_name` field in the rendered scrape configuration is always controlled by the
-                  operator to prevent duplicate job names, which Prometheus does not allow. Instead the
-                  `job` label is set by means of relabeling configs.
-                minLength: 1
-                type: string
-              keepDroppedTargets:
-                description: |-
-                  Per-scrape limit on the number of targets dropped by relabeling
-                  that will be kept in memory. 0 means no limit.
-
-                  It requires Prometheus >= v2.47.0.
-                format: int64
-                type: integer
-              kubernetesSDConfigs:
-                description: KubernetesSDConfigs defines a list of Kubernetes service discovery configurations.
-                items:
-                  description: |-
-                    KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
-                  properties:
-                    apiServer:
-                      description: |-
-                        The API server address consisting of a hostname or IP address followed
-                        by an optional port number.
-                        If left empty, Prometheus is assumed to run inside
-                        of the cluster. It will discover API servers automatically and use the pod's
-                        CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.
-                      minLength: 1
-                      type: string
-                    attachMetadata:
-                      description: |-
-                        Optional metadata to attach to discovered targets.
-                        It requires Prometheus >= v2.35.0 when using the `Pod` role and
-                        Prometheus >= v2.37.0 for `Endpoints` and `Endpointslice` roles.
-                      properties:
-                        node:
-                          description: |-
-                            Attaches node metadata to discovered targets.
-                            When set to true, Prometheus must have the `get` permission on the
-                            `Nodes` objects.
-                            Only valid for Pod, Endpoint and Endpointslice roles.
-                          type: boolean
-                      type: object
-                    authorization:
-                      description: |-
-                        Authorization header to use on every scrape request.
-                        Cannot be set at the same time as `basicAuth`, or `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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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.
-
-                            "Basic" is not a supported value.
-
-                            Default: "Bearer"
-                          type: string
-                      type: object
-                    basicAuth:
-                      description: |-
-                        BasicAuth information to use on every scrape request.
-                        Cannot be set at the same time as `authorization`, or `oauth2`.
-                      properties:
-                        password:
-                          description: |-
-                            `password` specifies a key of a Secret containing the password for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                        username:
-                          description: |-
-                            `username` specifies a key of a Secret containing the username for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                    enableHTTP2:
-                      description: Whether to enable HTTP2.
-                      type: boolean
-                    followRedirects:
-                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
-                      type: boolean
-                    namespaces:
-                      description: Optional namespace discovery. If omitted, Prometheus discovers targets across all namespaces.
-                      properties:
-                        names:
-                          description: |-
-                            List of namespaces where to watch for resources.
-                            If empty and `ownNamespace` isn't true, Prometheus watches for resources in all namespaces.
-                          items:
-                            type: string
-                          type: array
-                          x-kubernetes-list-type: set
-                        ownNamespace:
-                          description: Includes the namespace in which the Prometheus pod runs to the list of watched namespaces.
-                          type: boolean
-                      type: object
-                    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 or Alertmanager >= 0.25.0.
-                      type: string
-                    oauth2:
-                      description: |-
-                        Optional OAuth 2.0 configuration.
-                        Cannot be set at the same time as `authorization`, or `basicAuth`.
-                      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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
-                        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 or Alertmanager >= 0.25.0.
-                          type: string
-                        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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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 or Alertmanager >= 0.25.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).
-
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
-                          type: boolean
-                        proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
-                          pattern: ^http(s)?://.+$
-                          type: string
-                        scopes:
-                          description: '`scopes` defines the OAuth2 scopes used for the token request.'
-                          items:
-                            type: string
-                          type: array
-                        tlsConfig:
-                          description: |-
-                            TLS configuration to use when connecting to the OAuth2 server.
-                            It requires Prometheus >= v2.43.0.
-                          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:
-                                      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.
-                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                      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:
-                                      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.
-                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                      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:
-                                      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.
-                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                      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:
-                                      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.
-                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                      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:
-                                  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.
-                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                                  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
-                            maxVersion:
-                              description: |-
-                                Maximum acceptable TLS version.
-
-                                It requires Prometheus >= v2.41.0.
-                              enum:
-                              - TLS10
-                              - TLS11
-                              - TLS12
-                              - TLS13
+                                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
-                            minVersion:
-                              description: |-
-                                Minimum acceptable TLS version.
-
-                                It requires Prometheus >= v2.35.0.
-                              enum:
-                              - TLS10
-                              - TLS11
-                              - TLS12
-                              - TLS13
+                            optional:
+                              description: Specify whether the Secret or its key must be defined
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                          x-kubernetes-map-type: atomic
+                        username:
+                          description: |-
+                            `username` specifies a key of a Secret containing the username for
+                            authentication.
+                          properties:
+                            key:
+                              description: The key of the secret to select from.  Must be a valid secret key.
                               type: string
-                            serverName:
-                              description: Used to verify the hostname for the targets.
+                            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
-                        tokenUrl:
-                          description: '`tokenURL` configures the URL to fetch the token from.'
-                          minLength: 1
-                          type: string
-                      required:
-                      - clientId
-                      - clientSecret
-                      - tokenUrl
+                          x-kubernetes-map-type: atomic
                       type: object
+                    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
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -5824,7 +5395,9 @@ spec:
                                 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
@@ -5838,71 +5411,34 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
-                    role:
+                    refreshInterval:
                       description: |-
-                        Role of the Kubernetes entities that should be discovered.
-                        Role `Endpointslice` requires Prometheus >= v2.21.0
-                      enum:
-                      - Pod
-                      - Endpoints
-                      - Ingress
-                      - Service
-                      - Node
-                      - EndpointSlice
+                        RefreshInterval configures the refresh interval at which Prometheus will re-query the
+                        endpoint to update the target 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
-                    selectors:
-                      description: |-
-                        Selector to select objects.
-                        It requires Prometheus >= v2.17.0
-                      items:
-                        description: K8SSelectorConfig is Kubernetes Selector Config
-                        properties:
-                          field:
-                            description: |-
-                              An optional field selector to limit the service discovery to resources which have fields with specific values.
-                              e.g: `metadata.name=foobar`
-                            minLength: 1
-                            type: string
-                          label:
-                            description: |-
-                              An optional label selector to limit the service discovery to resources with specific labels and label values.
-                              e.g: `node.kubernetes.io/instance-type=master`
-                            minLength: 1
-                            type: string
-                          role:
-                            description: |-
-                              Role specifies the type of Kubernetes resource to limit the service discovery to.
-                              Accepted values are: Node, Pod, Endpoints, EndpointSlice, Service, Ingress.
-                            enum:
-                            - Pod
-                            - Endpoints
-                            - Ingress
-                            - Service
-                            - Node
-                            - EndpointSlice
-                            type: string
-                        required:
-                        - role
-                        type: object
-                      type: array
-                      x-kubernetes-list-map-keys:
-                      - role
-                      x-kubernetes-list-type: map
                     tlsConfig:
-                      description: TLS configuration to connect to the Kubernetes API.
+                      description: TLS configuration applying to the target HTTP endpoint.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -5920,7 +5456,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5942,7 +5480,9 @@ spec:
                                     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
@@ -5968,7 +5508,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -5990,7 +5532,9 @@ spec:
                                     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
@@ -6016,7 +5560,9 @@ spec:
                                 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
@@ -6029,6 +5575,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -6040,6 +5587,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -6051,19 +5599,68 @@ spec:
                           description: Used to verify the hostname for the targets.
                           type: string
                       type: object
+                    url:
+                      description: URL from which the targets are fetched.
+                      minLength: 1
+                      pattern: ^http(s)?://.+$
+                      type: string
                   required:
-                  - role
+                  - url
                   type: object
                 type: array
-              kumaSDConfigs:
-                description: KumaSDConfigs defines a list of Kuma service discovery configurations.
+              jobName:
+                description: |-
+                  The value of the `job` label assigned to the scraped metrics by default.
+
+
+                  The `job_name` field in the rendered scrape configuration is always controlled by the
+                  operator to prevent duplicate job names, which Prometheus does not allow. Instead the
+                  `job` label is set by means of relabeling configs.
+                minLength: 1
+                type: string
+              keepDroppedTargets:
+                description: |-
+                  Per-scrape limit on the number of targets dropped by relabeling
+                  that will be kept in memory. 0 means no limit.
+
+
+                  It requires Prometheus >= v2.47.0.
+                format: int64
+                type: integer
+              kubernetesSDConfigs:
+                description: KubernetesSDConfigs defines a list of Kubernetes service discovery configurations.
                 items:
                   description: |-
-                    KumaSDConfig allow retrieving scrape targets from Kuma's control plane.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kuma_sd_config
+                    KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
                   properties:
+                    apiServer:
+                      description: |-
+                        The API server address consisting of a hostname or IP address followed
+                        by an optional port number.
+                        If left empty, Prometheus is assumed to run inside
+                        of the cluster. It will discover API servers automatically and use the pod's
+                        CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.
+                      minLength: 1
+                      type: string
+                    attachMetadata:
+                      description: |-
+                        Optional metadata to attach to discovered targets.
+                        It requires Prometheus >= v2.35.0 when using the `Pod` role and
+                        Prometheus >= v2.37.0 for `Endpoints` and `Endpointslice` roles.
+                      properties:
+                        node:
+                          description: |-
+                            Attaches node metadata to discovered targets.
+                            When set to true, Prometheus must have the `get` permission on the
+                            `Nodes` objects.
+                            Only valid for Pod, Endpoint and Endpointslice roles.
+                          type: boolean
+                      type: object
                     authorization:
-                      description: Authorization header to use on every scrape request.
+                      description: |-
+                        Authorization header to use on every scrape request.
+                        Cannot be set at the same time as `basicAuth`, or `oauth2`.
                       properties:
                         credentials:
                           description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
@@ -6078,7 +5675,9 @@ spec:
                                 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
@@ -6091,13 +5690,17 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
                     basicAuth:
-                      description: BasicAuth information to use on every scrape request.
+                      description: |-
+                        BasicAuth information to use on every scrape request.
+                        Cannot be set at the same time as `authorization`, or `oauth2`.
                       properties:
                         password:
                           description: |-
@@ -6114,7 +5717,9 @@ spec:
                                 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
@@ -6138,7 +5743,9 @@ spec:
                                 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
@@ -6148,26 +5755,35 @@ spec:
                           type: object
                           x-kubernetes-map-type: atomic
                       type: object
-                    clientID:
-                      description: Client id is used by Kuma Control Plane to compute Monitoring Assignment for specific Prometheus backend.
-                      type: string
                     enableHTTP2:
                       description: Whether to enable HTTP2.
                       type: boolean
-                    fetchTimeout:
-                      description: The time after which the monitoring assignments are refreshed.
-                      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
                     followRedirects:
                       description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
+                    namespaces:
+                      description: Optional namespace discovery. If omitted, Prometheus discovers targets across all namespaces.
+                      properties:
+                        names:
+                          description: |-
+                            List of namespaces where to watch for resources.
+                            If empty and `ownNamespace` isn't true, Prometheus watches for resources in all namespaces.
+                          items:
+                            type: string
+                          type: array
+                          x-kubernetes-list-type: set
+                        ownNamespace:
+                          description: Includes the namespace in which the Prometheus pod runs to the list of watched namespaces.
+                          type: boolean
+                      type: object
                     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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
@@ -6192,7 +5808,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6214,7 +5832,9 @@ spec:
                                     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
@@ -6239,7 +5859,9 @@ spec:
                                 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
@@ -6261,7 +5883,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -6278,7 +5901,9 @@ spec:
                                     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
@@ -6292,17 +5917,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -6331,7 +5963,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -6353,7 +5987,9 @@ spec:
                                         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
@@ -6379,7 +6015,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -6401,7 +6039,9 @@ spec:
                                         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
@@ -6427,7 +6067,9 @@ spec:
                                     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
@@ -6440,6 +6082,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -6451,6 +6094,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -6486,7 +6130,9 @@ spec:
                                 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
@@ -6500,29 +6146,78 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
-                    refreshInterval:
-                      description: The time to wait between polling update requests.
-                      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
-                    server:
-                      description: Address of the Kuma Control Plane's MADS xDS server.
-                      minLength: 1
+                    role:
+                      description: |-
+                        Role of the Kubernetes entities that should be discovered.
+                        Role `Endpointslice` requires Prometheus >= v2.21.0
+                      enum:
+                      - Pod
+                      - Endpoints
+                      - Ingress
+                      - Service
+                      - Node
+                      - EndpointSlice
                       type: string
+                    selectors:
+                      description: |-
+                        Selector to select objects.
+                        It requires Prometheus >= v2.17.0
+                      items:
+                        description: K8SSelectorConfig is Kubernetes Selector Config
+                        properties:
+                          field:
+                            description: |-
+                              An optional field selector to limit the service discovery to resources which have fields with specific values.
+                              e.g: `metadata.name=foobar`
+                            minLength: 1
+                            type: string
+                          label:
+                            description: |-
+                              An optional label selector to limit the service discovery to resources with specific labels and label values.
+                              e.g: `node.kubernetes.io/instance-type=master`
+                            minLength: 1
+                            type: string
+                          role:
+                            description: |-
+                              Role specifies the type of Kubernetes resource to limit the service discovery to.
+                              Accepted values are: Node, Pod, Endpoints, EndpointSlice, Service, Ingress.
+                            enum:
+                            - Pod
+                            - Endpoints
+                            - Ingress
+                            - Service
+                            - Node
+                            - EndpointSlice
+                            type: string
+                        required:
+                        - role
+                        type: object
+                      type: array
+                      x-kubernetes-list-map-keys:
+                      - role
+                      x-kubernetes-list-type: map
                     tlsConfig:
-                      description: TLS configuration to use on every scrape request
+                      description: TLS configuration to connect to the Kubernetes API.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -6540,7 +6235,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6562,7 +6259,9 @@ spec:
                                     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
@@ -6588,7 +6287,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6610,7 +6311,9 @@ spec:
                                     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
@@ -6636,7 +6339,9 @@ spec:
                                 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
@@ -6649,6 +6354,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -6660,6 +6366,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -6672,60 +6379,18 @@ spec:
                           type: string
                       type: object
                   required:
-                  - server
+                  - role
                   type: object
                 type: array
-              labelLimit:
-                description: |-
-                  Per-scrape limit on number of labels that will be accepted for a sample.
-                  Only valid in Prometheus versions 2.27.0 and newer.
-                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.27.0 and newer.
-                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.27.0 and newer.
-                format: int64
-                type: integer
-              lightSailSDConfigs:
-                description: LightsailSDConfigs defines a list of Lightsail service discovery configurations.
+              kumaSDConfigs:
+                description: KumaSDConfigs defines a list of Kuma service discovery configurations.
                 items:
                   description: |-
-                    LightSailSDConfig configurations allow retrieving scrape targets from AWS Lightsail instances.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#lightsail_sd_config
+                    KumaSDConfig allow retrieving scrape targets from Kuma's control plane.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kuma_sd_config
                   properties:
-                    accessKey:
-                      description: AccessKey is the AWS API key.
-                      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.
-                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                          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
                     authorization:
-                      description: |-
-                        Optional `authorization` HTTP header configuration.
-                        Cannot be set at the same time as `basicAuth`, or `oauth2`.
+                      description: Authorization header to use on every scrape request.
                       properties:
                         credentials:
                           description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
@@ -6740,7 +6405,9 @@ spec:
                                 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
@@ -6753,15 +6420,15 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
                     basicAuth:
-                      description: |-
-                        Optional HTTP basic authentication information.
-                        Cannot be set at the same time as `authorization`, or `oauth2`.
+                      description: BasicAuth information to use on every scrape request.
                       properties:
                         password:
                           description: |-
@@ -6778,7 +6445,9 @@ spec:
                                 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
@@ -6802,7 +6471,9 @@ spec:
                                 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
@@ -6812,15 +6483,18 @@ spec:
                           type: object
                           x-kubernetes-map-type: atomic
                       type: object
+                    clientID:
+                      description: Client id is used by Kuma Control Plane to compute Monitoring Assignment for specific Prometheus backend.
+                      type: string
                     enableHTTP2:
-                      description: Configure whether to enable HTTP2.
+                      description: Whether to enable HTTP2.
                       type: boolean
-                    endpoint:
-                      description: Custom endpoint to be used.
-                      minLength: 1
+                    fetchTimeout:
+                      description: The time after which the monitoring assignments are refreshed.
+                      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
                     followRedirects:
-                      description: Configure whether the HTTP requests should follow HTTP 3xx redirects.
+                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
                     noProxy:
                       description: |-
@@ -6828,12 +6502,13 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
-                        Optional OAuth2.0 configuration.
-                        Cannot be set at the same time as `basicAuth`, or `authorization`.
+                        Optional OAuth 2.0 configuration.
+                        Cannot be set at the same time as `authorization`, or `basicAuth`.
                       properties:
                         clientId:
                           description: |-
@@ -6853,7 +6528,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -6875,7 +6552,9 @@ spec:
                                     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
@@ -6900,7 +6579,9 @@ spec:
                                 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
@@ -6922,7 +6603,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -6939,7 +6621,9 @@ spec:
                                     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
@@ -6953,17 +6637,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -6992,7 +6683,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -7014,7 +6707,9 @@ spec:
                                         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
@@ -7040,7 +6735,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -7062,7 +6759,9 @@ spec:
                                         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
@@ -7088,7 +6787,9 @@ spec:
                                     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
@@ -7101,6 +6802,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -7112,6 +6814,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -7132,14 +6835,6 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
-                    port:
-                      description: |-
-                        Port to scrape the metrics from.
-                        If using the public IP address, this must instead be specified in the relabeling rule.
-                      format: int32
-                      maximum: 65535
-                      minimum: 0
-                      type: integer
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -7155,7 +6850,9 @@ spec:
                                 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
@@ -7169,54 +6866,36 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: Refresh interval to re-read the list of instances.
+                      description: The time to wait between polling update requests.
                       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
-                    region:
-                      description: The AWS region.
+                    server:
+                      description: Address of the Kuma Control Plane's MADS xDS server.
                       minLength: 1
                       type: string
-                    roleARN:
-                      description: AWS Role ARN, an alternative to using AWS API keys.
-                      type: string
-                    secretKey:
-                      description: SecretKey is the AWS API 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.
-                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                          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
                     tlsConfig:
-                      description: TLS configuration to connect to the Puppet DB.
+                      description: TLS configuration to use on every scrape request
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -7234,7 +6913,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7256,7 +6937,9 @@ spec:
                                     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
@@ -7282,7 +6965,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7304,7 +6989,9 @@ spec:
                                     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
@@ -7330,7 +7017,9 @@ spec:
                                 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
@@ -7343,6 +7032,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -7354,6 +7044,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -7365,20 +7056,109 @@ spec:
                           description: Used to verify the hostname for the targets.
                           type: string
                       type: object
+                  required:
+                  - server
                   type: object
                 type: array
-              linodeSDConfigs:
-                description: LinodeSDConfigs defines a list of Linode service discovery configurations.
+              labelLimit:
+                description: |-
+                  Per-scrape limit on number of labels that will be accepted for a sample.
+                  Only valid in Prometheus versions 2.27.0 and newer.
+                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.27.0 and newer.
+                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.27.0 and newer.
+                format: int64
+                type: integer
+              lightSailSDConfigs:
+                description: LightsailSDConfigs defines a list of Lightsail service discovery configurations.
                 items:
                   description: |-
-                    LinodeSDConfig configurations allow retrieving scrape targets from Linode's Linode APIv4.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#linode_sd_config
+                    LightSailSDConfig configurations allow retrieving scrape targets from AWS Lightsail instances.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#lightsail_sd_config
+                    TODO: Need to document that we will not be supporting the `_file` fields.
                   properties:
+                    accessKey:
+                      description: AccessKey is the AWS API key.
+                      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
                     authorization:
-                      description: Authorization header configuration.
+                      description: |-
+                        Optional `authorization` HTTP header configuration.
+                        Cannot be set at the same time as `basicAuth`, or `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:
+                              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:
+                          description: |-
+                            Defines the authentication type. The value is case-insensitive.
+
+
+                            "Basic" is not a supported value.
+
+
+                            Default: "Bearer"
+                          type: string
+                      type: object
+                    basicAuth:
+                      description: |-
+                        Optional HTTP basic authentication information.
+                        Cannot be set at the same time as `authorization`, or `oauth2`.
                       properties:
-                        credentials:
-                          description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
+                        password:
+                          description: |-
+                            `password` specifies a key of a Secret containing the password for
+                            authentication.
                           properties:
                             key:
                               description: The key of the secret to select from.  Must be a valid secret key.
@@ -7390,7 +7170,9 @@ spec:
                                 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
@@ -7399,20 +7181,42 @@ spec:
                           - key
                           type: object
                           x-kubernetes-map-type: atomic
-                        type:
+                        username:
                           description: |-
-                            Defines the authentication type. The value is case-insensitive.
-
-                            "Basic" is not a supported value.
-
-                            Default: "Bearer"
-                          type: string
+                            `username` specifies a key of a Secret containing the username for
+                            authentication.
+                          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: object
                     enableHTTP2:
-                      description: Whether to enable HTTP2.
+                      description: Configure whether to enable HTTP2.
                       type: boolean
+                    endpoint:
+                      description: Custom endpoint to be used.
+                      minLength: 1
+                      type: string
                     followRedirects:
-                      description: Configure whether HTTP requests follow HTTP 3xx redirects.
+                      description: Configure whether the HTTP requests should follow HTTP 3xx redirects.
                       type: boolean
                     noProxy:
                       description: |-
@@ -7420,12 +7224,13 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
-                        Optional OAuth 2.0 configuration.
-                        Cannot be used at the same time as `authorization`.
+                        Optional OAuth2.0 configuration.
+                        Cannot be set at the same time as `basicAuth`, or `authorization`.
                       properties:
                         clientId:
                           description: |-
@@ -7445,7 +7250,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7467,7 +7274,9 @@ spec:
                                     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
@@ -7492,7 +7301,9 @@ spec:
                                 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
@@ -7514,7 +7325,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -7531,7 +7343,9 @@ spec:
                                     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
@@ -7545,17 +7359,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -7584,7 +7405,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -7606,7 +7429,9 @@ spec:
                                         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
@@ -7632,7 +7457,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -7654,7 +7481,9 @@ spec:
                                         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
@@ -7680,7 +7509,9 @@ spec:
                                     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
@@ -7693,6 +7524,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -7704,6 +7536,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -7725,7 +7558,9 @@ spec:
                       - tokenUrl
                       type: object
                     port:
-                      description: Default port to scrape metrics from.
+                      description: |-
+                        Port to scrape the metrics from.
+                        If using the public IP address, this must instead be specified in the relabeling rule.
                       format: int32
                       maximum: 65535
                       minimum: 0
@@ -7745,7 +7580,9 @@ spec:
                                 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
@@ -7759,33 +7596,63 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: Time after which the linode instances are refreshed.
+                      description: Refresh interval to re-read the list of instances.
                       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
                     region:
-                      description: Optional region to filter on.
+                      description: The AWS region.
                       minLength: 1
                       type: string
-                    tagSeparator:
-                      description: The string by which Linode Instance tags are joined into the tag label.
-                      minLength: 1
+                    roleARN:
+                      description: AWS Role ARN, an alternative to using AWS API keys.
                       type: string
+                    secretKey:
+                      description: SecretKey is the AWS API 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
                     tlsConfig:
-                      description: TLS configuration applying to the target HTTP endpoint.
+                      description: TLS configuration to connect to the Puppet DB.
                       properties:
                         ca:
                           description: Certificate authority used when verifying server certificates.
@@ -7803,7 +7670,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7825,7 +7694,9 @@ spec:
                                     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
@@ -7851,7 +7722,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -7873,7 +7746,9 @@ spec:
                                     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
@@ -7899,7 +7774,9 @@ spec:
                                 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
@@ -7912,6 +7789,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -7923,6 +7801,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -7936,157 +7815,18 @@ spec:
                       type: object
                   type: object
                 type: array
-              metricRelabelings:
-                description: MetricRelabelConfigs to apply to samples before ingestion.
-                items:
-                  description: |-
-                    RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
-                    scraped samples and remote write samples.
-
-                    More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
-                  properties:
-                    action:
-                      default: replace
-                      description: |-
-                        Action to perform based on the regex matching.
-
-                        `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
-                        `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
-
-                        Default: "Replace"
-                      enum:
-                      - replace
-                      - Replace
-                      - keep
-                      - Keep
-                      - drop
-                      - Drop
-                      - hashmod
-                      - HashMod
-                      - labelmap
-                      - LabelMap
-                      - labeldrop
-                      - LabelDrop
-                      - labelkeep
-                      - LabelKeep
-                      - lowercase
-                      - Lowercase
-                      - uppercase
-                      - Uppercase
-                      - keepequal
-                      - KeepEqual
-                      - dropequal
-                      - DropEqual
-                      type: string
-                    modulus:
-                      description: |-
-                        Modulus to take of the hash of the source label values.
-
-                        Only applicable when the action is `HashMod`.
-                      format: int64
-                      type: integer
-                    regex:
-                      description: Regular expression against which the extracted value is matched.
-                      type: string
-                    replacement:
-                      description: |-
-                        Replacement value against which a Replace action is performed if the
-                        regular expression matches.
-
-                        Regex capture groups are available.
-                      type: string
-                    separator:
-                      description: Separator is the string between concatenated SourceLabels.
-                      type: string
-                    sourceLabels:
-                      description: |-
-                        The source labels select values from existing labels. Their content is
-                        concatenated using the configured Separator and matched against the
-                        configured regular expression.
-                      items:
-                        description: |-
-                          LabelName is a valid Prometheus label name which may only contain ASCII
-                          letters, numbers, as well as underscores.
-                        pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
-                        type: string
-                      type: array
-                    targetLabel:
-                      description: |-
-                        Label to which the resulting string is written in a replacement.
-
-                        It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
-                        `KeepEqual` and `DropEqual` actions.
-
-                        Regex capture groups are available.
-                      type: string
-                  type: object
-                minItems: 1
-                type: array
-              metricsPath:
-                description: MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics).
-                minLength: 1
-                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 or Alertmanager >= 0.25.0.
-                type: string
-              nomadSDConfigs:
-                description: NomadSDConfigs defines a list of Nomad service discovery configurations.
-                items:
-                  description: |-
-                    NomadSDConfig configurations allow retrieving scrape targets from Nomad's Service API.
-                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#nomad_sd_config
-                  properties:
-                    allowStale:
-                      description: |-
-                        The information to access the Nomad API. It is to be defined
-                        as the Nomad documentation requires.
-                      type: boolean
-                    authorization:
-                      description: Authorization header to use on every scrape request.
-                      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:
-                              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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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.
-
-                            "Basic" is not a supported value.
-
-                            Default: "Bearer"
-                          type: string
-                      type: object
-                    basicAuth:
-                      description: BasicAuth information to use on every scrape request.
+              linodeSDConfigs:
+                description: LinodeSDConfigs defines a list of Linode service discovery configurations.
+                items:
+                  description: |-
+                    LinodeSDConfig configurations allow retrieving scrape targets from Linode's Linode APIv4.
+                    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#linode_sd_config
+                  properties:
+                    authorization:
+                      description: Authorization header configuration.
                       properties:
-                        password:
-                          description: |-
-                            `password` specifies a key of a Secret containing the password for
-                            authentication.
+                        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.
@@ -8098,7 +7838,9 @@ spec:
                                 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
@@ -8107,30 +7849,16 @@ spec:
                           - key
                           type: object
                           x-kubernetes-map-type: atomic
-                        username:
+                        type:
                           description: |-
-                            `username` specifies a key of a Secret containing the username for
-                            authentication.
-                          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.
-                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                              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
+                            Defines the authentication type. The value is case-insensitive.
+
+
+                            "Basic" is not a supported value.
+
+
+                            Default: "Bearer"
+                          type: string
                       type: object
                     enableHTTP2:
                       description: Whether to enable HTTP2.
@@ -8138,20 +7866,19 @@ spec:
                     followRedirects:
                       description: Configure whether HTTP requests follow HTTP 3xx redirects.
                       type: boolean
-                    namespace:
-                      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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
                         Optional OAuth 2.0 configuration.
-                        Cannot be set at the same time as `authorization` or `basic_auth`.
+                        Cannot be used at the same time as `authorization`.
                       properties:
                         clientId:
                           description: |-
@@ -8171,7 +7898,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -8193,7 +7922,9 @@ spec:
                                     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
@@ -8218,7 +7949,9 @@ spec:
                                 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
@@ -8240,7 +7973,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -8257,7 +7991,9 @@ spec:
                                     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
@@ -8271,17 +8007,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -8310,7 +8053,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -8332,7 +8077,9 @@ spec:
                                         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
@@ -8358,7 +8105,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -8380,7 +8129,9 @@ spec:
                                         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
@@ -8406,7 +8157,9 @@ spec:
                                     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
@@ -8419,6 +8172,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -8430,6 +8184,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -8450,6 +8205,12 @@ spec:
                       - clientSecret
                       - tokenUrl
                       type: object
+                    port:
+                      description: Default port to scrape metrics from.
+                      format: int32
+                      maximum: 65535
+                      minimum: 0
+                      type: integer
                     proxyConnectHeader:
                       additionalProperties:
                         items:
@@ -8465,7 +8226,9 @@ spec:
                                 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
@@ -8479,32 +8242,37 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
-                      description: |-
-                        Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function.
-                        Supported units: y, w, d, h, m, s, ms
-                        Examples: `30s`, `1m`, `1h20m15s`, `15d`
+                      description: Time after which the linode instances are refreshed.
                       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
                     region:
-                      type: string
-                    server:
+                      description: Optional region to filter on.
                       minLength: 1
                       type: string
                     tagSeparator:
+                      description: The string by which Linode Instance tags are joined into the tag label.
+                      minLength: 1
                       type: string
                     tlsConfig:
                       description: TLS configuration applying to the target HTTP endpoint.
@@ -8525,7 +8293,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -8547,7 +8317,9 @@ spec:
                                     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
@@ -8573,7 +8345,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -8595,7 +8369,9 @@ spec:
                                     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
@@ -8621,7 +8397,9 @@ spec:
                                 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
@@ -8634,6 +8412,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -8645,6 +8424,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -8656,12 +8436,114 @@ spec:
                           description: Used to verify the hostname for the targets.
                           type: string
                       type: object
-                  required:
-                  - server
                   type: object
                 type: array
+              metricRelabelings:
+                description: MetricRelabelConfigs to apply to samples before ingestion.
+                items:
+                  description: |-
+                    RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
+                    scraped samples and remote write samples.
+
+
+                    More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
+                  properties:
+                    action:
+                      default: replace
+                      description: |-
+                        Action to perform based on the regex matching.
+
+
+                        `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
+                        `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
+
+
+                        Default: "Replace"
+                      enum:
+                      - replace
+                      - Replace
+                      - keep
+                      - Keep
+                      - drop
+                      - Drop
+                      - hashmod
+                      - HashMod
+                      - labelmap
+                      - LabelMap
+                      - labeldrop
+                      - LabelDrop
+                      - labelkeep
+                      - LabelKeep
+                      - lowercase
+                      - Lowercase
+                      - uppercase
+                      - Uppercase
+                      - keepequal
+                      - KeepEqual
+                      - dropequal
+                      - DropEqual
+                      type: string
+                    modulus:
+                      description: |-
+                        Modulus to take of the hash of the source label values.
+
+
+                        Only applicable when the action is `HashMod`.
+                      format: int64
+                      type: integer
+                    regex:
+                      description: Regular expression against which the extracted value is matched.
+                      type: string
+                    replacement:
+                      description: |-
+                        Replacement value against which a Replace action is performed if the
+                        regular expression matches.
+
+
+                        Regex capture groups are available.
+                      type: string
+                    separator:
+                      description: Separator is the string between concatenated SourceLabels.
+                      type: string
+                    sourceLabels:
+                      description: |-
+                        The source labels select values from existing labels. Their content is
+                        concatenated using the configured Separator and matched against the
+                        configured regular expression.
+                      items:
+                        description: |-
+                          LabelName is a valid Prometheus label name which may only contain ASCII
+                          letters, numbers, as well as underscores.
+                        pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
+                        type: string
+                      type: array
+                    targetLabel:
+                      description: |-
+                        Label to which the resulting string is written in a replacement.
+
+
+                        It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
+                        `KeepEqual` and `DropEqual` actions.
+
+
+                        Regex capture groups are available.
+                      type: string
+                  type: object
+                type: array
+              metricsPath:
+                description: MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics).
+                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 to use on every scrape request.
+                description: OAuth2 client credentials used to fetch a token for the targets.
                 properties:
                   clientId:
                     description: |-
@@ -8681,7 +8563,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -8703,7 +8587,9 @@ spec:
                               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
@@ -8728,7 +8614,9 @@ spec:
                           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
@@ -8750,7 +8638,8 @@ spec:
                       that should be excluded from proxying. IP and domain names can
                       contain port numbers.
 
-                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                      It requires Prometheus >= v2.43.0.
                     type: string
                   proxyConnectHeader:
                     additionalProperties:
@@ -8767,7 +8656,9 @@ spec:
                               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
@@ -8781,17 +8672,24 @@ spec:
                       ProxyConnectHeader optionally specifies headers to send to
                       proxies during CONNECT requests.
 
-                      It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                      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 or Alertmanager >= 0.25.0.
+                      It requires Prometheus >= v2.43.0.
                     type: boolean
                   proxyUrl:
-                    description: '`proxyURL` defines the HTTP proxy server to use.'
+                    description: |-
+                      `proxyURL` defines the HTTP proxy server to use.
+
+
+                      It requires Prometheus >= v2.43.0.
                     pattern: ^http(s)?://.+$
                     type: string
                   scopes:
@@ -8820,7 +8718,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -8842,7 +8742,9 @@ spec:
                                   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
@@ -8868,7 +8770,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -8890,7 +8794,9 @@ spec:
                                   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
@@ -8916,7 +8822,9 @@ spec:
                               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
@@ -8929,6 +8837,7 @@ spec:
                         description: |-
                           Maximum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.41.0.
                         enum:
                         - TLS10
@@ -8940,6 +8849,7 @@ spec:
                         description: |-
                           Minimum acceptable TLS version.
 
+
                           It requires Prometheus >= v2.35.0.
                         enum:
                         - TLS10
@@ -8997,7 +8907,9 @@ spec:
                             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
@@ -9044,7 +8956,9 @@ spec:
                             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
@@ -9103,7 +9017,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -9125,7 +9041,9 @@ spec:
                                     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
@@ -9151,7 +9069,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -9173,7 +9093,9 @@ spec:
                                     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
@@ -9199,7 +9121,9 @@ spec:
                                 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
@@ -9212,6 +9136,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -9223,6 +9148,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -9273,7 +9199,9 @@ spec:
                             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
@@ -9295,7 +9223,9 @@ spec:
                             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
@@ -9352,7 +9282,9 @@ spec:
                           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
@@ -9366,17 +9298,24 @@ spec:
                   ProxyConnectHeader optionally specifies headers to send to
                   proxies during CONNECT requests.
 
-                  It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                  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 or Alertmanager >= 0.25.0.
+                  It requires Prometheus >= v2.43.0.
                 type: boolean
               proxyUrl:
-                description: '`proxyURL` defines the HTTP proxy server to use.'
+                description: |-
+                  `proxyURL` defines the HTTP proxy server to use.
+
+
+                  It requires Prometheus >= v2.43.0.
                 pattern: ^http(s)?://.+$
                 type: string
               puppetDBSDConfigs:
@@ -9404,7 +9343,9 @@ spec:
                                 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
@@ -9417,8 +9358,10 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
@@ -9442,7 +9385,9 @@ spec:
                                 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
@@ -9466,7 +9411,9 @@ spec:
                                 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
@@ -9494,7 +9441,8 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     oauth2:
                       description: |-
@@ -9519,7 +9467,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -9541,7 +9491,9 @@ spec:
                                     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
@@ -9566,7 +9518,9 @@ spec:
                                 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
@@ -9588,7 +9542,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -9605,7 +9560,9 @@ spec:
                                     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
@@ -9619,17 +9576,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -9658,7 +9622,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -9680,7 +9646,9 @@ spec:
                                         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
@@ -9706,7 +9674,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -9728,7 +9698,9 @@ spec:
                                         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
@@ -9754,7 +9726,9 @@ spec:
                                     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
@@ -9767,6 +9741,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -9778,6 +9753,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -9819,7 +9795,9 @@ spec:
                                 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
@@ -9833,17 +9811,24 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     query:
@@ -9875,7 +9860,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -9897,7 +9884,9 @@ spec:
                                     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
@@ -9923,7 +9912,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -9945,7 +9936,9 @@ spec:
                                     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
@@ -9971,7 +9964,9 @@ spec:
                                 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
@@ -9984,6 +9979,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -9995,6 +9991,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -10027,6 +10024,7 @@ spec:
                     RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                     scraped samples and remote write samples.
 
+
                     More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                   properties:
                     action:
@@ -10034,9 +10032,11 @@ spec:
                       description: |-
                         Action to perform based on the regex matching.
 
+
                         `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                         `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                         Default: "Replace"
                       enum:
                       - replace
@@ -10066,6 +10066,7 @@ spec:
                       description: |-
                         Modulus to take of the hash of the source label values.
 
+
                         Only applicable when the action is `HashMod`.
                       format: int64
                       type: integer
@@ -10077,6 +10078,7 @@ spec:
                         Replacement value against which a Replace action is performed if the
                         regular expression matches.
 
+
                         Regex capture groups are available.
                       type: string
                     separator:
@@ -10098,13 +10100,14 @@ spec:
                       description: |-
                         Label to which the resulting string is written in a replacement.
 
+
                         It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                         `KeepEqual` and `DropEqual` actions.
 
+
                         Regex capture groups are available.
                       type: string
                   type: object
-                minItems: 1
                 type: array
               sampleLimit:
                 description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
@@ -10116,6 +10119,7 @@ spec:
                   description: |-
                     ScalewaySDConfig configurations allow retrieving scrape targets from Scaleway instances and baremetal services.
                     See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scaleway_sd_config
+                    TODO: Need to document that we will not be supporting the `_file` fields.
                   properties:
                     accessKey:
                       description: Access key to use. https://console.scaleway.com/project/credentials
@@ -10141,7 +10145,8 @@ spec:
                         that should be excluded from proxying. IP and domain names can
                         contain port numbers.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: string
                     port:
                       description: The port to scrape metrics from.
@@ -10168,7 +10173,9 @@ spec:
                                 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
@@ -10182,17 +10189,24 @@ spec:
                         ProxyConnectHeader optionally specifies headers to send to
                         proxies during CONNECT requests.
 
-                        It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                        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 or Alertmanager >= 0.25.0.
+
+                        It requires Prometheus >= v2.43.0.
                       type: boolean
                     proxyUrl:
-                      description: '`proxyURL` defines the HTTP proxy server to use.'
+                      description: |-
+                        `proxyURL` defines the HTTP proxy server to use.
+
+
+                        It requires Prometheus >= v2.43.0.
                       pattern: ^http(s)?://.+$
                       type: string
                     refreshInterval:
@@ -10218,7 +10232,9 @@ spec:
                             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
@@ -10230,11 +10246,9 @@ spec:
                     tagsFilter:
                       description: TagsFilter specify a tag filter (a server needs to have all defined tags to be listed) to apply on the server listing request.
                       items:
-                        minLength: 1
                         type: string
                       minItems: 1
                       type: array
-                      x-kubernetes-list-type: set
                     tlsConfig:
                       description: TLS configuration to use on every scrape request
                       properties:
@@ -10254,7 +10268,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -10276,7 +10292,9 @@ spec:
                                     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
@@ -10302,7 +10320,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -10324,7 +10344,9 @@ spec:
                                     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
@@ -10350,7 +10372,9 @@ spec:
                                 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
@@ -10363,6 +10387,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -10374,6 +10399,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -10417,8 +10443,10 @@ spec:
                   The protocols to negotiate during a scrape. It tells clients the
                   protocols supported by Prometheus in order of preference (from most to least preferred).
 
+
                   If unset, Prometheus uses its default value.
 
+
                   It requires Prometheus >= v2.49.0.
                 items:
                   description: |-
@@ -10434,7 +10462,6 @@ spec:
                   - OpenMetricsText1.0.0
                   - PrometheusText0.0.4
                   type: string
-                minItems: 1
                 type: array
                 x-kubernetes-list-type: set
               scrapeTimeout:
@@ -10485,7 +10512,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -10507,7 +10536,9 @@ spec:
                               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
@@ -10533,7 +10564,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -10555,7 +10588,9 @@ spec:
                               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
@@ -10581,7 +10616,9 @@ spec:
                           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
@@ -10594,6 +10631,7 @@ spec:
                     description: |-
                       Maximum acceptable TLS version.
 
+
                       It requires Prometheus >= v2.41.0.
                     enum:
                     - TLS10
@@ -10605,6 +10643,7 @@ spec:
                     description: |-
                       Minimum acceptable TLS version.
 
+
                       It requires Prometheus >= v2.35.0.
                     enum:
                     - TLS10
diff --git a/manifests/setup/0servicemonitorCustomResourceDefinition.yaml b/manifests/setup/0servicemonitorCustomResourceDefinition.yaml
index bf17b87bff389804f9af42e0b748f81c94b1eadc..c0e540dab7a3f051255b9bca1b7029f7c5a207f2 100644
--- a/manifests/setup/0servicemonitorCustomResourceDefinition.yaml
+++ b/manifests/setup/0servicemonitorCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: servicemonitors.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -29,6 +29,7 @@ spec:
           * Authentication credentials to use.
           * Target and metric relabeling.
 
+
           `Prometheus` and `PrometheusAgent` objects select `ServiceMonitor` objects using label and namespace selectors.
         properties:
           apiVersion:
@@ -58,6 +59,7 @@ spec:
                   `attachMetadata` defines additional metadata which is added to the
                   discovered targets.
 
+
                   It requires Prometheus >= v2.37.0.
                 properties:
                   node:
@@ -65,6 +67,7 @@ spec:
                       When set to true, Prometheus attaches node metadata to the discovered
                       targets.
 
+
                       The Prometheus service account must have the `list` and `watch`
                       permissions on the `Nodes` objects.
                     type: boolean
@@ -74,6 +77,7 @@ spec:
                   When defined, bodySizeLimit specifies a job level limit on the size
                   of uncompressed response body that will be accepted by Prometheus.
 
+
                   It requires Prometheus >= v2.28.0.
                 pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
                 type: string
@@ -92,6 +96,7 @@ spec:
                         `authorization` configures the Authorization header credentials to use when
                         scraping the target.
 
+
                         Cannot be set at the same time as `basicAuth`, or `oauth2`.
                       properties:
                         credentials:
@@ -107,7 +112,9 @@ spec:
                                 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
@@ -120,8 +127,10 @@ spec:
                           description: |-
                             Defines the authentication type. The value is case-insensitive.
 
+
                             "Basic" is not a supported value.
 
+
                             Default: "Bearer"
                           type: string
                       type: object
@@ -130,6 +139,7 @@ spec:
                         `basicAuth` configures the Basic Authentication credentials to use when
                         scraping the target.
 
+
                         Cannot be set at the same time as `authorization`, or `oauth2`.
                       properties:
                         password:
@@ -147,7 +157,9 @@ spec:
                                 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
@@ -171,7 +183,9 @@ spec:
                                 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
@@ -185,6 +199,7 @@ spec:
                       description: |-
                         File to read bearer token for scraping the target.
 
+
                         Deprecated: use `authorization` instead.
                       type: string
                     bearerTokenSecret:
@@ -193,6 +208,7 @@ spec:
                         token for scraping targets. The secret needs to be in the same namespace
                         as the ServiceMonitor object and readable by the Prometheus Operator.
 
+
                         Deprecated: use `authorization` instead.
                       properties:
                         key:
@@ -205,7 +221,9 @@ spec:
                             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
@@ -222,8 +240,10 @@ spec:
                         When true, the pods which are not running (e.g. either in Failed or
                         Succeeded state) are dropped during the target discovery.
 
+
                         If unset, the filtering is enabled.
 
+
                         More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
                       type: boolean
                     followRedirects:
@@ -245,6 +265,7 @@ spec:
                       description: |-
                         Interval at which Prometheus scrapes the metrics from the target.
 
+
                         If empty, Prometheus uses the global scrape interval.
                       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
@@ -257,6 +278,7 @@ spec:
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -264,9 +286,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -296,6 +320,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -307,6 +332,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -328,9 +354,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -339,8 +367,10 @@ spec:
                       description: |-
                         `oauth2` configures the OAuth2 settings to use when scraping the target.
 
+
                         It requires Prometheus >= 2.27.0.
 
+
                         Cannot be set at the same time as `authorization`, or `basicAuth`.
                       properties:
                         clientId:
@@ -361,7 +391,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -383,7 +415,9 @@ spec:
                                     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
@@ -408,7 +442,9 @@ spec:
                                 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
@@ -430,7 +466,8 @@ spec:
                             that should be excluded from proxying. IP and domain names can
                             contain port numbers.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            It requires Prometheus >= v2.43.0.
                           type: string
                         proxyConnectHeader:
                           additionalProperties:
@@ -447,7 +484,9 @@ spec:
                                     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
@@ -461,17 +500,24 @@ spec:
                             ProxyConnectHeader optionally specifies headers to send to
                             proxies during CONNECT requests.
 
-                            It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
+
+                            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 or Alertmanager >= 0.25.0.
+                            It requires Prometheus >= v2.43.0.
                           type: boolean
                         proxyUrl:
-                          description: '`proxyURL` defines the HTTP proxy server to use.'
+                          description: |-
+                            `proxyURL` defines the HTTP proxy server to use.
+
+
+                            It requires Prometheus >= v2.43.0.
                           pattern: ^http(s)?://.+$
                           type: string
                         scopes:
@@ -500,7 +546,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -522,7 +570,9 @@ spec:
                                         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
@@ -548,7 +598,9 @@ spec:
                                         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 ConfigMap or its key must be defined
@@ -570,7 +622,9 @@ spec:
                                         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
@@ -596,7 +650,9 @@ spec:
                                     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
@@ -609,6 +665,7 @@ spec:
                               description: |-
                                 Maximum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.41.0.
                               enum:
                               - TLS10
@@ -620,6 +677,7 @@ spec:
                               description: |-
                                 Minimum acceptable TLS version.
 
+
                                 It requires Prometheus >= v2.35.0.
                               enum:
                               - TLS10
@@ -651,12 +709,14 @@ spec:
                       description: |-
                         HTTP path from which to scrape for metrics.
 
+
                         If empty, Prometheus uses the default value (e.g. `/metrics`).
                       type: string
                     port:
                       description: |-
                         Name of the Service port which this endpoint refers to.
 
+
                         It takes precedence over `targetPort`.
                       type: string
                     proxyUrl:
@@ -669,16 +729,20 @@ spec:
                         `relabelings` configures the relabeling rules to apply the target's
                         metadata labels.
 
+
                         The Operator automatically adds relabelings for a few standard Kubernetes fields.
 
+
                         The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
 
+
                         More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                       items:
                         description: |-
                           RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
                           scraped samples and remote write samples.
 
+
                           More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                         properties:
                           action:
@@ -686,9 +750,11 @@ spec:
                             description: |-
                               Action to perform based on the regex matching.
 
+
                               `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
                               `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
 
+
                               Default: "Replace"
                             enum:
                             - replace
@@ -718,6 +784,7 @@ spec:
                             description: |-
                               Modulus to take of the hash of the source label values.
 
+
                               Only applicable when the action is `HashMod`.
                             format: int64
                             type: integer
@@ -729,6 +796,7 @@ spec:
                               Replacement value against which a Replace action is performed if the
                               regular expression matches.
 
+
                               Regex capture groups are available.
                             type: string
                           separator:
@@ -750,9 +818,11 @@ spec:
                             description: |-
                               Label to which the resulting string is written in a replacement.
 
+
                               It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
                               `KeepEqual` and `DropEqual` actions.
 
+
                               Regex capture groups are available.
                             type: string
                         type: object
@@ -761,9 +831,11 @@ spec:
                       description: |-
                         HTTP scheme to use for scraping.
 
+
                         `http` and `https` are the expected values unless you rewrite the
                         `__scheme__` label via relabeling.
 
+
                         If empty, Prometheus uses the default value `http`.
                       enum:
                       - http
@@ -773,6 +845,7 @@ spec:
                       description: |-
                         Timeout after which Prometheus considers the scrape to be failed.
 
+
                         If empty, Prometheus uses the global scrape timeout unless it is less
                         than the target's scrape interval value in which the latter is used.
                       pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
@@ -804,7 +877,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -826,7 +901,9 @@ spec:
                                     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
@@ -855,7 +932,9 @@ spec:
                                     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 ConfigMap or its key must be defined
@@ -877,7 +956,9 @@ spec:
                                     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
@@ -909,7 +990,9 @@ spec:
                                 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
@@ -922,6 +1005,7 @@ spec:
                           description: |-
                             Maximum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.41.0.
                           enum:
                           - TLS10
@@ -933,6 +1017,7 @@ spec:
                           description: |-
                             Minimum acceptable TLS version.
 
+
                             It requires Prometheus >= v2.35.0.
                           enum:
                           - TLS10
@@ -950,6 +1035,7 @@ spec:
                         the metrics that have an explicit timestamp present in scraped data.
                         Has no effect if `honorTimestamps` is false.
 
+
                         It requires Prometheus >= v2.48.0.
                       type: boolean
                   type: object
@@ -959,10 +1045,12 @@ spec:
                   `jobLabel` selects the label from the associated Kubernetes `Service`
                   object which will be used as the `job` label for all metrics.
 
+
                   For example if `jobLabel` is set to `foo` and the Kubernetes `Service`
                   object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
                   label to all ingested metrics.
 
+
                   If the value of this field is empty or if the label doesn't exist for
                   the given Service, the `job` label of the metrics defaults to the name
                   of the associated Kubernetes `Service`.
@@ -972,6 +1060,7 @@ spec:
                   Per-scrape limit on the number of targets dropped by relabeling
                   that will be kept in memory. 0 means no limit.
 
+
                   It requires Prometheus >= v2.47.0.
                 format: int64
                 type: integer
@@ -979,6 +1068,7 @@ spec:
                 description: |-
                   Per-scrape limit on number of labels that will be accepted for a sample.
 
+
                   It requires Prometheus >= v2.27.0.
                 format: int64
                 type: integer
@@ -986,6 +1076,7 @@ spec:
                 description: |-
                   Per-scrape limit on length of labels name that will be accepted for a sample.
 
+
                   It requires Prometheus >= v2.27.0.
                 format: int64
                 type: integer
@@ -993,6 +1084,7 @@ spec:
                 description: |-
                   Per-scrape limit on length of labels value that will be accepted for a sample.
 
+
                   It requires Prometheus >= v2.27.0.
                 format: int64
                 type: integer
@@ -1034,8 +1126,10 @@ spec:
                   `scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
                   protocols supported by Prometheus in order of preference (from most to least preferred).
 
+
                   If unset, Prometheus uses its default value.
 
+
                   It requires Prometheus >= v2.49.0.
                 items:
                   description: |-
diff --git a/manifests/setup/0thanosrulerCustomResourceDefinition.yaml b/manifests/setup/0thanosrulerCustomResourceDefinition.yaml
index 66e2c5dd33ee379bd674af8d3d6c6b7781378157..7686e3119593609f04b31bbf142af28eb1cc65c4 100644
--- a/manifests/setup/0thanosrulerCustomResourceDefinition.yaml
+++ b/manifests/setup/0thanosrulerCustomResourceDefinition.yaml
@@ -2,8 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.16.1
-    operator.prometheus.io/version: 0.76.1
+    controller-gen.kubebuilder.io/version: v0.15.0
+    operator.prometheus.io/version: 0.76.2
   name: thanosrulers.monitoring.coreos.com
 spec:
   group: monitoring.coreos.com
@@ -51,8 +51,10 @@ spec:
         description: |-
           The `ThanosRuler` custom resource definition (CRD) defines a desired [Thanos Ruler](https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md) setup to run in a Kubernetes cluster.
 
+
           A `ThanosRuler` instance requires at least one compatible Prometheus API endpoint (either Thanos Querier or Prometheus services).
 
+
           The resource defines via label and namespace selectors which `PrometheusRule` objects should be associated to the deployed Thanos Ruler instances.
         properties:
           apiVersion:
@@ -367,7 +369,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -382,7 +384,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -543,7 +545,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -558,7 +560,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -712,7 +714,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                     Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -727,7 +729,7 @@ spec:
                                     pod labels will be ignored. The default value is empty.
                                     The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                     Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                    This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                    This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                                   items:
                                     type: string
                                   type: array
@@ -888,7 +890,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                 Also, matchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -903,7 +905,7 @@ spec:
                                 pod labels will be ignored. The default value is empty.
                                 The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                 Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
-                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
+                                This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
                               items:
                                 type: string
                               type: array
@@ -1017,7 +1019,9 @@ spec:
                       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
@@ -1041,7 +1045,9 @@ spec:
                       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
@@ -1137,7 +1143,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -1196,7 +1204,9 @@ spec:
                                       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
@@ -1234,7 +1244,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -1254,7 +1266,9 @@ spec:
                                   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 must be defined
@@ -1528,11 +1542,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -1734,11 +1748,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -1881,9 +1895,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -1894,12 +1910,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -2021,7 +2031,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -2099,6 +2109,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -2177,11 +2188,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -2386,8 +2397,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -2395,9 +2408,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -2508,7 +2523,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -2530,7 +2547,9 @@ spec:
                               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
@@ -2559,7 +2578,9 @@ spec:
                               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 ConfigMap or its key must be defined
@@ -2581,7 +2602,9 @@ spec:
                               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
@@ -2613,7 +2636,9 @@ spec:
                           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
@@ -2626,6 +2651,7 @@ spec:
                     description: |-
                       Maximum acceptable TLS version.
 
+
                       It requires Prometheus >= v2.41.0.
                     enum:
                     - TLS10
@@ -2637,6 +2663,7 @@ spec:
                     description: |-
                       Minimum acceptable TLS version.
 
+
                       It requires Prometheus >= v2.35.0.
                     enum:
                     - TLS10
@@ -2701,7 +2728,9 @@ spec:
                         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
                   type: object
                   x-kubernetes-map-type: atomic
@@ -2784,7 +2813,9 @@ spec:
                                       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 ConfigMap or its key must be defined
@@ -2843,7 +2874,9 @@ spec:
                                       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
@@ -2881,7 +2914,9 @@ spec:
                                   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 ConfigMap must be defined
@@ -2901,7 +2936,9 @@ spec:
                                   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 must be defined
@@ -3175,11 +3212,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -3381,11 +3418,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -3528,9 +3565,11 @@ spec:
                             Claims lists the names of resources, defined in spec.resourceClaims,
                             that are used by this container.
 
+
                             This is an alpha field and requires enabling the
                             DynamicResourceAllocation feature gate.
 
+
                             This field is immutable. It can only be set for containers.
                           items:
                             description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -3541,12 +3580,6 @@ spec:
                                   the Pod where this field is used. It makes that resource available
                                   inside a container.
                                 type: string
-                              request:
-                                description: |-
-                                  Request is the name chosen for a request in the referenced claim.
-                                  If empty, everything from the claim is made available, otherwise
-                                  only the result of this request.
-                                type: string
                             required:
                             - name
                             type: object
@@ -3668,7 +3701,7 @@ spec:
                         procMount:
                           description: |-
                             procMount denotes the type of proc mount to use for the containers.
-                            The default value is Default which uses the container runtime defaults for
+                            The default is DefaultProcMount which uses the container runtime defaults for
                             readonly paths and masked paths.
                             This requires the ProcMountType feature flag to be enabled.
                             Note that this field cannot be set when spec.os.name is windows.
@@ -3746,6 +3779,7 @@ spec:
                                 type indicates which kind of seccomp profile will be applied.
                                 Valid options are:
 
+
                                 Localhost - a profile defined in a file on the node should be used.
                                 RuntimeDefault - the container runtime default profile should be used.
                                 Unconfined - no profile should be applied.
@@ -3824,11 +3858,11 @@ spec:
                               format: int32
                               type: integer
                             service:
-                              default: ""
                               description: |-
                                 Service is the name of the service to place in the gRPC HealthCheckRequest
                                 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
 
+
                                 If this is not specified, the default behavior is defined by gRPC.
                               type: string
                           required:
@@ -4033,8 +4067,10 @@ spec:
                               RecursiveReadOnly specifies whether read-only mounts should be handled
                               recursively.
 
+
                               If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                               If ReadOnly is true, and this field is set to Disabled, the mount is not made
                               recursively read-only.  If this field is set to IfPossible, the mount is made
                               recursively read-only, if it is supported by the container runtime.  If this
@@ -4042,9 +4078,11 @@ spec:
                               supported by the container runtime, otherwise the pod will not be started and
                               an error will be generated to indicate the reason.
 
+
                               If this field is set to IfPossible or Enabled, MountPropagation must be set to
                               None (or be unspecified, which defaults to None).
 
+
                               If this field is not specified, it is treated as an equivalent of Disabled.
                             type: string
                           subPath:
@@ -4134,7 +4172,9 @@ spec:
                       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
@@ -4157,6 +4197,7 @@ spec:
                 description: |-
                   PodMetadata configures labels and annotations which are propagated to the ThanosRuler pods.
 
+
                   The following items are reserved and cannot be overridden:
                   * "app.kubernetes.io/name" label, set to "thanos-ruler".
                   * "app.kubernetes.io/managed-by" label, set to "prometheus-operator".
@@ -4241,7 +4282,9 @@ spec:
                       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
@@ -4271,9 +4314,11 @@ spec:
                       Claims lists the names of resources, defined in spec.resourceClaims,
                       that are used by this container.
 
+
                       This is an alpha field and requires enabling the
                       DynamicResourceAllocation feature gate.
 
+
                       This field is immutable. It can only be set for containers.
                     items:
                       description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -4284,12 +4329,6 @@ spec:
                             the Pod where this field is used. It makes that resource available
                             inside a container.
                           type: string
-                        request:
-                          description: |-
-                            Request is the name chosen for a request in the referenced claim.
-                            If empty, everything from the claim is made available, otherwise
-                            only the result of this request.
-                          type: string
                       required:
                       - name
                       type: object
@@ -4458,10 +4497,12 @@ spec:
                       Some volume types allow the Kubelet to change the ownership of that volume
                       to be owned by the pod:
 
+
                       1. The owning GID will be the FSGroup
                       2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                       3. The permission bits are OR'd with rw-rw----
 
+
                       If unset, the Kubelet will not modify the ownership and permissions of any volume.
                       Note that this field cannot be set when spec.os.name is windows.
                     format: int64
@@ -4544,6 +4585,7 @@ spec:
                           type indicates which kind of seccomp profile will be applied.
                           Valid options are:
 
+
                           Localhost - a profile defined in a file on the node should be used.
                           RuntimeDefault - the container runtime default profile should be used.
                           Unconfined - no profile should be applied.
@@ -4553,28 +4595,18 @@ spec:
                     type: object
                   supplementalGroups:
                     description: |-
-                      A list of groups applied to the first process run in each container, in
-                      addition to the container's primary GID and fsGroup (if specified).  If
-                      the SupplementalGroupsPolicy feature is enabled, the
-                      supplementalGroupsPolicy field determines whether these are in addition
-                      to or instead of any group memberships defined in the container image.
-                      If unspecified, no additional groups are added, though group memberships
-                      defined in the container image may still be used, depending on the
-                      supplementalGroupsPolicy field.
+                      A list of groups applied to the first process run in each container, in addition
+                      to the container's primary GID, the fsGroup (if specified), and group memberships
+                      defined in the container image for the uid of the container process. If unspecified,
+                      no additional groups are added to any container. Note that group memberships
+                      defined in the container image for the uid of the container process are still effective,
+                      even if they are not included in this list.
                       Note that this field cannot be set when spec.os.name is windows.
                     items:
                       format: int64
                       type: integer
                     type: array
                     x-kubernetes-list-type: atomic
-                  supplementalGroupsPolicy:
-                    description: |-
-                      Defines how supplemental groups of the first container processes are calculated.
-                      Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
-                      (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
-                      and the container runtime must implement support for this feature.
-                      Note that this field cannot be set when spec.os.name is windows.
-                    type: string
                   sysctls:
                     description: |-
                       Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
@@ -4682,6 +4714,7 @@ spec:
                           entry. Pod validation will reject the pod if the concatenated name
                           is not valid for a PVC (for example, too long).
 
+
                           An existing PVC with that name that is not owned by the pod
                           will *not* be used for the pod to avoid using an unrelated
                           volume by mistake. Starting the pod is then blocked until
@@ -4691,9 +4724,11 @@ spec:
                           this should not be necessary, but it may be useful when
                           manually reconstructing a broken cluster.
 
+
                           This field is read-only and no changes will be made by Kubernetes
                           to the PVC after it has been created.
 
+
                           Required, must not be nil.
                         properties:
                           metadata:
@@ -4888,7 +4923,7 @@ spec:
                                   set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                   exists.
                                   More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                  (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                  (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                 type: string
                               volumeMode:
                                 description: |-
@@ -5139,7 +5174,7 @@ spec:
                               set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                               exists.
                               More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                              (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                              (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                             type: string
                           volumeMode:
                             description: |-
@@ -5168,7 +5203,7 @@ spec:
                                 that it does not recognizes, then it should ignore that update and let other controllers
                                 handle it.
                               type: string
-                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                             x-kubernetes-map-type: granular
                           allocatedResources:
@@ -5178,7 +5213,7 @@ spec:
                               - type: string
                               pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                               x-kubernetes-int-or-string: true
-                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
+                            description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature."
                             type: object
                           capacity:
                             additionalProperties:
@@ -5216,16 +5251,7 @@ spec:
                                 status:
                                   type: string
                                 type:
-                                  description: |-
-                                    PersistentVolumeClaimConditionType defines the condition of PV claim.
-                                    Valid values are:
-                                      - "Resizing", "FileSystemResizePending"
-
-                                    If RecoverVolumeExpansionFailure feature gate is enabled, then following additional values can be expected:
-                                      - "ControllerResizeError", "NodeResizeError"
-
-                                    If VolumeAttributesClass feature gate is enabled, then following additional values can be expected:
-                                      - "ModifyVolumeError", "ModifyingVolume"
+                                  description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
                                   type: string
                               required:
                               - status
@@ -5239,13 +5265,13 @@ spec:
                             description: |-
                               currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
                               When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             type: string
                           modifyVolumeStatus:
                             description: |-
                               ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
                               When this is unset, there is no ModifyVolume operation being attempted.
-                              This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
+                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                             properties:
                               status:
                                 description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n   Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n   the specified VolumeAttributesClass not existing.\n - InProgress\n   InProgress indicates that the volume is being modified.\n - Infeasible\n  Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t  resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately."
@@ -5364,6 +5390,7 @@ spec:
                         Keys that don't exist in the incoming pod labels will
                         be ignored. A null or empty list means only match against labelSelector.
 
+
                         This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                       items:
                         type: string
@@ -5403,6 +5430,7 @@ spec:
                         Valid values are integers greater than 0.
                         When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
 
+
                         For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                         labelSelector spread as 2/2/2:
                         | zone1 | zone2 | zone3 |
@@ -5420,6 +5448,7 @@ spec:
                         - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                         - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
 
+
                         If this value is nil, the behavior is equivalent to the Honor policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -5431,6 +5460,7 @@ spec:
                         has a toleration, are included.
                         - Ignore: node taints are ignored. All nodes are included.
 
+
                         If this value is nil, the behavior is equivalent to the Ignore policy.
                         This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                       type: string
@@ -5478,8 +5508,10 @@ spec:
                 description: |-
                   TracingConfig configures tracing in Thanos.
 
+
                   `tracingConfigFile` takes precedence over this field.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 properties:
@@ -5493,7 +5525,9 @@ spec:
                       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
@@ -5506,8 +5540,10 @@ spec:
                 description: |-
                   TracingConfig specifies the path of the tracing configuration file.
 
+
                   This field takes precedence over `tracingConfig`.
 
+
                   This is an *experimental feature*, it may change in any upcoming release
                   in a breaking way.
                 type: string
@@ -5549,8 +5585,10 @@ spec:
                         RecursiveReadOnly specifies whether read-only mounts should be handled
                         recursively.
 
+
                         If ReadOnly is false, this field has no meaning and must be unspecified.
 
+
                         If ReadOnly is true, and this field is set to Disabled, the mount is not made
                         recursively read-only.  If this field is set to IfPossible, the mount is made
                         recursively read-only, if it is supported by the container runtime.  If this
@@ -5558,9 +5596,11 @@ spec:
                         supported by the container runtime, otherwise the pod will not be started and
                         an error will be generated to indicate the reason.
 
+
                         If this field is set to IfPossible or Enabled, MountPropagation must be set to
                         None (or be unspecified, which defaults to None).
 
+
                         If this field is not specified, it is treated as an equivalent of Disabled.
                       type: string
                     subPath:
@@ -5599,6 +5639,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -5634,7 +5675,6 @@ spec:
                           description: diskURI is the URI of data disk in the blob storage
                           type: string
                         fsType:
-                          default: ext4
                           description: |-
                             fsType is Filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -5644,7 +5684,6 @@ spec:
                           description: 'kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob disk per storage account  Managed: azure managed data disk (only in managed availability set). defaults to shared'
                           type: string
                         readOnly:
-                          default: false
                           description: |-
                             readOnly Defaults to false (read/write). ReadOnly here will force
                             the ReadOnly setting in VolumeMounts.
@@ -5708,7 +5747,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -5750,7 +5791,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -5821,7 +5864,9 @@ spec:
                             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: optional specify whether the ConfigMap or its keys must be defined
@@ -5857,7 +5902,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -5982,6 +6029,7 @@ spec:
                         The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
                         and deleted when the pod is removed.
 
+
                         Use this if:
                         a) the volume is only needed while the pod runs,
                         b) features of normal volumes like restoring from snapshot or capacity
@@ -5992,14 +6040,17 @@ spec:
                            information on the connection between this volume type
                            and PersistentVolumeClaim).
 
+
                         Use PersistentVolumeClaim or one of the vendor-specific
                         APIs for volumes that persist for longer than the lifecycle
                         of an individual pod.
 
+
                         Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
                         be used that way - see the documentation of the driver for
                         more information.
 
+
                         A pod can use both types of ephemeral volumes and
                         persistent volumes at the same time.
                       properties:
@@ -6013,6 +6064,7 @@ spec:
                             entry. Pod validation will reject the pod if the concatenated name
                             is not valid for a PVC (for example, too long).
 
+
                             An existing PVC with that name that is not owned by the pod
                             will *not* be used for the pod to avoid using an unrelated
                             volume by mistake. Starting the pod is then blocked until
@@ -6022,9 +6074,11 @@ spec:
                             this should not be necessary, but it may be useful when
                             manually reconstructing a broken cluster.
 
+
                             This field is read-only and no changes will be made by Kubernetes
                             to the PVC after it has been created.
 
+
                             Required, must not be nil.
                           properties:
                             metadata:
@@ -6219,7 +6273,7 @@ spec:
                                     set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                     exists.
                                     More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
-                                    (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
+                                    (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                   type: string
                                 volumeMode:
                                   description: |-
@@ -6242,6 +6296,7 @@ spec:
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
                             Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         lun:
                           description: 'lun is Optional: FC target lun number'
@@ -6306,7 +6361,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -6337,6 +6394,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         partition:
                           description: |-
@@ -6416,6 +6474,9 @@ spec:
                         used for system agents or other privileged things that are allowed
                         to see the host machine. Most containers will NOT need this.
                         More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+                        ---
+                        TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+                        mount host directories as read/write.
                       properties:
                         path:
                           description: |-
@@ -6432,41 +6493,6 @@ spec:
                       required:
                       - path
                       type: object
-                    image:
-                      description: |-
-                        image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
-                        The volume is resolved at pod startup depending on which PullPolicy value is provided:
-
-                        - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                        - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                        - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-
-                        The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
-                        A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
-                        The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
-                        The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
-                        The volume will be mounted read-only (ro) and non-executable files (noexec).
-                        Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath).
-                        The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
-                      properties:
-                        pullPolicy:
-                          description: |-
-                            Policy for pulling OCI objects. Possible values are:
-                            Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
-                            Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
-                            IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
-                            Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                          type: string
-                        reference:
-                          description: |-
-                            Required: Image or artifact reference to be used.
-                            Behaves in the same way as pod.spec.containers[*].image.
-                            Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
-                            More info: https://kubernetes.io/docs/concepts/containers/images
-                            This field is optional to allow higher level config management to default or override
-                            container images in workload controllers like Deployments and StatefulSets.
-                          type: string
-                      type: object
                     iscsi:
                       description: |-
                         iscsi represents an ISCSI Disk resource that is attached to a
@@ -6485,6 +6511,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         initiatorName:
                           description: |-
@@ -6496,7 +6523,6 @@ spec:
                           description: iqn is the target iSCSI Qualified Name.
                           type: string
                         iscsiInterface:
-                          default: default
                           description: |-
                             iscsiInterface is the interface Name that uses an iSCSI transport.
                             Defaults to 'default' (tcp).
@@ -6528,7 +6554,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -6641,24 +6669,23 @@ spec:
                           format: int32
                           type: integer
                         sources:
-                          description: |-
-                            sources is the list of volume projections. Each entry in this list
-                            handles one source.
+                          description: sources is the list of volume projections
                           items:
-                            description: |-
-                              Projection that may be projected along with other supported volume types.
-                              Exactly one of these fields must be set.
+                            description: Projection that may be projected along with other supported volume types
                             properties:
                               clusterTrustBundle:
                                 description: |-
                                   ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
                                   of ClusterTrustBundle objects in an auto-updating file.
 
+
                                   Alpha, gated by the ClusterTrustBundleProjection feature gate.
 
+
                                   ClusterTrustBundle objects can either be selected by name, or by the
                                   combination of signer name and a label selector.
 
+
                                   Kubelet performs aggressive normalization of the PEM contents written
                                   into the pod filesystem.  Esoteric PEM features such as inter-block
                                   comments and block headers are stripped.  Certificates are deduplicated.
@@ -6786,7 +6813,9 @@ spec:
                                       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: optional specify whether the ConfigMap or its keys must be defined
@@ -6903,7 +6932,9 @@ spec:
                                       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: optional field specify whether the Secret or its key must be defined
@@ -6989,6 +7020,7 @@ spec:
                             Tip: Ensure that the filesystem type is supported by the host operating system.
                             Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                             More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+                            TODO: how do we prevent errors in the filesystem from compromising the machine
                           type: string
                         image:
                           description: |-
@@ -6996,7 +7028,6 @@ spec:
                             More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
                           type: string
                         keyring:
-                          default: /etc/ceph/keyring
                           description: |-
                             keyring is the path to key ring for RBDUser.
                             Default is /etc/ceph/keyring.
@@ -7011,7 +7042,6 @@ spec:
                           type: array
                           x-kubernetes-list-type: atomic
                         pool:
-                          default: rbd
                           description: |-
                             pool is the rados pool name.
                             Default is rbd.
@@ -7037,12 +7067,13 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
                         user:
-                          default: admin
                           description: |-
                             user is the rados user name.
                             Default is admin.
@@ -7056,7 +7087,6 @@ spec:
                       description: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
                       properties:
                         fsType:
-                          default: xfs
                           description: |-
                             fsType is the filesystem type to mount.
                             Must be a filesystem type supported by the host operating system.
@@ -7086,7 +7116,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -7094,7 +7126,6 @@ spec:
                           description: sslEnabled Flag enable/disable SSL communication with Gateway, default false
                           type: boolean
                         storageMode:
-                          default: ThinProvisioned
                           description: |-
                             storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
                             Default is ThinProvisioned.
@@ -7204,7 +7235,9 @@ spec:
                                 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
                           type: object
                           x-kubernetes-map-type: atomic
@@ -7323,7 +7356,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -7345,7 +7380,9 @@ spec:
                                   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
@@ -7379,7 +7416,9 @@ spec:
                                   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 ConfigMap or its key must be defined
@@ -7401,7 +7440,9 @@ spec:
                                   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
@@ -7438,7 +7479,9 @@ spec:
                               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
@@ -7479,7 +7522,7 @@ spec:
                 format: int32
                 type: integer
               conditions:
-                description: The current state of the ThanosRuler object.
+                description: The current state of the Alertmanager object.
                 items:
                   description: |-
                     Condition represents the state of the resources associated with the