Skip to content

Commit b31aa03

Browse files
committed
feat(kamaji)!: update to 26.9.4-edge
The tenant kube-apiserver argument list is no longer collapsed into a map keyed by flag name: entries supplied through the control plane spec reach the apiserver verbatim, duplicates included, and the reset that rewrites them from scratch keys on a hash of the list rather than on its length, so a same-count flag swap no longer strands the old flag on the running Deployment. The datastore deletion fix landed upstream verbatim, so its patch no longer applies, and one failing patch fails the whole apply of the directory. The module overlay is obsolete for the opposite reason: this tag already carries golang.org/x/net, golang.org/x/crypto and go.opentelemetry.io/otel/sdk above the versions the overlay forced, so keeping it would downgrade all three. The etcd.deploy override goes with it. The chart's dependency condition is kamaji-etcd.deploy and the subchart is not vendored here, so the key has never selected anything. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <[email protected]>
1 parent 76b3652 commit b31aa03

13 files changed

Lines changed: 2981 additions & 180 deletions

‎packages/system/kamaji/charts/kamaji-crds/hack/kamaji.clastix.io_datastores_spec.yaml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,14 @@ versions:
123123
List of the endpoints to connect to the shared datastore.
124124
No need for protocol, just bare IP/FQDN and port.
125125
items:
126+
maxLength: 256
126127
type: string
128+
maxItems: 64
127129
minItems: 1
128130
type: array
131+
x-kubernetes-validations:
132+
- message: an IPv6 endpoint address must be bracketed, e.g. [2001:db8::1]:2379
133+
rule: self.all(e, e.startsWith('[') || e.split(':').size() <= 2)
129134
tlsConfig:
130135
description: |-
131136
Defines the TLS/SSL configuration required to connect to the data store in a secure way.

‎packages/system/kamaji/charts/kamaji-crds/hack/kamaji.clastix.io_tenantcontrolplanes_spec.yaml‎

Lines changed: 1458 additions & 74 deletions
Large diffs are not rendered by default.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
dependencies:
22
- name: kamaji-etcd
33
repository: https://clastix.github.io/charts
4-
version: 0.11.0
5-
digest: sha256:96b4115b8c02f771f809ec1bed3be3a3903e7e8315d6966aa54b0f73230ea421
6-
generated: "2025-07-03T09:19:19.835421461+02:00"
4+
version: 0.15.0
5+
digest: sha256:dffc71b76c5711884d1bb4b66dee859e4dc70b149b02b4d36d0c60d299d7c55a
6+
generated: "2026-05-25T10:39:07.251403781+02:00"

‎packages/system/kamaji/charts/kamaji/Chart.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ version: 0.0.0+latest
2121
dependencies:
2222
- name: kamaji-etcd
2323
repository: https://clastix.github.io/charts
24-
version: ">=0.11.0"
24+
version: ">=0.15.0"
2525
condition: kamaji-etcd.deploy
2626
annotations:
2727
catalog.cattle.io/certified: partner

‎packages/system/kamaji/charts/kamaji/README.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Kubernetes: `>=1.21.0-0`
2222

2323
| Repository | Name | Version |
2424
|------------|------|---------|
25-
| https://clastix.github.io/charts | kamaji-etcd | >=0.11.0 |
25+
| https://clastix.github.io/charts | kamaji-etcd | >=0.15.0 |
2626

2727
[Kamaji](https://github.com/clastix/kamaji) requires a [multi-tenant `etcd`](https://github.com/clastix/kamaji-internal/blob/master/deploy/getting-started-with-kamaji.md#setup-internal-multi-tenant-etcd) cluster.
2828
This Helm Chart starting from v0.1.1 provides the installation of an internal `etcd` in order to streamline the local test. If you'd like to use an externally managed etcd instance, you can specify the overrides and by setting the value `etcd.deploy=false`.
@@ -74,6 +74,7 @@ Here the values you can override:
7474
| Key | Type | Default | Description |
7575
|-----|------|---------|-------------|
7676
| affinity | object | `{}` | Kubernetes affinity rules to apply to Kamaji controller pods |
77+
| certManager.issuerRef | object | `{}` | Reference to an existing cert-manager issuer that signs the webhook serving certificate. When `name` is empty the chart creates a self-signed `Issuer` named `kamaji-selfsigned-issuer` and uses that. Set this to chain the webhook certificate to a certificate authority you own. `kind` defaults to `Issuer` and `group` to `cert-manager.io`. Note that the `kamaji-etcd` subchart has its own `kamaji-etcd.certManager.issuerRef`, which defaults to `kamaji-selfsigned-issuer` and has to be updated as well when the etcd certificates are issued by cert-manager. |
7778
| defaultDatastoreName | string | `"default"` | If specified, all the Kamaji instances with an unassigned DataStore will inherit this default value. |
7879
| extraArgs | list | `[]` | A list of extra arguments to add to the kamaji controller default ones |
7980
| fullnameOverride | string | `""` | |
@@ -82,7 +83,7 @@ Here the values you can override:
8283
| image.repository | string | `"clastix/kamaji"` | The container image of the Kamaji controller. |
8384
| image.tag | string | `nil` | Overrides the image tag whose default is the chart appVersion. |
8485
| imagePullSecrets | list | `[]` | |
85-
| kamaji-etcd | object | `{"clusterDomain":"cluster.local","datastore":{"enabled":true,"name":"default"},"deploy":true,"fullnameOverride":"kamaji-etcd"}` | Subchart: See https://github.com/clastix/kamaji-etcd/blob/master/charts/kamaji-etcd/values.yaml |
86+
| kamaji-etcd | object | `{"certManager":{"enabled":true,"issuerRef":{"group":"cert-manager.io","kind":"Issuer","name":"kamaji-selfsigned-issuer"}},"clusterDomain":"cluster.local","datastore":{"enabled":true,"name":"default"},"deploy":true,"fullnameOverride":"kamaji-etcd","selfSignedCertificates":{"enabled":false}}` | Subchart: See https://github.com/clastix/kamaji-etcd/blob/master/charts/kamaji-etcd/values.yaml |
8687
| kubeconfigGenerator.affinity | object | `{}` | Kubernetes affinity rules to apply to Kubeconfig Generator controller pods |
8788
| kubeconfigGenerator.enableLeaderElect | bool | `true` | Enables the leader election. |
8889
| kubeconfigGenerator.enabled | bool | `false` | Toggle to deploy the Kubeconfig Generator Deployment. |

‎packages/system/kamaji/charts/kamaji/crds/kamaji.clastix.io_datastores.yaml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,14 @@ spec:
132132
List of the endpoints to connect to the shared datastore.
133133
No need for protocol, just bare IP/FQDN and port.
134134
items:
135+
maxLength: 256
135136
type: string
137+
maxItems: 64
136138
minItems: 1
137139
type: array
140+
x-kubernetes-validations:
141+
- message: an IPv6 endpoint address must be bracketed, e.g. [2001:db8::1]:2379
142+
rule: self.all(e, e.startsWith('[') || e.split(':').size() <= 2)
138143
tlsConfig:
139144
description: |-
140145
Defines the TLS/SSL configuration required to connect to the data store in a secure way.

0 commit comments

Comments
 (0)