From 232ba3d14acf947c76cd08ee8666d48c976752ca Mon Sep 17 00:00:00 2001 From: Said Boudjelda Date: Mon, 2 Nov 2026 00:23:40 +0100 Subject: [PATCH] chore(release): prepare v1.35.0 --- README.md | 4 ++-- charts/connect-cluster/Chart.yaml | 6 ++++-- charts/connect-cluster/values.yaml | 2 +- charts/kafka-cluster/Chart.yaml | 8 +++++--- charts/kafka-cluster/values.yaml | 4 ++-- charts/kates-chaos/Chart.yaml | 6 ++++-- charts/kates-chaos/README.md | 2 +- charts/kates-chaos/values.yaml | 2 +- charts/kates-platform/Chart.yaml | 8 +++++--- charts/kates/Chart.yaml | 8 +++++--- charts/kates/README.md | 2 +- charts/kates/values-native.yaml | 2 +- charts/kates/values.yaml | 2 +- charts/mirror-maker2/Chart.yaml | 6 ++++-- charts/mirror-maker2/values.yaml | 2 +- charts/strimzi-operator/Chart.yaml | 6 ++++-- charts/strimzi-operator/README.md | 2 +- charts/strimzi-operator/values.yaml | 2 +- .../litmus/experiments/consumer-latency-probe.yaml | 2 +- config/litmus/experiments/isr-health-probe.yaml | 4 ++-- config/litmus/experiments/kafka-chaos-cronjob.yaml | 6 +++--- .../litmus/experiments/kafka-gameday-workflow.yaml | 8 ++++---- .../experiments/kates-chaos-integration-job.yaml | 2 +- .../experiments/producer-throughput-probe.yaml | 2 +- docs/book/14-recipes.md | 2 +- docs/book/appendix-d-versions.md | 14 +++++++------- docs/kafka-cluster-runbook.md | 2 +- docs/registry/kates-tester.md | 6 +++--- docs/registry/kates.md | 8 ++++---- kates/k8s/deployment.yaml | 2 +- server.json | 6 +++--- 31 files changed, 76 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 2f00d63a..cf995ada 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,7 @@ This repository is also a GitHub Action, **Kates Quality Gate**. It installs the ```yaml - name: Kafka performance gate id: gate - uses: bmscomp/kates@v1.34.1 + uses: bmscomp/kates@v1.35.0 with: api-url: ${{ vars.KATES_URL }} api-key: ${{ secrets.KATES_API_KEY }} @@ -199,7 +199,7 @@ This repository is also a GitHub Action, **Kates Quality Gate**. It installs the Outputs: `run-id`, `grade`, and `passed` (`true` or `false`). -The runner has to reach the Kates API. The default `http://localhost:8080` suits a self-hosted runner beside the cluster after `kates ports`; a GitHub-hosted runner needs the API exposed to it. The action runs on Linux and macOS runners, amd64 or arm64, and needs `curl`, `tar` and `python3`. Pin a release tag such as `v1.34.1`, or `v1` to follow the latest 1.x release: each stable release moves it. +The runner has to reach the Kates API. The default `http://localhost:8080` suits a self-hosted runner beside the cluster after `kates ports`; a GitHub-hosted runner needs the API exposed to it. The action runs on Linux and macOS runners, amd64 or arm64, and needs `curl`, `tar` and `python3`. Pin a release tag such as `v1.35.0`, or `v1` to follow the latest 1.x release: each stable release moves it. ## Other clusters diff --git a/charts/connect-cluster/Chart.yaml b/charts/connect-cluster/Chart.yaml index bd9ce330..682e5620 100644 --- a/charts/connect-cluster/Chart.yaml +++ b/charts/connect-cluster/Chart.yaml @@ -2,9 +2,9 @@ apiVersion: v2 name: connect-cluster description: A Helm chart for deploying Strimzi Kafka Connect clusters type: application -# Patch: testImages.kubectl moves to kates-tester 1.34.1, the tag the v1.34.1 +# Patch: testImages.kubectl moves to kates-tester 1.35.0, the tag the v1.35.0 # release publishes; every chart that runs it pins the same one. -version: 2.1.22 +version: 2.1.23 # Tracks the Kafka line the workers run, as mirror-maker2's does. The plugin # set is in the image; its pin is the kates.io/connect-image annotation. appVersion: "4.3.1" @@ -31,6 +31,8 @@ annotations: artifacthub.io/category: streaming-messaging artifacthub.io/license: Apache-2.0 artifacthub.io/changes: | + - kind: changed + description: "testImages.kubectl moves to kates-tester 1.35.0, the tag the v1.35.0 release publishes; scripts/check-versions.sh holds it to the kates chart's appVersion. The image is unchanged since 1.30.1 (nothing under tester/ moved), so this is the pin, not the tooling." - kind: added description: "A pre-install hook NetworkPolicy for the preflight and secret-sync Jobs (DNS, the API server, Kafka), rendered when either is on. A pre-install Job runs before any ordinary resource exists, so where the namespace denies all traffic the preflight could not reach Kafka at all" - kind: changed diff --git a/charts/connect-cluster/values.yaml b/charts/connect-cluster/values.yaml index 7a6556f9..eb3fe203 100644 --- a/charts/connect-cluster/values.yaml +++ b/charts/connect-cluster/values.yaml @@ -55,7 +55,7 @@ imagePullPolicy: "" # -- Images the chart's own pods use testImages: - kubectl: "ghcr.io/bmscomp/kates-tester:1.34.1" + kubectl: "ghcr.io/bmscomp/kates-tester:1.35.0" # ── Workers ───────────────────────────────────────────────────────────────── # -- Number of worker replicas (seeded from autoscaling.minReplicas under an HPA) diff --git a/charts/kafka-cluster/Chart.yaml b/charts/kafka-cluster/Chart.yaml index 9fb2647f..4151a07f 100644 --- a/charts/kafka-cluster/Chart.yaml +++ b/charts/kafka-cluster/Chart.yaml @@ -2,10 +2,10 @@ apiVersion: v2 name: kafka-cluster description: A Strimzi Kafka cluster in KRaft mode — node pools, topics, users, rebalancing, tiered storage, network policy and observability type: application -# Patch: testImages.kubectl and testImages.kafka move to kates-tester 1.34.1, -# the tag the v1.34.1 release publishes; every chart that runs it pins the +# Patch: testImages.kubectl and testImages.kafka move to kates-tester 1.35.0, +# the tag the v1.35.0 release publishes; every chart that runs it pins the # same one. -version: 1.0.27 +version: 1.0.28 appVersion: "4.3.1" icon: https://strimzi.io/assets/images/strimzi_logo.png home: https://strimzi.io/ @@ -39,6 +39,8 @@ annotations: # newer; never lower it without removing the feature that set it. kates.io/kafka-floor: "4.2.0" artifacthub.io/changes: | + - kind: changed + description: "testImages.kubectl and testImages.kafka move to kates-tester 1.35.0, the tag the v1.35.0 release publishes; scripts/check-versions.sh holds it to the kates chart's appVersion. The image is unchanged since 1.30.1 (nothing under tester/ moved), so this is the pin, not the tooling." - kind: changed description: "values-kind.yaml no longer switches networkPolicy off: on a kind cluster whose CNI enforces policies and whose namespaces deny all traffic by default, the brokers' init container could not reach the API server and the cluster never came up" - kind: changed diff --git a/charts/kafka-cluster/values.yaml b/charts/kafka-cluster/values.yaml index a2a35e52..3e4b76ee 100644 --- a/charts/kafka-cluster/values.yaml +++ b/charts/kafka-cluster/values.yaml @@ -71,8 +71,8 @@ global: # -- Images of the Helm-test pods (tests.imageRegistry mirrors them). Pinned: # scripts/check-versions.sh keeps them aligned with the other charts. testImages: - kafka: "ghcr.io/bmscomp/kates-tester:1.34.1" - kubectl: "ghcr.io/bmscomp/kates-tester:1.34.1" + kafka: "ghcr.io/bmscomp/kates-tester:1.35.0" + kubectl: "ghcr.io/bmscomp/kates-tester:1.35.0" # -- Pull policy for test pods (empty: Kubernetes' default) pullPolicy: IfNotPresent diff --git a/charts/kates-chaos/Chart.yaml b/charts/kates-chaos/Chart.yaml index edea163f..d805148e 100644 --- a/charts/kates-chaos/Chart.yaml +++ b/charts/kates-chaos/Chart.yaml @@ -4,9 +4,9 @@ name: kates-chaos # PSS restricted securityContext and resources by default, so an installer or # GameDay image that needs root stops starting; GameDay and the tests move to # kates-tester, which has the shell they need. -# Patch: images.tester moves to kates-tester 1.34.1, the tag the v1.34.1 +# Patch: images.tester moves to kates-tester 1.35.0, the tag the v1.35.0 # release publishes; every chart that runs it pins the same one. -version: 2.4.0 +version: 2.4.1 # Tracks the LitmusChaos execution-plane version this chart deploys. appVersion: "3.28.0" description: Kates Chaos Engineering — wraps the LitmusChaos execution plane (operator, exporter, CRDs) with Kafka-specific RBAC, experiment/engine templating, and monitoring @@ -30,6 +30,8 @@ annotations: artifacthub.io/category: skip-prediction artifacthub.io/prerelease: "false" artifacthub.io/changes: | + - kind: changed + description: "images.tester moves to kates-tester 1.35.0, the tag the v1.35.0 release publishes; scripts/check-versions.sh holds it to the kates chart's appVersion. The image is unchanged since 1.30.1 (nothing under tester/ moved), so this is the pin, not the tooling." - kind: changed description: "networkPolicy.enabled is true by default (values-kind.yaml no longer switches it off), so the chaos operator gets DNS, the API server and the target namespaces where its namespace denies all traffic" - kind: added diff --git a/charts/kates-chaos/README.md b/charts/kates-chaos/README.md index 8a620d97..ffeba0ce 100644 --- a/charts/kates-chaos/README.md +++ b/charts/kates-chaos/README.md @@ -74,7 +74,7 @@ helm upgrade --install chaos ./kates-chaos \ | `images.kubectl.repository` | Image for the installer Job | `registry.k8s.io/kubectl` | | `images.kubectl.tag` | kubectl image tag | `v1.33.0` | | `images.kubectl.digest` | Pin by digest (wins over tag) | `""` | -| `images.tester` | Image for GameDay and the Helm tests, whose scripts need a shell; runs as uid 1000 | `ghcr.io/bmscomp/kates-tester:1.34.1` | +| `images.tester` | Image for GameDay and the Helm tests, whose scripts need a shell; runs as uid 1000 | `ghcr.io/bmscomp/kates-tester:1.35.0` | | `images.goRunner.repository` | Default runtime for experiments | `litmuschaos/go-runner` | | `images.goRunner.tag` | go-runner image tag | `3.28.0` | diff --git a/charts/kates-chaos/values.yaml b/charts/kates-chaos/values.yaml index 43dc8760..a0df702e 100644 --- a/charts/kates-chaos/values.yaml +++ b/charts/kates-chaos/values.yaml @@ -48,7 +48,7 @@ images: # tester — kates-tester, for GameDay and the Helm tests, whose scripts need # the shell the kubectl image lacks. Runs as uid 1000. Pinned to the kates # appVersion, like every chart's test image (scripts/check-versions.sh). - tester: "ghcr.io/bmscomp/kates-tester:1.34.1" + tester: "ghcr.io/bmscomp/kates-tester:1.35.0" # go-runner — default runtime for ChaosExperiment definitions goRunner: repository: litmuschaos/go-runner diff --git a/charts/kates-platform/Chart.yaml b/charts/kates-platform/Chart.yaml index 7b48e355..b27d6ba4 100644 --- a/charts/kates-platform/Chart.yaml +++ b/charts/kates-platform/Chart.yaml @@ -2,9 +2,9 @@ apiVersion: v2 name: kates-platform description: Umbrella chart for the full Kates platform — Kafka, Kates, and supporting infrastructure type: application -# Patch: the umbrella packs the subcharts the v1.34.1 release pins: kates -# 0.15.4, kafka-cluster 1.0.26, connect-cluster 2.1.21, mirror-maker2 0.11.19. -version: 0.8.18 +# Patch: the umbrella packs the subcharts the v1.35.0 release pins: kates +# 0.15.6, kafka-cluster 1.0.28, connect-cluster 2.1.23, mirror-maker2 0.11.21. +version: 0.8.19 appVersion: "1.0.0" keywords: - kafka @@ -41,6 +41,8 @@ dependencies: condition: connect-cluster.enabled annotations: artifacthub.io/changes: | + - kind: changed + description: "The umbrella moves with the v1.35.0 release: it packs kates 0.15.6, kafka-cluster 1.0.28, connect-cluster 2.1.23 and mirror-maker2 0.11.21 as they are on disk. Templates are unchanged." - kind: changed description: "Packs kates 0.15.5, kafka-cluster 1.0.27, apicurio-registry 0.5.0, mirror-maker2 0.11.20 and connect-cluster 2.1.22, whose NetworkPolicies let every pod run where its namespace denies all traffic. Templates are unchanged" - kind: changed diff --git a/charts/kates/Chart.yaml b/charts/kates/Chart.yaml index 10f73890..35faefe0 100644 --- a/charts/kates/Chart.yaml +++ b/charts/kates/Chart.yaml @@ -2,14 +2,14 @@ apiVersion: v2 name: kates description: Kates — Kafka Advanced Testing & Engineering Suite type: application -# Patch: appVersion and the image tag move to 1.34.1, the tag the v1.34.1 +# Patch: appVersion and the image tag move to 1.35.0, the tag the v1.35.0 # release publishes. -version: 0.15.5 +version: 0.15.6 # The non-blocking health endpoints this chart's probes now point at come from # a BUILD-TIME property (quarkus.messaging.health.enabled=false), so they only # exist in the image built from this branch. Keep appVersion and # image.tag in values.yaml pinned to that release. -appVersion: "1.34.1" +appVersion: "1.35.0" keywords: - kafka - testing @@ -28,6 +28,8 @@ annotations: artifacthub.io/category: integration-delivery artifacthub.io/license: Apache-2.0 artifacthub.io/changes: | + - kind: changed + description: "appVersion 1.35.0 and the image tag move to 1.35.0. Nothing under kates/ moved since 1.34.1; the release ships the CLI work #577-#579 (kyverno check covers the stack, .policies, --with-kates) and the chart NetworkPolicies of #581. Templates are unchanged by this entry." - kind: fixed description: "The generated allow-dns-egress policy for app namespaces: dNS egress goes to port 53 at any address, not only to pods: a node-local DNS cache (GKE, AKS, EKS NodeLocal DNSCache) answers from a node address, which a pod selector never matches" - kind: added diff --git a/charts/kates/README.md b/charts/kates/README.md index f2c01f8b..9de21ea1 100644 --- a/charts/kates/README.md +++ b/charts/kates/README.md @@ -33,7 +33,7 @@ All configuration is in [values.yaml](values.yaml). Key sections: | Parameter | Default | Description | |-----------|---------|-------------| | `image.repository` | `ghcr.io/bmscomp/kates` | Container image name | -| `image.tag` | `1.34.1` | Container image tag, pinned in `values.yaml` to match the chart's `appVersion`. Keep it at 1.22.0 or newer: the probes use health endpoints older images lack | +| `image.tag` | `1.35.0` | Container image tag, pinned in `values.yaml` to match the chart's `appVersion`. Keep it at 1.22.0 or newer: the probes use health endpoints older images lack | | `image.pullPolicy` | `IfNotPresent` | Image pull policy | | `global.imageRegistry` | `""` | Prepended, with a slash, to every image the chart renders: the API, PostgreSQL, the init container, the jobs, the helm test pods and `chaos.stressImage` | | `imagePullSecrets`, `global.imagePullSecrets` | `[]` | Pull secrets, both lists, on every pod the chart renders. An entry is a Secret name (`regcred`) or `{name: regcred}` | diff --git a/charts/kates/values-native.yaml b/charts/kates/values-native.yaml index c98c7100..6855f397 100644 --- a/charts/kates/values-native.yaml +++ b/charts/kates/values-native.yaml @@ -23,7 +23,7 @@ image: # Published as -native alongside the JVM tag. - tag: "1.34.1-native" + tag: "1.35.0-native" # Not read by a native image — see above. jvm: diff --git a/charts/kates/values.yaml b/charts/kates/values.yaml index 33f6fb7d..1203d889 100644 --- a/charts/kates/values.yaml +++ b/charts/kates/values.yaml @@ -29,7 +29,7 @@ image: repository: ghcr.io/bmscomp/kates # -- Image tag. Must be the release that carries the non-blocking health # endpoints the probe defaults below depend on (>= 1.22.0). - tag: "1.34.1" + tag: "1.35.0" # -- Image pull policy pullPolicy: IfNotPresent diff --git a/charts/mirror-maker2/Chart.yaml b/charts/mirror-maker2/Chart.yaml index 2fd1a181..d2f227a8 100644 --- a/charts/mirror-maker2/Chart.yaml +++ b/charts/mirror-maker2/Chart.yaml @@ -13,9 +13,9 @@ type: application # REMOVED. 0.10.0 froze them into the generated board and documented them as # inert, which left two keys that accept a number and ignore it; a release # setting either is now refused with the constant to edit named. -# Patch: testImages.kubectl moves to kates-tester 1.34.1, the tag the v1.34.1 +# Patch: testImages.kubectl moves to kates-tester 1.35.0, the tag the v1.35.0 # release publishes; every chart that runs it pins the same one. -version: 0.11.20 +version: 0.11.21 # Tracks the Kafka line the MM2 Connect workers run (STRIMZI_KAFKA_VERSION). appVersion: "4.3.1" kubeVersion: ">=1.27.0-0" @@ -42,6 +42,8 @@ annotations: artifacthub.io/category: streaming-messaging artifacthub.io/license: Apache-2.0 artifacthub.io/changes: | + - kind: changed + description: "testImages.kubectl moves to kates-tester 1.35.0, the tag the v1.35.0 release publishes; scripts/check-versions.sh holds it to the kates chart's appVersion. The image is unchanged since 1.30.1 (nothing under tester/ moved), so this is the pin, not the tooling." - kind: fixed description: "The workers' NetworkPolicy allows the API server (networkPolicy.apiServer, on by default, 443 and 6443). The workers read their KafkaUser Secret through it (Strimzi's KubernetesSecretConfigProvider); without it they hung at start until the liveness probe killed them, on every cluster that enforces policies" - kind: added diff --git a/charts/mirror-maker2/values.yaml b/charts/mirror-maker2/values.yaml index 2bbda151..df620b2a 100644 --- a/charts/mirror-maker2/values.yaml +++ b/charts/mirror-maker2/values.yaml @@ -35,7 +35,7 @@ global: # -- Images used by the Helm test pods testImages: - kubectl: "ghcr.io/bmscomp/kates-tester:1.34.1" + kubectl: "ghcr.io/bmscomp/kates-tester:1.35.0" # -- Number of MM2 (Connect) worker replicas replicas: 3 diff --git a/charts/strimzi-operator/Chart.yaml b/charts/strimzi-operator/Chart.yaml index c02fe759..b9fdc184 100644 --- a/charts/strimzi-operator/Chart.yaml +++ b/charts/strimzi-operator/Chart.yaml @@ -3,9 +3,9 @@ name: strimzi-operator # Minor: the operator runs Strimzi's restricted pod security provider by # default, which rolls every Kafka pod it manages once and refuses a Kaniko # Connect build; the Helm tests get resources, and podLabels is new. -# Patch: testImages.kubectl moves to kates-tester 1.34.1, the tag the v1.34.1 +# Patch: testImages.kubectl moves to kates-tester 1.35.0, the tag the v1.35.0 # release publishes; every chart that runs it pins the same one. -version: 0.4.13 +version: 0.4.14 # Tracks the Strimzi operator version this chart deploys. The CLI rewrites this # (and the dependency version) in a generated copy when another version is # selected; the repository copy is the pin. @@ -32,6 +32,8 @@ annotations: artifacthub.io/category: streaming-messaging artifacthub.io/license: Apache-2.0 artifacthub.io/changes: | + - kind: changed + description: "testImages.kubectl moves to kates-tester 1.35.0, the tag the v1.35.0 release publishes; scripts/check-versions.sh holds it to the kates chart's appVersion. The image is unchanged since 1.30.1 (nothing under tester/ moved), so this is the pin, not the tooling." - kind: added description: "A pre-install hook NetworkPolicy giving the CRD upgrade Job and the Helm tests DNS, HTTPS and the API server, where the namespace denies all traffic. The operator's own policy never selected them. Rendered with operatorPolicy.enabled; Helm leaves it behind on uninstall" - kind: changed diff --git a/charts/strimzi-operator/README.md b/charts/strimzi-operator/README.md index 251e1f6f..27c58f69 100644 --- a/charts/strimzi-operator/README.md +++ b/charts/strimzi-operator/README.md @@ -71,7 +71,7 @@ kubectl get deploy strimzi-cluster-operator -n strimzi-operator \ | Key | Default | Description | |-----|---------|-------------| | `strimziVersion` | `1.2.0` | Builds the CRD bundle URL. Must equal `Chart.yaml` `appVersion` + dependency version. | -| `testImages.kubectl` | `ghcr.io/bmscomp/kates-tester:1.34.1` | Image for the CRD hook Job and Helm tests | +| `testImages.kubectl` | `ghcr.io/bmscomp/kates-tester:1.35.0` | Image for the CRD hook Job and Helm tests | | `crdUpgrade.enabled` | `true` | Apply CRDs via the pre-install/pre-upgrade hook | | `crdUpgrade.url` | `""` | Override the bundle URL (empty = derive from `strimziVersion`). Use an internal mirror when airgapped. | | `crdUpgrade.backoffLimit` | `3` | Job retries before the install/upgrade aborts | diff --git a/charts/strimzi-operator/values.yaml b/charts/strimzi-operator/values.yaml index 4ced97c3..62fb8eca 100644 --- a/charts/strimzi-operator/values.yaml +++ b/charts/strimzi-operator/values.yaml @@ -49,7 +49,7 @@ strimziVersion: "1.2.0" # tests). The operator's own image comes from the subchart. testImages: # -- kubectl image used by the CRD-upgrade hook Job and the Helm tests - kubectl: "ghcr.io/bmscomp/kates-tester:1.34.1" + kubectl: "ghcr.io/bmscomp/kates-tester:1.35.0" # ── Helm tests ─────────────────────────────────────────────────────────────── tests: diff --git a/config/litmus/experiments/consumer-latency-probe.yaml b/config/litmus/experiments/consumer-latency-probe.yaml index 1e2ef637..1ca924d8 100644 --- a/config/litmus/experiments/consumer-latency-probe.yaml +++ b/config/litmus/experiments/consumer-latency-probe.yaml @@ -83,7 +83,7 @@ spec: criteria: contains value: "PASS" source: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 hostNetwork: false --- # Consumer latency monitoring ConfigMap diff --git a/config/litmus/experiments/isr-health-probe.yaml b/config/litmus/experiments/isr-health-probe.yaml index c4aeaabd..7c717644 100644 --- a/config/litmus/experiments/isr-health-probe.yaml +++ b/config/litmus/experiments/isr-health-probe.yaml @@ -56,7 +56,7 @@ spec: criteria: contains value: "PASS" source: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 hostNetwork: false # Min ISR check - ensure partitions can still accept writes @@ -88,7 +88,7 @@ spec: criteria: "<=" value: "5" # Allow up to 5 unavailable during chaos source: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 hostNetwork: false --- # ISR health monitoring ConfigMap diff --git a/config/litmus/experiments/kafka-chaos-cronjob.yaml b/config/litmus/experiments/kafka-chaos-cronjob.yaml index 869b629d..8f0da2bd 100644 --- a/config/litmus/experiments/kafka-chaos-cronjob.yaml +++ b/config/litmus/experiments/kafka-chaos-cronjob.yaml @@ -58,7 +58,7 @@ spec: # Pre-flight check - name: preflight-check container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: @@ -96,7 +96,7 @@ spec: - name: experiment - name: duration container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: @@ -142,7 +142,7 @@ spec: # Verify cluster recovery - name: verify-cluster container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: diff --git a/config/litmus/experiments/kafka-gameday-workflow.yaml b/config/litmus/experiments/kafka-gameday-workflow.yaml index c1fdae60..801cc64d 100644 --- a/config/litmus/experiments/kafka-gameday-workflow.yaml +++ b/config/litmus/experiments/kafka-gameday-workflow.yaml @@ -192,7 +192,7 @@ spec: - name: experiment-type - name: extra-env container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: @@ -255,7 +255,7 @@ spec: parameters: - name: phase container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: @@ -300,7 +300,7 @@ spec: parameters: - name: phase container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: @@ -333,7 +333,7 @@ spec: # Final report - name: chaos-report container: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent command: ["/bin/bash"] args: diff --git a/config/litmus/experiments/kates-chaos-integration-job.yaml b/config/litmus/experiments/kates-chaos-integration-job.yaml index 9f27f727..f84b1469 100644 --- a/config/litmus/experiments/kates-chaos-integration-job.yaml +++ b/config/litmus/experiments/kates-chaos-integration-job.yaml @@ -18,7 +18,7 @@ spec: restartPolicy: Never containers: - name: chaos-runner - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 imagePullPolicy: IfNotPresent env: - name: KATES_API_URL diff --git a/config/litmus/experiments/producer-throughput-probe.yaml b/config/litmus/experiments/producer-throughput-probe.yaml index 5da05846..9359e203 100644 --- a/config/litmus/experiments/producer-throughput-probe.yaml +++ b/config/litmus/experiments/producer-throughput-probe.yaml @@ -45,7 +45,7 @@ spec: criteria: ">=" value: "10.0" # Minimum 10 records/sec source: - image: ghcr.io/bmscomp/kates-tester:1.34.1 + image: ghcr.io/bmscomp/kates-tester:1.35.0 hostNetwork: false --- # Standalone producer throughput ConfigMap for reuse diff --git a/docs/book/14-recipes.md b/docs/book/14-recipes.md index 77de1a69..6e5783ce 100644 --- a/docs/book/14-recipes.md +++ b/docs/book/14-recipes.md @@ -710,7 +710,7 @@ jobs: kafka-gates: runs-on: ubuntu-latest env: - KATES_VERSION: v1.34.1 + KATES_VERSION: v1.35.0 KATES_NAMESPACE: team KATES_URL: http://localhost:8080 KATES_API_KEY: ${{ secrets.KATES_API_KEY }} diff --git a/docs/book/appendix-d-versions.md b/docs/book/appendix-d-versions.md index d0405943..758c9153 100644 --- a/docs/book/appendix-d-versions.md +++ b/docs/book/appendix-d-versions.md @@ -16,18 +16,18 @@ Every version the platform pins, in one place. This table is generated from the | Go (CLI) | 1.26.0 | `cli/go.mod` | | `apicurio-registry` chart | 0.5.0 (app 3.3.0) | `charts/apicurio-registry/Chart.yaml` | | `cdc-postgresql` chart | 0.3.0 (app 16.15) | `charts/cdc-postgresql/Chart.yaml` | -| `connect-cluster` chart | 2.1.22 (app 4.3.1) | `charts/connect-cluster/Chart.yaml` | +| `connect-cluster` chart | 2.1.23 (app 4.3.1) | `charts/connect-cluster/Chart.yaml` | | `headlamp` chart | 0.2.2 (app 0.40.1) | `charts/headlamp/Chart.yaml` | -| `kafka-cluster` chart | 1.0.27 (app 4.3.1) | `charts/kafka-cluster/Chart.yaml` | +| `kafka-cluster` chart | 1.0.28 (app 4.3.1) | `charts/kafka-cluster/Chart.yaml` | | `kafka-common` chart | 0.1.2 (library) | `charts/kafka-common/Chart.yaml` | | `kafka-ui` chart | 0.3.3 (app v1.5.0) | `charts/kafka-ui/Chart.yaml` | -| `kates-chaos` chart | 2.4.0 (app 3.28.0) | `charts/kates-chaos/Chart.yaml` | -| `kates-platform` chart | 0.8.18 (app 1.0.0) | `charts/kates-platform/Chart.yaml` | -| `kates` chart | 0.15.5 (app 1.34.1) | `charts/kates/Chart.yaml` | +| `kates-chaos` chart | 2.4.1 (app 3.28.0) | `charts/kates-chaos/Chart.yaml` | +| `kates-platform` chart | 0.8.19 (app 1.0.0) | `charts/kates-platform/Chart.yaml` | +| `kates` chart | 0.15.6 (app 1.35.0) | `charts/kates/Chart.yaml` | | `legacy-kafka` chart | 0.2.1 (app 3.9.1) | `charts/legacy-kafka/Chart.yaml` | -| `mirror-maker2` chart | 0.11.20 (app 4.3.1) | `charts/mirror-maker2/Chart.yaml` | +| `mirror-maker2` chart | 0.11.21 (app 4.3.1) | `charts/mirror-maker2/Chart.yaml` | | `monitoring` chart | 1.8.0 (app 82.4.3) | `charts/monitoring/Chart.yaml` | -| `strimzi-operator` chart | 0.4.13 (app 1.2.0) | `charts/strimzi-operator/Chart.yaml` | +| `strimzi-operator` chart | 0.4.14 (app 1.2.0) | `charts/strimzi-operator/Chart.yaml` | | `velero` chart | 11.3.5 (app 1.17.1) | `charts/velero/Chart.yaml` | diff --git a/docs/kafka-cluster-runbook.md b/docs/kafka-cluster-runbook.md index 463ada08..a4605db5 100644 --- a/docs/kafka-cluster-runbook.md +++ b/docs/kafka-cluster-runbook.md @@ -10,7 +10,7 @@ kubectl -n $NS get kafka $CLUSTER -o jsonpath='{range .status.conditions[*]}{.ty kubectl -n $NS get kafkanodepools,pods -l strimzi.io/cluster=$CLUSTER # A client shell with the platform's backend credentials: kubectl -n $NS run kcat --rm -it --restart=Never --labels kates.io/test-pod=true \ - --image=ghcr.io/bmscomp/kates-tester:1.34.1 -- bash + --image=ghcr.io/bmscomp/kates-tester:1.35.0 -- bash ``` Inside that shell, `/opt/kafka/bin/kafka-topics.sh --bootstrap-server $CLUSTER-kafka-bootstrap:9092 --command-config client.properties …` answers most partition questions; `kafka-metadata-quorum.sh … describe --status` answers quorum questions. diff --git a/docs/registry/kates-tester.md b/docs/registry/kates-tester.md index 3da708be..7782787a 100644 --- a/docs/registry/kates-tester.md +++ b/docs/registry/kates-tester.md @@ -98,8 +98,8 @@ Override it like any other value: ```yaml testImages: - kubectl: ghcr.io/bmscomp/kates-tester:1.34.1 - kafka: ghcr.io/bmscomp/kates-tester:1.34.1 + kubectl: ghcr.io/bmscomp/kates-tester:1.35.0 + kafka: ghcr.io/bmscomp/kates-tester:1.35.0 ``` --- @@ -155,7 +155,7 @@ docker run --rm -it -v "$HOME/.kube:/home/kates/.kube:ro" \ | Tag | Meaning | |---|---| -| `1.34.1` | Release version — what the charts pin | +| `1.35.0` | Release version — what the charts pin | | `latest` | Latest default-branch build | | `sha-` | Exact commit | diff --git a/docs/registry/kates.md b/docs/registry/kates.md index e385c0d9..d89a69ca 100644 --- a/docs/registry/kates.md +++ b/docs/registry/kates.md @@ -43,8 +43,8 @@ unhealthy on `/api/health` — which is expected, not a bug. See | Tag pattern | What it is | |---|---| -| `1.34.1`, `1.34`, `1` | JVM build — Eclipse Temurin 21 JRE | -| `1.34.1-native`, … | GraalVM native build — ahead-of-time compiled, UBI 9 minimal | +| `1.35.0`, `1.35`, `1` | JVM build — Eclipse Temurin 21 JRE | +| `1.35.0-native`, … | GraalVM native build — ahead-of-time compiled, UBI 9 minimal | | `latest` | Latest default-branch build (JVM) | | `` | Exact commit | @@ -54,7 +54,7 @@ are signed with [cosign](https://docs.sigstore.dev/). ### Which variant should you run? -| | JVM (`1.34.1`) | Native (`1.34.1-native`) | +| | JVM (`1.35.0`) | Native (`1.35.0-native`) | |---|---|---| | Start-up | Seconds | Milliseconds | | Memory floor | Higher | Substantially lower | @@ -68,7 +68,7 @@ it, so the chart's `jvm.options` are silently inert. Its heap comes from the def chart's `containerArgs`) or by passing arguments to `docker run`: ``` -docker run --rm ghcr.io/bmscomp/kates:1.34.1-native -XX:MaximumHeapSizePercent=50 +docker run --rm ghcr.io/bmscomp/kates:1.35.0-native -XX:MaximumHeapSizePercent=50 ``` Rule of thumb: **JVM for sustained benchmarking**, where JIT warm-up pays for itself over a diff --git a/kates/k8s/deployment.yaml b/kates/k8s/deployment.yaml index 443502b2..1f8eb895 100644 --- a/kates/k8s/deployment.yaml +++ b/kates/k8s/deployment.yaml @@ -32,7 +32,7 @@ spec: type: RuntimeDefault containers: - name: kates - image: ghcr.io/bmscomp/kates:1.34.1 + image: ghcr.io/bmscomp/kates:1.35.0 imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false diff --git a/server.json b/server.json index 4b64a08c..7dbd17db 100644 --- a/server.json +++ b/server.json @@ -3,7 +3,7 @@ "name": "io.github.bmscomp/kates", "title": "Kates MCP Server", "description": "Read-only Model Context Protocol (MCP) server for Apache Kafka cluster diagnostics, benchmark run analysis, chaos dry-run previews, and security posture audits.", - "version": "1.34.1", + "version": "1.35.0", "websiteUrl": "https://bmscomp.github.io/kates/", "repository": { "url": "https://github.com/bmscomp/kates", @@ -13,8 +13,8 @@ "packages": [ { "registryType": "mcpb", - "identifier": "https://github.com/bmscomp/kates/releases/download/v1.34.1/kates-linux-amd64.tar.gz", - "version": "1.34.1", + "identifier": "https://github.com/bmscomp/kates/releases/download/v1.35.0/kates-linux-amd64.tar.gz", + "version": "1.35.0", "transport": { "type": "stdio" },