@@ -895,6 +895,11 @@ spec:
895895 It requires Prometheus >= v2.28.0.
896896 pattern : (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
897897 type : string
898+ convertClassicHistogramsToNHCB :
899+ description : |-
900+ Whether to convert all scraped classic histograms into a native histogram with custom buckets.
901+ It requires Prometheus >= v3.0.0.
902+ type : boolean
898903 endpoints :
899904 description : |-
900905 List of endpoints part of this ServiceMonitor.
@@ -1170,6 +1175,14 @@ spec:
11701175 type : string
11711176 type : object
11721177 type : array
1178+ noProxy :
1179+ description : |-
1180+ `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
1181+ that should be excluded from proxying. IP and domain names can
1182+ contain port numbers.
1183+
1184+ It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
1185+ type : string
11731186 oauth2 :
11741187 description : |-
11751188 `oauth2` configures the OAuth2 settings to use when scraping the target.
@@ -1276,7 +1289,7 @@ spec:
12761289 that should be excluded from proxying. IP and domain names can
12771290 contain port numbers.
12781291
1279- It requires Prometheus >= v2.43.0 or Alertmanager >= 0 .25.0.
1292+ It requires Prometheus >= v2.43.0, Alertmanager >= v0 .25.0 or Thanos >= v0.32 .0.
12801293 type : string
12811294 proxyConnectHeader :
12821295 additionalProperties :
@@ -1312,19 +1325,19 @@ spec:
13121325 ProxyConnectHeader optionally specifies headers to send to
13131326 proxies during CONNECT requests.
13141327
1315- It requires Prometheus >= v2.43.0 or Alertmanager >= 0 .25.0.
1328+ It requires Prometheus >= v2.43.0, Alertmanager >= v0 .25.0 or Thanos >= v0.32 .0.
13161329 type : object
13171330 x-kubernetes-map-type : atomic
13181331 proxyFromEnvironment :
13191332 description : |-
13201333 Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
13211334
1322- It requires Prometheus >= v2.43.0 or Alertmanager >= 0 .25.0.
1335+ It requires Prometheus >= v2.43.0, Alertmanager >= v0 .25.0 or Thanos >= v0.32 .0.
13231336 type : boolean
13241337 proxyUrl :
13251338 description : ' `proxyURL` defines the
13261339 HTTP proxy server to use.'
1327- pattern : ^http(s)? ://.+$
1340+ pattern : ^(http|https|socks5) ://.+$
13281341 type : string
13291342 scopes :
13301343 description : ' `scopes` defines the OAuth2
@@ -1488,7 +1501,7 @@ spec:
14881501 description : |-
14891502 Maximum acceptable TLS version.
14901503
1491- It requires Prometheus >= v2.41.0.
1504+ It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0 .
14921505 enum :
14931506 - TLS10
14941507 - TLS11
@@ -1499,7 +1512,7 @@ spec:
14991512 description : |-
15001513 Minimum acceptable TLS version.
15011514
1502- It requires Prometheus >= v2.35.0.
1515+ It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0 .
15031516 enum :
15041517 - TLS10
15051518 - TLS11
@@ -1541,10 +1554,52 @@ spec:
15411554
15421555 It takes precedence over `targetPort`.
15431556 type : string
1544- proxyUrl :
1557+ proxyConnectHeader :
1558+ additionalProperties :
1559+ items :
1560+ description : SecretKeySelector selects
1561+ a key of a Secret.
1562+ properties :
1563+ key :
1564+ description : The key of the secret
1565+ to select from. Must be a valid
1566+ secret key.
1567+ type : string
1568+ name :
1569+ default : " "
1570+ description : |-
1571+ Name of the referent.
1572+ This field is effectively required, but due to backwards compatibility is
1573+ allowed to be empty. Instances of this type with an empty value here are
1574+ almost certainly wrong.
1575+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1576+ type : string
1577+ optional :
1578+ description : Specify whether the
1579+ Secret or its key must be defined
1580+ type : boolean
1581+ required :
1582+ - key
1583+ type : object
1584+ x-kubernetes-map-type : atomic
1585+ type : array
15451586 description : |-
1546- `proxyURL` configures the HTTP Proxy URL (e.g.
1547- "http://proxyserver:2195") to go through when scraping the target.
1587+ ProxyConnectHeader optionally specifies headers to send to
1588+ proxies during CONNECT requests.
1589+
1590+ It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
1591+ type : object
1592+ x-kubernetes-map-type : atomic
1593+ proxyFromEnvironment :
1594+ description : |-
1595+ Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
1596+
1597+ It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
1598+ type : boolean
1599+ proxyUrl :
1600+ description : ' `proxyURL` defines the HTTP
1601+ proxy server to use.'
1602+ pattern : ^(http|https|socks5)://.+$
15481603 type : string
15491604 relabelings :
15501605 description : |-
@@ -1659,6 +1714,7 @@ spec:
16591714
16601715 If empty, Prometheus uses the global scrape timeout unless it is less
16611716 than the target's scrape interval value in which the latter is used.
1717+ The value cannot be greater than the scrape interval otherwise the operator will reject the resource.
16621718 pattern : ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
16631719 type : string
16641720 targetPort :
@@ -1836,7 +1892,7 @@ spec:
18361892 description : |-
18371893 Maximum acceptable TLS version.
18381894
1839- It requires Prometheus >= v2.41.0.
1895+ It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0 .
18401896 enum :
18411897 - TLS10
18421898 - TLS11
@@ -1847,7 +1903,7 @@ spec:
18471903 description : |-
18481904 Minimum acceptable TLS version.
18491905
1850- It requires Prometheus >= v2.35.0.
1906+ It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0 .
18511907 enum :
18521908 - TLS10
18531909 - TLS11
@@ -1869,6 +1925,18 @@ spec:
18691925 type : boolean
18701926 type : object
18711927 type : array
1928+ fallbackScrapeProtocol :
1929+ description : |-
1930+ The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
1931+
1932+ It requires Prometheus >= v3.0.0.
1933+ enum :
1934+ - PrometheusProto
1935+ - OpenMetricsText0.0.1
1936+ - OpenMetricsText1.0.0
1937+ - PrometheusText0.0.4
1938+ - PrometheusText1.0.0
1939+ type : string
18721940 jobLabel :
18731941 description : |-
18741942 `jobLabel` selects the label from the associated Kubernetes `Service`
@@ -1966,6 +2034,8 @@ spec:
19662034 description : |-
19672035 Whether to scrape a classic histogram that is also exposed as a native histogram.
19682036 It requires Prometheus >= v2.45.0.
2037+
2038+ Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration.
19692039 type : boolean
19702040 scrapeProtocols :
19712041 description : |-
@@ -1983,11 +2053,13 @@ spec:
19832053 * `OpenMetricsText1.0.0`
19842054 * `PrometheusProto`
19852055 * `PrometheusText0.0.4`
2056+ * `PrometheusText1.0.0`
19862057 enum :
19872058 - PrometheusProto
19882059 - OpenMetricsText0.0.1
19892060 - OpenMetricsText1.0.0
19902061 - PrometheusText0.0.4
2062+ - PrometheusText1.0.0
19912063 type : string
19922064 type : array
19932065 x-kubernetes-list-type : set
@@ -2039,6 +2111,18 @@ spec:
20392111 type : object
20402112 type : object
20412113 x-kubernetes-map-type : atomic
2114+ selectorMechanism :
2115+ description : |-
2116+ Mechanism used to select the endpoints to scrape.
2117+ By default, the selection process relies on relabel configurations to filter the discovered targets.
2118+ Alternatively, you can opt in for role selectors, which may offer better efficiency in large clusters.
2119+ Which strategy is best for your use case needs to be carefully evaluated.
2120+
2121+ It requires Prometheus >= v2.17.0.
2122+ enum :
2123+ - RelabelConfig
2124+ - RoleSelector
2125+ type : string
20422126 targetLabels :
20432127 description : |-
20442128 `targetLabels` defines the labels which are transferred from the
0 commit comments