Skip to content

Commit 0b07bcd

Browse files
Merge pull request #977 from alexandrevilain/release/v0.22.0
Prepare release v0.22.0
2 parents c247241 + 7865e9d commit 0b07bcd

File tree

6 files changed

+205
-29
lines changed

6 files changed

+205
-29
lines changed

Makefile

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,14 @@ GOLANGCI_LINT_VERSION ?= v1.64.8
223223
YQ_VERSION ?= v4.30.6
224224
KIND_WITH_REGISTRY_VERSION ?= 0.17.0
225225
HELM_DOCS_VERSION ?= v1.12.0
226+
#ENVTEST_VERSION is the version of controller-runtime release branch to fetch the envtest setup script (i.e. release-0.20)
227+
ENVTEST_VERSION ?= $(shell v='$(call gomodver,sigs.k8s.io/controller-runtime)'; \
228+
[ -n "$$v" ] || { echo "Set ENVTEST_VERSION manually (controller-runtime replace has no tag)" >&2; exit 1; }; \
229+
printf '%s\n' "$$v" | sed -E 's/^v?([0-9]+)\.([0-9]+).*/release-\1.\2/')
230+
#ENVTEST_K8S_VERSION is the version of Kubernetes to use for setting up ENVTEST binaries (i.e. 1.31)
231+
ENVTEST_K8S_VERSION ?= $(shell v='$(call gomodver,k8s.io/api)'; \
232+
[ -n "$$v" ] || { echo "Set ENVTEST_K8S_VERSION manually (k8s.io/api replace has no tag)" >&2; exit 1; }; \
233+
printf '%s\n' "$$v" | sed -E 's/^v?[0-9]+\.([0-9]+).*/1.\1/')
226234

227235
.PHONY: kustomize
228236
kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. If wrong version is installed, it will be removed before downloading.
@@ -265,7 +273,7 @@ $(GEN_CRD_API_REFERENCE_DOCS): $(LOCALBIN)
265273
.PHONY: envtest
266274
envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
267275
$(ENVTEST): $(LOCALBIN)
268-
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
276+
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@$(ENVTEST_VERSION)
269277

270278
.PHONY: yq
271279
yq: $(YQ)
@@ -282,3 +290,8 @@ $(KIND_WITH_REGISTRY): $(LOCALBIN)
282290
helm-docs: $(HELM_DOCS) ## Generate helm documentation
283291
$(HELM_DOCS): $(LOCALBIN)
284292
GOBIN=$(LOCALBIN) go install github.com/norwoodj/helm-docs/cmd/helm-docs@$(HELM_DOCS_VERSION)
293+
294+
295+
define gomodver
296+
$(shell go list -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' $(1) 2>/dev/null)
297+
endef

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.21.0
1+
0.22.0

bundle/manifests/temporal-operator.clusterserviceversion.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ metadata:
112112
capabilities: Seamless Upgrades
113113
categories: Application Runtime, Developer Tools, AI/Machine Learning
114114
containerImage: ghcr.io/alexandrevilain/temporal-operator
115-
createdAt: "2025-04-03T09:32:19Z"
115+
createdAt: "2025-10-28T19:37:54Z"
116116
operators.operatorframework.io/builder: operator-sdk-v1.37.0
117117
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
118-
name: temporal-operator.v0.21.0
118+
name: temporal-operator.v0.22.0
119119
namespace: placeholder
120120
spec:
121121
apiservicedefinitions: {}
@@ -373,7 +373,7 @@ spec:
373373
- --leader-elect
374374
command:
375375
- /manager
376-
image: ghcr.io/alexandrevilain/temporal-operator:v0.21.0
376+
image: ghcr.io/alexandrevilain/temporal-operator:v0.22.0
377377
livenessProbe:
378378
httpGet:
379379
path: /healthz
@@ -478,7 +478,7 @@ spec:
478478
name: Temporal Community
479479
url: https://temporal.io/
480480
replaces: temporal-operator.helm-chart-0.6.0
481-
version: 0.21.0
481+
version: 0.22.0
482482
webhookdefinitions:
483483
- admissionReviewVersions:
484484
- v1

bundle/manifests/temporal.io_temporalclusters.yaml

Lines changed: 95 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)