Skip to content

Commit 4803f8b

Browse files
committed
charts/redpanda: cut release v25.1.1-beta1
1 parent 5e6ba16 commit 4803f8b

File tree

21 files changed

+4586
-1845
lines changed

21 files changed

+4586
-1845
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
## v25.1.1-beta1 - 2025-04-08
2+
### Added
3+
* Added a chart wide `podTemplate` field which may be used to control Pod attributes chart wide.
4+
5+
This field has a lower precedence than `statefulset.podTemplate` and
6+
`post_install_job.podTemplate` but will still be merged with them.
7+
* `podTemplate`, `statefulset.podTemplate`, and `post_install_job.podTemplate` may now contain template expressions **with in string fields**
8+
9+
To compensate for some of the functionality that was lost with the removal of
10+
fields like `extraVolumes`, we've upgraded `podTemplate` fields to support
11+
templating. Rather than allowing full control over a structured value, we've
12+
reduced the scope to only string fields. This is significantly more
13+
maintainable and less error prone.
14+
15+
As an example, the below snippet will apply the release name as an annotation
16+
to all Pods created by the chart.
17+
18+
```yaml
19+
podTemplate:
20+
annotations:
21+
"keys-cannot-be-templated": '{{ .Release.Name }}' # But values can!
22+
```
23+
24+
See `values.yaml` for additional examples.
25+
### Changed
26+
* Promoted the config-watcher sidecar into a real go binary that handles user management and simplifies cluster health checks so they no longer fail when the sole issue is that other nodes in the cluster are unavailable. Additionally the new sidecar subsumes the behavior of the `statefulset.sideCars.controllers` stanza which should now be specified via their own `enabled` flags.
27+
* `clusterDomain` now defaults to `cluster.local.` (A trialing `.` has been added) and the chart no longer adds trailing `.`'s to internal domains.
28+
29+
For users not experiencing issues with trailing `.`'s this change has no
30+
effect. For users that have had issues with trailing `.`'s, it's now possible
31+
to opt-out of this behavior by explicitly setting `clusterDomain` to `cluster.local`.
32+
33+
For users that override `clusterDomain`, copied a previous releases
34+
values.yaml, or use the `--reuse-values` flag, trailing `.`'s will be tripped
35+
from domains upon updating. This behavior may be opted into by appending a
36+
`.` to `clusterDomain` prior to upgrading.
37+
* Bump AppVersion to v24.3.6 Redpanda release
38+
* Bump Redpanda operator side car container tag to `v2.3.7-24.3.6`.
39+
* `values.schema.json` is now "closed" (`additionalProperties: false`)
40+
41+
Any unexpected values will result in a validation error,previously they would
42+
have been ignored.
43+
* Update Console depedency to latest version with breaking change. Please visit Console change-log.
44+
* The name of the container running redpanda is now always set to `redpanda`.
45+
* bumped `appVersion` to [v25.1.1](https://github.com/redpanda-data/redpanda/releases/tag/v25.1.1).
46+
### Removed
47+
* Connectors sub-chart integration.
48+
49+
The connectors chart may still be deployed separately, though it is not
50+
officially support. If possible, it is recommended to migrate to redpanda
51+
connect.
52+
* Removed the deprecated fields `license_key` and `license_secret_ref` in favor
53+
of `enterprise.license` and `enterprise.licenseSecretRef`, respectively.
54+
* `statefulset.securityContext`, `statefulset.sideCars.configWatcher.securityContext` have been removed.
55+
56+
These fields previously served as both PodSecurityContext and SecurityContext
57+
across the entire chart which led to confusing semantics that couldn't be
58+
fixed without breaking backwards compatiblity.
59+
60+
The top level `podTemplate` field may be used to control
61+
PodSecurityContexts and SecurityContexts across the chart.
62+
* Fields that would be better served through `podTemplate` have been removed in favor of using `podTemplate`.
63+
64+
Removed fields:
65+
- `nodeSelector` -> `podTemplate.spec.nodeSelector`
66+
- `affinity` -> `podTemplate.spec.affinity`
67+
- `tolerations` -> `podTemplate.spec.tolerations`
68+
- `imagePullSecrets` -> `podTemplate.spec.imagePullSecrets`
69+
- `statefulset.annotations` -> `statefulset.podTemplate.annotations`
70+
- `statefulset.startupProbe` -> `statefulset.podTemplate.spec.containers[0].startupProbe`
71+
- `statefulset.livenessProbe` -> `statefulset.podTemplate.spec.containers[0].livenessProbe`
72+
- `statefulset.readinessProbe` -> `statefulset.podTemplate.spec.containers[1].readinessProbe`
73+
- `statefulset.podAffinity` -> `statefulset.podTemplate.spec.affinity.podAffinity`
74+
- `statefulset.nodeSelector` -> `statefulset.podTemplate.spec.nodeSelector`
75+
- `statefulset.priorityClassName` -> `statefulset.podTemplate.spec.priorityClassName`
76+
- `statefulset.tolerations` -> `statefulset.podTemplate.spec.tolerations`
77+
- `statefulset.topologySpreadConstraints` -> `statefulset.podTemplate.spec.topologySpreadConstraints`
78+
- `statefulset.terminationGracePeriodSeconds` -> `statefulset.podTemplate.spec.terminationGracePeriodSeconds`
79+
- `statefulset.extraVolumes` -> `statefulset.podTemplate.spec.volumes`
80+
- `statefulset.extraVolumesMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
81+
- `statefulset.initContainers.*.extraVolumesMounts` -> `statefulset.podTemplate.spec.initContainers[*].volumeMounts`
82+
- `statefulset.initContainers.*.resources` -> `statefulset.podTemplate.spec.initContainers[*].resources`
83+
- `statefulset.initContainers.extraInitContainers` -> `statefulset.podTemplate.spec.initContainers`
84+
- `statefulset.sidecars.configWatcher.extraVolumeMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
85+
- `statefulset.sidecars.configWatcher.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
86+
- `statefulset.sidecars.configWatcher.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
87+
- `statefulset.sidecars.controllers.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
88+
- `statefulset.sidecars.controllers.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
89+
- `statefulset.sidecars.extraVolumeMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
90+
- `statefulset.sidecars.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
91+
- `statefulset.sidecars.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
92+
### Fixed
93+
* Reverse order of applying resources to first create ClusterRole and then ClusterRoleBinding.
94+
When Redpanda custom resource has enabled RBAC the reconciliation was blocked due
95+
ClusterRoleBinding referencing not yet created ClusterRole.
96+
97+
* Fixed an issue where not explicitly specifying a SASL auth mechanism when SASL is enabled caused Console to fail to start up.
98+
* Prevent broker nodes from restarting when solely the cluster replica amount changes

charts/redpanda/CHANGELOG.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,105 @@ of `enterprise.license` and `enterprise.licenseSecretRef`, respectively.
104104
* Fixed an issue where not explicitly specifying a SASL auth mechanism when SASL is enabled caused Console to fail to start up.
105105
* Prevent broker nodes from restarting when solely the cluster replica amount changes
106106

107+
## v25.1.1-beta1 - 2025-04-08
108+
### Added
109+
* Added a chart wide `podTemplate` field which may be used to control Pod attributes chart wide.
110+
111+
This field has a lower precedence than `statefulset.podTemplate` and
112+
`post_install_job.podTemplate` but will still be merged with them.
113+
* `podTemplate`, `statefulset.podTemplate`, and `post_install_job.podTemplate` may now contain template expressions **with in string fields**
114+
115+
To compensate for some of the functionality that was lost with the removal of
116+
fields like `extraVolumes`, we've upgraded `podTemplate` fields to support
117+
templating. Rather than allowing full control over a structured value, we've
118+
reduced the scope to only string fields. This is significantly more
119+
maintainable and less error prone.
120+
121+
As an example, the below snippet will apply the release name as an annotation
122+
to all Pods created by the chart.
123+
124+
```yaml
125+
podTemplate:
126+
annotations:
127+
"keys-cannot-be-templated": '{{ .Release.Name }}' # But values can!
128+
```
129+
130+
See `values.yaml` for additional examples.
131+
### Changed
132+
* Promoted the config-watcher sidecar into a real go binary that handles user management and simplifies cluster health checks so they no longer fail when the sole issue is that other nodes in the cluster are unavailable. Additionally the new sidecar subsumes the behavior of the `statefulset.sideCars.controllers` stanza which should now be specified via their own `enabled` flags.
133+
* `clusterDomain` now defaults to `cluster.local.` (A trialing `.` has been added) and the chart no longer adds trailing `.`'s to internal domains.
134+
135+
For users not experiencing issues with trailing `.`'s this change has no
136+
effect. For users that have had issues with trailing `.`'s, it's now possible
137+
to opt-out of this behavior by explicitly setting `clusterDomain` to `cluster.local`.
138+
139+
For users that override `clusterDomain`, copied a previous releases
140+
values.yaml, or use the `--reuse-values` flag, trailing `.`'s will be tripped
141+
from domains upon updating. This behavior may be opted into by appending a
142+
`.` to `clusterDomain` prior to upgrading.
143+
* Bump AppVersion to v24.3.6 Redpanda release
144+
* Bump Redpanda operator side car container tag to `v2.3.7-24.3.6`.
145+
* `values.schema.json` is now "closed" (`additionalProperties: false`)
146+
147+
Any unexpected values will result in a validation error,previously they would
148+
have been ignored.
149+
* Update Console depedency to latest version with breaking change. Please visit Console change-log.
150+
* The name of the container running redpanda is now always set to `redpanda`.
151+
* bumped `appVersion` to [v25.1.1](https://github.com/redpanda-data/redpanda/releases/tag/v25.1.1).
152+
### Removed
153+
* Connectors sub-chart integration.
154+
155+
The connectors chart may still be deployed separately, though it is not
156+
officially support. If possible, it is recommended to migrate to redpanda
157+
connect.
158+
* Removed the deprecated fields `license_key` and `license_secret_ref` in favor
159+
of `enterprise.license` and `enterprise.licenseSecretRef`, respectively.
160+
* `statefulset.securityContext`, `statefulset.sideCars.configWatcher.securityContext` have been removed.
161+
162+
These fields previously served as both PodSecurityContext and SecurityContext
163+
across the entire chart which led to confusing semantics that couldn't be
164+
fixed without breaking backwards compatiblity.
165+
166+
The top level `podTemplate` field may be used to control
167+
PodSecurityContexts and SecurityContexts across the chart.
168+
* Fields that would be better served through `podTemplate` have been removed in favor of using `podTemplate`.
169+
170+
Removed fields:
171+
- `nodeSelector` -> `podTemplate.spec.nodeSelector`
172+
- `affinity` -> `podTemplate.spec.affinity`
173+
- `tolerations` -> `podTemplate.spec.tolerations`
174+
- `imagePullSecrets` -> `podTemplate.spec.imagePullSecrets`
175+
- `statefulset.annotations` -> `statefulset.podTemplate.annotations`
176+
- `statefulset.startupProbe` -> `statefulset.podTemplate.spec.containers[0].startupProbe`
177+
- `statefulset.livenessProbe` -> `statefulset.podTemplate.spec.containers[0].livenessProbe`
178+
- `statefulset.readinessProbe` -> `statefulset.podTemplate.spec.containers[1].readinessProbe`
179+
- `statefulset.podAffinity` -> `statefulset.podTemplate.spec.affinity.podAffinity`
180+
- `statefulset.nodeSelector` -> `statefulset.podTemplate.spec.nodeSelector`
181+
- `statefulset.priorityClassName` -> `statefulset.podTemplate.spec.priorityClassName`
182+
- `statefulset.tolerations` -> `statefulset.podTemplate.spec.tolerations`
183+
- `statefulset.topologySpreadConstraints` -> `statefulset.podTemplate.spec.topologySpreadConstraints`
184+
- `statefulset.terminationGracePeriodSeconds` -> `statefulset.podTemplate.spec.terminationGracePeriodSeconds`
185+
- `statefulset.extraVolumes` -> `statefulset.podTemplate.spec.volumes`
186+
- `statefulset.extraVolumesMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
187+
- `statefulset.initContainers.*.extraVolumesMounts` -> `statefulset.podTemplate.spec.initContainers[*].volumeMounts`
188+
- `statefulset.initContainers.*.resources` -> `statefulset.podTemplate.spec.initContainers[*].resources`
189+
- `statefulset.initContainers.extraInitContainers` -> `statefulset.podTemplate.spec.initContainers`
190+
- `statefulset.sidecars.configWatcher.extraVolumeMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
191+
- `statefulset.sidecars.configWatcher.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
192+
- `statefulset.sidecars.configWatcher.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
193+
- `statefulset.sidecars.controllers.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
194+
- `statefulset.sidecars.controllers.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
195+
- `statefulset.sidecars.extraVolumeMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
196+
- `statefulset.sidecars.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
197+
- `statefulset.sidecars.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
198+
### Fixed
199+
* Reverse order of applying resources to first create ClusterRole and then ClusterRoleBinding.
200+
When Redpanda custom resource has enabled RBAC the reconciliation was blocked due
201+
ClusterRoleBinding referencing not yet created ClusterRole.
202+
203+
* Fixed an issue where not explicitly specifying a SASL auth mechanism when SASL is enabled caused Console to fail to start up.
204+
* Prevent broker nodes from restarting when solely the cluster replica amount changes
205+
107206
## v5.9.20 - 2025-02-06
108207
### Changed
109208
* Attempted lookups of the bootstrap user's existing password are no longer gated by `.Release.IsUpgrade`.

charts/redpanda/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type: application
2323
# The chart version and the app version are not the same and will not track
2424
# together. The chart version is a semver representation of changes to this
2525
# chart.
26-
version: 5.9.20
26+
version: 25.1.1-beta1
2727

2828
# The app version is the default version of Redpanda to install.
2929
# ** NOTE for maintainers: please ensure the artifacthub image annotation is updated before merging

charts/redpanda/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
description: Find the default values and descriptions of settings in the Redpanda Helm chart.
44
---
55

6-
![Version: 5.9.20](https://img.shields.io/badge/Version-5.9.20-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v25.1.1](https://img.shields.io/badge/AppVersion-v25.1.1-informational?style=flat-square)
6+
![Version: 25.1.1-beta1](https://img.shields.io/badge/Version-25.1.1--beta1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v25.1.1](https://img.shields.io/badge/AppVersion-v25.1.1-informational?style=flat-square)
77

88
This page describes the official Redpanda Helm Chart. In particular, this page describes the contents of the chart’s [`values.yaml` file](https://github.com/redpanda-data/helm-charts/blob/main/charts/redpanda/values.yaml). Each of the settings is listed and described on this page, along with any default values.
99

charts/redpanda/chart_template_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import (
3636
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
3737
"sigs.k8s.io/yaml"
3838

39-
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v5"
39+
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v25"
4040
"github.com/redpanda-data/redpanda-operator/pkg/helm"
4141
"github.com/redpanda-data/redpanda-operator/pkg/kube"
4242
"github.com/redpanda-data/redpanda-operator/pkg/testutil"

charts/redpanda/chart_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import (
4040
"sigs.k8s.io/yaml"
4141

4242
"github.com/redpanda-data/redpanda-operator/charts/console/v3"
43-
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v5"
43+
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v25"
4444
"github.com/redpanda-data/redpanda-operator/gotohelm/helmette"
4545
"github.com/redpanda-data/redpanda-operator/pkg/helm"
4646
"github.com/redpanda-data/redpanda-operator/pkg/helm/helmtest"

charts/redpanda/client/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import (
2929
"github.com/twmb/franz-go/pkg/sr"
3030
corev1 "k8s.io/api/core/v1"
3131

32-
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v5"
32+
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v25"
3333
"github.com/redpanda-data/redpanda-operator/gotohelm/helmette"
3434
)
3535

charts/redpanda/client/client_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
corev1 "k8s.io/api/core/v1"
1818
"k8s.io/utils/ptr"
1919

20-
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v5"
20+
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v25"
2121
"github.com/redpanda-data/redpanda-operator/gotohelm/helmette"
2222
)
2323

charts/redpanda/client_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
"k8s.io/client-go/tools/portforward"
2929
"sigs.k8s.io/yaml"
3030

31-
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v5"
31+
"github.com/redpanda-data/redpanda-operator/charts/redpanda/v25"
3232
"github.com/redpanda-data/redpanda-operator/gotohelm/helmette"
3333
"github.com/redpanda-data/redpanda-operator/pkg/helm"
3434
"github.com/redpanda-data/redpanda-operator/pkg/kube"

charts/redpanda/dwvalues.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
statefulset:
2+
updateStrategy:
3+
type: "OnDelete"
4+
podTemplate:
5+
spec:
6+
containers:
7+
- name: redpanda
8+
command:
9+
- bash
10+
args:
11+
- -c
12+
# NOTE: You'll need to manually construct/verify the host passed to --advertise-rpc-addr
13+
- |
14+
rm /var/lib/redpanda/data/pid.lock || true;
15+
rpk redpanda start --advertise-rpc-addr=$(SERVICE_NAME).redpanda.default.svc.cluster.local.:33145
16+
CODE=$?
17+
echo '0s after exit'
18+
sleep 1
19+
echo '1s after exit'
20+
sleep 1
21+
echo '2s after exit'
22+
exit $CODE

0 commit comments

Comments
 (0)