Skip to content

Commit fc3b163

Browse files
Stage console, redpanda, and operator releases (#1194) (#1195)
This stages the releases for Console 3.3.0, Redpanda 25.2.1, and Operator 25.2.1 charts. As upstream Console changed some its Go versioning and requires go 1.25, this also updates our go version and all of the nix tooling that is involved. (cherry picked from commit 71dada0) Co-authored-by: Andrew Stucki <[email protected]>
1 parent 7b1c1df commit fc3b163

File tree

121 files changed

+8941
-8561
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+8941
-8561
lines changed

.changes/charts/console/v3.3.0.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## [v3.3.0](https://github.com/redpanda-data/redpanda-operator/releases/tag/charts%2Fconsole%2Fv3.3.0) - 2025-12-02
2+
### Changed
3+
* Bump console chart version with new release of Console.
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
## [v25.2.1](https://github.com/redpanda-data/redpanda-operator/releases/tag/charts%2Fredpanda%2Fv25.2.1) - 2025-12-02
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+
* statefulset.initContainers.configurator.additionalCLIArgs is added to the helm values, to enable the init container to construct an external secret evaluator.
26+
27+
In the v2 operator, this value is defaulted from the operator's settings.
28+
### Changed
29+
* 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.
30+
* `clusterDomain` now defaults to `cluster.local.` (A trialing `.` has been added) and the chart no longer adds trailing `.`'s to internal domains.
31+
32+
For users not experiencing issues with trailing `.`'s this change has no
33+
effect. For users that have had issues with trailing `.`'s, it's now possible
34+
to opt-out of this behavior by explicitly setting `clusterDomain` to `cluster.local`.
35+
36+
For users that override `clusterDomain`, copied a previous releases
37+
values.yaml, or use the `--reuse-values` flag, trailing `.`'s will be tripped
38+
from domains upon updating. This behavior may be opted into by appending a
39+
`.` to `clusterDomain` prior to upgrading.
40+
* Bump AppVersion to v24.3.6 Redpanda release
41+
* Bump Redpanda operator side car container tag to `v2.3.7-24.3.6`.
42+
* `values.schema.json` is now "closed" (`additionalProperties: false`)
43+
44+
Any unexpected values will result in a validation error,previously they would
45+
have been ignored.
46+
* Update Console depedency to latest version with breaking change. Please visit Console change-log.
47+
* The name of the container running redpanda is now always set to `redpanda`.
48+
* bumped `appVersion` to [v25.1.1](https://github.com/redpanda-data/redpanda/releases/tag/v25.1.1).
49+
* `serviceAccount.create` now defaults to `true`.
50+
51+
The previous behavior resulted in using the `default` service account and
52+
extending it with all bindings generated from the chart. Such behavior is
53+
unlikely to be desired.
54+
* `rpk debug bundle --namespace $NAMESPACE` now works by default.
55+
56+
The chart now creates a set of `Roles` and `RoleBindings` that satisfy the
57+
requirements of running `rpk debug bundle` from any redpanda Pod. These
58+
permissions may be disabled by specifying `rbac.rpkDebugBundle=false`.
59+
60+
Additionally, the redpanda container now always has a Kubernetes
61+
ServiceAccount token mounted to it to ensure `rpk debug bundle` can be
62+
executed successfully.
63+
* Update Console depedency to latest version `v3.1.0`. Please visit Console change-log.
64+
* The generated bootstrap user password secret is now immutable. It was always intended to be a single-time generation, and now that is enforced at the Kubernetes API layer.
65+
* Cluster configuration syncing now sends the entire config instead of a minimal patch
66+
67+
Due to numerous divergences in how the operator, redpanda and their
68+
respective underlying YAML serde libraries handle marshalling data, computing
69+
a minimal diff has generally resulted in nasty bugs not worth the few bytes
70+
and CPU cycles we were initially trying to save.
71+
* The console integration (`console.enabled=true`) now uses the chart managed bootstrap user rather than the first user from `auth.sasl.users`.
72+
* Client certificates are now named `$FULLNAME-$CERT-client-cert`.
73+
### Deprecated
74+
* `.statefulset.sidecars.controllers.image` is now deprecated. It may be specified but will not be respected. Use `.statefulset.sidecars.image` instead.
75+
* - `statefulset.sideCars.controllers.createRBAC` is deprecated and no longer respected. In most cases, setting this field to `false` would result in a broken deployment. RBAC may be controlled via `rbac.enabled` or per controller via `statefulset.sideCars.controllers.{pvcUnbinder,brokerDecommissioner}.enabled`.
76+
* `statefulset.sideCars.controllers.run` has been unused for many releases and is now deprecated. Individual controllers may be enabled/disabled by setting their enabled field: `statefulset.sideCars.pvcUnbinder.enabled`, `statefulset.sideCars.brokerDecommissioner.enabled`.
77+
### Removed
78+
* Connectors sub-chart integration.
79+
80+
The connectors chart may still be deployed separately, though it is not
81+
officially support. If possible, it is recommended to migrate to redpanda
82+
connect.
83+
* Removed the deprecated fields `license_key` and `license_secret_ref` in favor
84+
of `enterprise.license` and `enterprise.licenseSecretRef`, respectively.
85+
* `statefulset.securityContext`, `statefulset.sideCars.configWatcher.securityContext` have been removed.
86+
87+
These fields previously served as both PodSecurityContext and SecurityContext
88+
across the entire chart which led to confusing semantics that couldn't be
89+
fixed without breaking backwards compatiblity.
90+
91+
The top level `podTemplate` field may be used to control
92+
PodSecurityContexts and SecurityContexts across the chart.
93+
* Fields that would be better served through `podTemplate` have been removed in favor of using `podTemplate`.
94+
95+
Removed fields:
96+
- `nodeSelector` -> `podTemplate.spec.nodeSelector`
97+
- `affinity` -> `podTemplate.spec.affinity`
98+
- `tolerations` -> `podTemplate.spec.tolerations`
99+
- `imagePullSecrets` -> `podTemplate.spec.imagePullSecrets`
100+
- `statefulset.annotations` -> `statefulset.podTemplate.annotations`
101+
- `statefulset.startupProbe` -> `statefulset.podTemplate.spec.containers[0].startupProbe`
102+
- `statefulset.livenessProbe` -> `statefulset.podTemplate.spec.containers[0].livenessProbe`
103+
- `statefulset.readinessProbe` -> `statefulset.podTemplate.spec.containers[1].readinessProbe`
104+
- `statefulset.podAffinity` -> `statefulset.podTemplate.spec.affinity.podAffinity`
105+
- `statefulset.nodeSelector` -> `statefulset.podTemplate.spec.nodeSelector`
106+
- `statefulset.priorityClassName` -> `statefulset.podTemplate.spec.priorityClassName`
107+
- `statefulset.tolerations` -> `statefulset.podTemplate.spec.tolerations`
108+
- `statefulset.topologySpreadConstraints` -> `statefulset.podTemplate.spec.topologySpreadConstraints`
109+
- `statefulset.terminationGracePeriodSeconds` -> `statefulset.podTemplate.spec.terminationGracePeriodSeconds`
110+
- `statefulset.extraVolumes` -> `statefulset.podTemplate.spec.volumes`
111+
- `statefulset.extraVolumesMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
112+
- `statefulset.initContainers.*.extraVolumesMounts` -> `statefulset.podTemplate.spec.initContainers[*].volumeMounts`
113+
- `statefulset.initContainers.*.resources` -> `statefulset.podTemplate.spec.initContainers[*].resources`
114+
- `statefulset.initContainers.extraInitContainers` -> `statefulset.podTemplate.spec.initContainers`
115+
- `statefulset.sidecars.configWatcher.extraVolumeMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
116+
- `statefulset.sidecars.configWatcher.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
117+
- `statefulset.sidecars.configWatcher.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
118+
- `statefulset.sidecars.controllers.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
119+
- `statefulset.sidecars.controllers.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
120+
- `statefulset.sidecars.extraVolumeMounts` -> `statefulset.podTemplate.spec.containers[*].volumeMounts`
121+
- `statefulset.sidecars.resources` -> `statefulset.podTemplate.spec.containers[*].resources`
122+
- `statefulset.sidecars.securityContext` -> `statefulset.podTemplate.spec.containers[*].securityContext`
123+
* Removed regex validation of all image tags.
124+
* The unrespected`kafkaEndpoint` listener parameter has been removed from `values.yaml`
125+
### Fixed
126+
* Reverse order of applying resources to first create ClusterRole and then ClusterRoleBinding.
127+
When Redpanda custom resource has enabled RBAC the reconciliation was blocked due
128+
ClusterRoleBinding referencing not yet created ClusterRole.
129+
130+
* Fixed an issue where not explicitly specifying a SASL auth mechanism when SASL is enabled caused Console to fail to start up.
131+
* Prevent broker nodes from restarting when solely the cluster replica amount changes
132+
* `authentication_method` is no longer set on `http_api` as redpanda itself does not support authentication on the http API.
133+
* Fixed rack awareness by mounting a service account token to the initcontainer when rack awareness is enabled.
134+
* Broken `Issuer`s and `Certificate`s are no longer needlessly generated when `tls.<cert>.issuerRef` is provided.
135+
* Fixed the security contexts' of `set-datadir-ownership` and `set-tiered-storage-cache-dir-ownership`.
136+
* The `schema_registry_client` and `pandaproxy_client` stanzas of `redpanda.yaml`
137+
now respect `listeners.kafka.tls.trustStore`, when provided.
138+
See also [helm-chart 1573 issue](https://github.com/redpanda-data/helm-charts/issues/1573).
139+
140+
* Corrected naming of `Role`s to use Fullname instead of Name, which ensures they are unique within their namespace.
141+
* Updated naming of `ClusterRole`s to include the release namespace. This ensures that they are unique per release and permits installing the chart with the same name across different namespaces.
142+
* Crashes from the Sidecar container (e.g. due to a temporary API Server outage) no longer forcefully restart the redpanda container.
143+
* `ClusterRole`s for the PVCUnbinder and BrokerDecommissioner are now enabled / disabled when their respective controller is enabled / disabled.
144+
145+
Previously `ClusterRole`s were always generated and could only be disabled by setting `.statefulset.sideCars.controllers.createRBAC=false` which rendered the sidecar inoperable.
146+
* Cluster configuration synchronization now correctly handles aliased keys such as `schema_registry_normalize_on_startup`.
147+
* `statefulset.podTemplate.spec.volumes` can now be used to override chart generated volumes.
148+
* Fix a bug with the way the config-watcher sidecar syncs users. The Kubernetes mechanism for writing out a changed secret is involves re-creating a symlink in the secrets directory that points to the mounted secret. Previously the config-watcher only detected changes to the entire directory and could potentially miss syncs, this resyncs everything anytime the symlink is recreated.
149+
* mTLS client certificates are now generated per certificate, as required, instead of using a single and potentially invalid certificate.

.changes/operator/v25.2.1.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## [v25.2.1](https://github.com/redpanda-data/redpanda-operator/releases/tag/operator%2Fv25.2.1) - 2025-12-02
2+
### Added
3+
* Roles can be declaratively managed using RedpandaRole CRD
4+
* Add experimental support for node pools. To enable node pool support you must install the experimental NodePool CRDs and run the controller with the --enable-v2-nodepools flag.
5+
* Added a new `Console` CRD for managing a [Redpanda Console](https://github.com/redpanda-data/console/) deployments. For examples, see [`acceptance/features/console.feature`](../acceptance/features/console.feature).
6+
* Added `status.managedPrincipals` field to RedpandaRole CRD to track whether the operator is managing role membership. The operator now properly reconciles membership changes when spec.principals is updated, including adding, removing, or clearing all principals.
7+
### Changed
8+
* By default, the operator now reconciles resources (`Redpanda`, `Topic`, etc) across _all namespaces_.
9+
10+
The `--namespace` flag may be used to scope the operator's watches to a single namespace.
11+
* Client certificates are now named `$FULLNAME-$CERT-client-cert`.
12+
### Deprecated
13+
* The Redpanda console stanza (`.spec.clusterSpec.console`) is now deprecated in favor of the stand-alone Console CRD.
14+
* Deprecated various fields in multiple CRDs for `kafka`, `adminAPI`, and `schemaRegistry` under the static configuration of `clusterSource` so that various fields that were only specifiable via an in-cluster secret can now be pulled via either external secret provider, in-cluster secret, config map, or inlined value.
15+
* The entirety of the `spec.clusterSpec.console` block in the Redpanda CR is now deprecated and will be removed in the future. Any Redpanda CR that contains one will automatically be migrated to a standalone Console CR with a back reference to the parent Redpanda CR. Note that these will *not* be automatically deleted when the `console` stanza is removed or when the parent Redpanda CR is deleted.
16+
### Fixed
17+
* Fix a bug with the way the config-watcher sidecar syncs users. The Kubernetes mechanism for writing out a changed secret is involves re-creating a symlink in the secrets directory that points to the mounted secret. Previously the config-watcher only detected changes to the entire directory and could potentially miss syncs, this resyncs everything anytime the symlink is recreated.
18+
* mTLS client certificates are now generated per certificate, as required, instead of using a single and potentially invalid certificate.

.changes/unreleased/charts-redpanda-Added-20250328-153410.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

.changes/unreleased/charts-redpanda-Added-20250328-181601.yaml

Lines changed: 0 additions & 22 deletions
This file was deleted.

.changes/unreleased/charts-redpanda-Added-20250508-153933.yaml

Lines changed: 0 additions & 7 deletions
This file was deleted.

.changes/unreleased/charts-redpanda-Changed-20250225-090119.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.

.changes/unreleased/charts-redpanda-Changed-20250226-135913.yaml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.changes/unreleased/charts-redpanda-Changed-20250228-132038.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.

.changes/unreleased/charts-redpanda-Changed-20250303-115048.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)