From 7e49e5fb5c01cb001476b82710dcb954c038fc08 Mon Sep 17 00:00:00 2001 From: Jakub Scholz Date: Fri, 25 Oct 2024 16:22:47 +0200 Subject: [PATCH] Prepare for Strimzi 0.44.0 release Signed-off-by: Jakub Scholz --- .checksums | 6 +- api/pom.xml | 2 +- certificate-manager/pom.xml | 2 +- cluster-operator/pom.xml | 2 +- config-model-generator/pom.xml | 2 +- config-model/pom.xml | 2 +- crd-annotations/pom.xml | 2 +- crd-generator/pom.xml | 2 +- examples/README.md | 4 +- ...kafka-cruise-control-auto-rebalancing.yaml | 59 +++ .../kafka-access/kafka-access-with-user.yaml | 20 + examples/kafka-access/kafka-access.yaml | 12 + .../grafana-dashboards/strimzi-kraft.json | 95 +++- examples/metrics/kafka-metrics.yaml | 6 + .../security/keycloak-authorization/README.md | 2 +- .../helm3/strimzi-kafka-operator/README.md | 26 +- .../crds/040-Crd-kafka.yaml | 484 +++++++++++++++++- .../crds/041-Crd-kafkaconnect.yaml | 146 +++++- .../crds/045-Crd-kafkamirrormaker.yaml | 43 +- .../crds/046-Crd-kafkabridge.yaml | 85 ++- .../crds/047-Crd-kafkaconnector.yaml | 24 + .../crds/048-Crd-kafkamirrormaker2.yaml | 218 +++++++- .../crds/049-Crd-kafkarebalance.yaml | 28 +- .../crds/04A-Crd-kafkanodepool.yaml | 85 ++- .../grafana-dashboards/strimzi-kraft.json | 95 +++- ...-RoleBinding-strimzi-cluster-operator.yaml | 6 +- ...terRole-strimzi-cluster-operator-role.yaml | 7 + ...-RoleBinding-strimzi-cluster-operator.yaml | 8 +- ...r-operator-entity-operator-delegation.yaml | 8 +- ...0-Deployment-strimzi-cluster-operator.yaml | 4 + .../helm3/strimzi-kafka-operator/values.yaml | 6 +- install/access-operator/000-Namespace.yaml | 6 + .../access-operator/010-ServiceAccount.yaml | 7 + install/access-operator/020-ClusterRole.yaml | 41 ++ .../030-ClusterRoleBinding.yaml | 14 + .../access-operator/040-Crd-kafkaaccess.yaml | 86 ++++ install/access-operator/050-Deployment.yaml | 57 +++ install/canary/000-ServiceAccount.yaml | 6 - install/canary/010-Service.yaml | 14 - install/canary/020-Deployment.yaml | 48 -- install/canary/README.md | 6 - ...terRole-strimzi-cluster-operator-role.yaml | 7 + install/cluster-operator/040-Crd-kafka.yaml | 484 +++++++++++++++++- .../041-Crd-kafkaconnect.yaml | 146 +++++- .../045-Crd-kafkamirrormaker.yaml | 43 +- .../cluster-operator/046-Crd-kafkabridge.yaml | 85 ++- .../047-Crd-kafkaconnector.yaml | 24 + .../048-Crd-kafkamirrormaker2.yaml | 218 +++++++- .../049-Crd-kafkarebalance.yaml | 28 +- .../04A-Crd-kafkanodepool.yaml | 85 ++- ...0-Deployment-strimzi-cluster-operator.yaml | 40 +- .../05-Deployment-strimzi-topic-operator.yaml | 2 +- .../05-Deployment-strimzi-user-operator.yaml | 2 +- kafka-agent/pom.xml | 2 +- kafka-init/pom.xml | 2 +- mirror-maker-agent/pom.xml | 2 +- mockkube/pom.xml | 2 +- operator-common/pom.xml | 2 +- .../security/keycloak-authorization/README.md | 2 +- .../helm3/strimzi-kafka-operator/README.md | 2 +- .../helm3/strimzi-kafka-operator/values.yaml | 2 +- ...0-Deployment-strimzi-cluster-operator.yaml | 40 +- .../05-Deployment-strimzi-topic-operator.yaml | 2 +- .../05-Deployment-strimzi-user-operator.yaml | 2 +- pom.xml | 2 +- release.version | 2 +- systemtest/pom.xml | 2 +- test/pom.xml | 2 +- topic-operator/pom.xml | 2 +- tracing-agent/pom.xml | 2 +- user-operator/pom.xml | 2 +- 71 files changed, 2771 insertions(+), 243 deletions(-) create mode 100644 examples/cruise-control/kafka-cruise-control-auto-rebalancing.yaml create mode 100644 examples/kafka-access/kafka-access-with-user.yaml create mode 100644 examples/kafka-access/kafka-access.yaml create mode 100644 install/access-operator/000-Namespace.yaml create mode 100644 install/access-operator/010-ServiceAccount.yaml create mode 100644 install/access-operator/020-ClusterRole.yaml create mode 100644 install/access-operator/030-ClusterRoleBinding.yaml create mode 100644 install/access-operator/040-Crd-kafkaaccess.yaml create mode 100644 install/access-operator/050-Deployment.yaml delete mode 100644 install/canary/000-ServiceAccount.yaml delete mode 100644 install/canary/010-Service.yaml delete mode 100644 install/canary/020-Deployment.yaml delete mode 100644 install/canary/README.md diff --git a/.checksums b/.checksums index d1685012353..adf89c3a00d 100644 --- a/.checksums +++ b/.checksums @@ -6,7 +6,7 @@ # if this checksum has changed as part of any non-release specific changes, please apply your changes to the # development version of the helm charts in ./packaging/helm-charts ### IMPORTANT ### -HELM_CHART_CHECKSUM="64d42b4573b0d8bb6d1ae2748b9382da068ab751 -" +HELM_CHART_CHECKSUM="50e2ee0738ebfd558fa2e35c189b3abb5e3a5663 -" ### IMPORTANT ### # if the below line has changed, this means the ./install directory has changed @@ -14,7 +14,7 @@ HELM_CHART_CHECKSUM="64d42b4573b0d8bb6d1ae2748b9382da068ab751 -" # if this checksum has changed as part of any non-release specific changes, please apply your changes to the # development version of the helm charts in ./packaging/install ### IMPORTANT ### -INSTALL_CHECKSUM="8b62c04d5a5370e0efad1dac8bfbcc1b7b16cc47 -" +INSTALL_CHECKSUM="4e3bc4774c0d1803e895d42e22d792364b2f14c5 -" ### IMPORTANT ### # if the below line has changed, this means the ./examples directory has changed @@ -22,4 +22,4 @@ INSTALL_CHECKSUM="8b62c04d5a5370e0efad1dac8bfbcc1b7b16cc47 -" # if this checksum has changed as part of any non-release specific changes, please apply your changes to the # development version of the helm charts in ./packaging/examples ### IMPORTANT ### -EXAMPLES_CHECKSUM="a1d55c2ca5a4b8cd5df18e7c8cecd6afcf093de1 -" +EXAMPLES_CHECKSUM="2bbd52b17af9b7ef63731b4a0a81165b182d77e6 -" diff --git a/api/pom.xml b/api/pom.xml index 40971a51732..15a824c62fd 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -4,7 +4,7 @@ io.strimzi strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 api diff --git a/certificate-manager/pom.xml b/certificate-manager/pom.xml index 031cdea645d..7078e09e36b 100644 --- a/certificate-manager/pom.xml +++ b/certificate-manager/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 certificate-manager diff --git a/cluster-operator/pom.xml b/cluster-operator/pom.xml index 5c2188fd154..f982e5ae89f 100644 --- a/cluster-operator/pom.xml +++ b/cluster-operator/pom.xml @@ -4,7 +4,7 @@ io.strimzi strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 cluster-operator diff --git a/config-model-generator/pom.xml b/config-model-generator/pom.xml index 4e72ae407b2..413ef2e9473 100644 --- a/config-model-generator/pom.xml +++ b/config-model-generator/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/config-model/pom.xml b/config-model/pom.xml index 7e49f8097cc..65c303eb426 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/crd-annotations/pom.xml b/crd-annotations/pom.xml index e501f5d049c..9ba5dd4b695 100644 --- a/crd-annotations/pom.xml +++ b/crd-annotations/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/crd-generator/pom.xml b/crd-generator/pom.xml index d04f1f68a62..ab5fffc18d1 100644 --- a/crd-generator/pom.xml +++ b/crd-generator/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 crd-generator diff --git a/examples/README.md b/examples/README.md index 260d594124a..f4b3445ada8 100644 --- a/examples/README.md +++ b/examples/README.md @@ -18,4 +18,6 @@ This folder contains different examples of Strimzi custom resources and demonstr * Sample Grafana installation files * JMX Trans deployment * [Security](./security) - * Deployments of Kafka, Kafka Connect and HTTP Bridge using TLS encryption, authentication and authorization \ No newline at end of file + * Deployments of Kafka, Kafka Connect and HTTP Bridge using TLS encryption, authentication and authorization +* [Kafka Access examples](./kafka-access) + * Examples of the `KafkaAccess` resources for the Strimzi Access Operator \ No newline at end of file diff --git a/examples/cruise-control/kafka-cruise-control-auto-rebalancing.yaml b/examples/cruise-control/kafka-cruise-control-auto-rebalancing.yaml new file mode 100644 index 00000000000..712cdda8328 --- /dev/null +++ b/examples/cruise-control/kafka-cruise-control-auto-rebalancing.yaml @@ -0,0 +1,59 @@ +apiVersion: kafka.strimzi.io/v1beta2 +kind: Kafka +metadata: + name: my-cluster +spec: + kafka: + version: 3.8.0 + replicas: 3 + listeners: + - name: plain + port: 9092 + type: internal + tls: false + - name: tls + port: 9093 + type: internal + tls: true + config: + offsets.topic.replication.factor: 3 + transaction.state.log.replication.factor: 3 + transaction.state.log.min.isr: 2 + default.replication.factor: 3 + min.insync.replicas: 2 + inter.broker.protocol.version: "3.8" + storage: + type: ephemeral + zookeeper: + replicas: 3 + storage: + type: ephemeral + entityOperator: + topicOperator: {} + userOperator: {} + cruiseControl: + autoRebalance: + - mode: add-brokers + template: + name: my-add-brokers-rebalancing-template + - mode: remove-brokers + template: + name: my-remove-brokers-rebalancing-template +--- +apiVersion: kafka.strimzi.io/v1beta2 +kind: KafkaRebalance +metadata: + name: my-add-brokers-rebalancing-template + annotations: + strimzi.io/rebalance-template: "true" +# no goals specified, using the default goals from the Cruise Control configuration +spec: {} +--- +apiVersion: kafka.strimzi.io/v1beta2 +kind: KafkaRebalance +metadata: + name: my-remove-brokers-rebalancing-template + annotations: + strimzi.io/rebalance-template: "true" +# no goals specified, using the default goals from the Cruise Control configuration +spec: {} diff --git a/examples/kafka-access/kafka-access-with-user.yaml b/examples/kafka-access/kafka-access-with-user.yaml new file mode 100644 index 00000000000..16eb148c5ed --- /dev/null +++ b/examples/kafka-access/kafka-access-with-user.yaml @@ -0,0 +1,20 @@ +# The operator will look up the Kafka instance specified and +# create a secret with the details to connect to the listener specified. +# It will also look up the KafkaUser specified and check it has the correct +# authentication mechanism to connect to the listener. If so it will add the +# user credentials to the secret it creates. +# If no listener is specified it will choose one based on the user authentication. +apiVersion: access.strimzi.io/v1alpha1 +kind: KafkaAccess +metadata: + name: my-kafka-access +spec: + kafka: + name: my-cluster + namespace: kafka + listener: tls + user: + kind: KafkaUser + apiGroup: kafka.strimzi.io + name: my-user + namespace: kafka diff --git a/examples/kafka-access/kafka-access.yaml b/examples/kafka-access/kafka-access.yaml new file mode 100644 index 00000000000..fd079349e1e --- /dev/null +++ b/examples/kafka-access/kafka-access.yaml @@ -0,0 +1,12 @@ +# The operator will look up the Kafka instance specified and +# create a secret with the details to connect to the listener specified. +# If no listener is specified it will choose one, preferring an internal listener. +apiVersion: access.strimzi.io/v1alpha1 +kind: KafkaAccess +metadata: + name: my-kafka-access +spec: + kafka: + name: my-cluster + namespace: kafka + listener: plain diff --git a/examples/metrics/grafana-dashboards/strimzi-kraft.json b/examples/metrics/grafana-dashboards/strimzi-kraft.json index e41874945f5..96055f96e4c 100644 --- a/examples/metrics/grafana-dashboards/strimzi-kraft.json +++ b/examples/metrics/grafana-dashboards/strimzi-kraft.json @@ -1073,6 +1073,89 @@ "title": "Metadata Records Commit Latency", "type": "timeseries" }, + { + "datasource": "${DS_PROMETHEUS}", + "description": "The role of the node in KRaft", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 23 + }, + "id": 122, + "options": { + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "Pod Name" + } + ] + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "max(kafka_server_raftmetrics_current_state) by (kubernetes_pod_name, current_state)", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Current Raft State", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "Value": true + }, + "indexByName": { + "Time": 0, + "Value": 3, + "current_state": 2, + "kubernetes_pod_name": 1 + }, + "renameByName": { + "current_state": "Current State", + "kubernetes_pod_name": "Pod Name" + } + } + } + ], + "type": "table" + }, { "datasource": "${DS_PROMETHEUS}", "description": "The current quorum leader's id; -1 indicates unknown", @@ -1134,8 +1217,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 0, + "w": 6, + "x": 6, "y": 23 }, "id": 104, @@ -1228,8 +1311,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 8, + "w": 6, + "x": 12, "y": 23 }, "id": 105, @@ -1322,8 +1405,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 16, + "w": 6, + "x": 18, "y": 23 }, "id": 113, diff --git a/examples/metrics/kafka-metrics.yaml b/examples/metrics/kafka-metrics.yaml index 7a131484446..50d6401ae15 100644 --- a/examples/metrics/kafka-metrics.yaml +++ b/examples/metrics/kafka-metrics.yaml @@ -202,6 +202,12 @@ data: - pattern: "kafka.server<>(.+-total|.+-max):" name: kafka_server_raftmetrics_$1 type: COUNTER + - pattern: "kafka.server<>(current-state): (.+)" + name: kafka_server_raftmetrics_$1 + value: 1 + type: UNTYPED + labels: + $1: "$2" - pattern: "kafka.server<>(.+):" name: kafka_server_raftmetrics_$1 type: GAUGE diff --git a/examples/security/keycloak-authorization/README.md b/examples/security/keycloak-authorization/README.md index e39538b0329..1dd3886e0cb 100644 --- a/examples/security/keycloak-authorization/README.md +++ b/examples/security/keycloak-authorization/README.md @@ -13,7 +13,7 @@ Full instructions for the example are available in the [Strimzi Documentation](h - The Keycloak realm export file - [kafka-ephemeral-oauth-single-keycloak-authz.yaml](./kafka-ephemeral-oauth-single-keycloak-authz.yaml) - The Kafka CR that defines a single-node Kafka cluster with `oauth` authentication and `keycloak` authorization, - using the `kafka-authz` realm. See [full example instructions](https://strimzi.io/docs/operators/0.43.0/configuring.html#proc-oauth-authorization-keycloak-example_str) for proper preparation and deployment. + using the `kafka-authz` realm. See [full example instructions](https://strimzi.io/docs/operators/0.44.0/configuring.html#proc-oauth-authorization-keycloak-example_str) for proper preparation and deployment. - [kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml](./kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml) - The Kafka CR that defines a single-node Kafka cluster with `oauth` authentication and `keycloak` authorization, with included configuration for exporting the OAuth metrics using Prometheus JMX exporter. diff --git a/helm-charts/helm3/strimzi-kafka-operator/README.md b/helm-charts/helm3/strimzi-kafka-operator/README.md index a725ddea31b..ad2bee5a96a 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/README.md +++ b/helm-charts/helm3/strimzi-kafka-operator/README.md @@ -5,12 +5,18 @@ Strimzi provides a way to run an [Apache Kafka®](https://kafka.apache.org) clus See our [website](https://strimzi.io) for more details about the project. **!!! IMPORTANT !!!** -Upgrading to Strimzi 0.32 and newer directly from Strimzi 0.22 and earlier is no longer possible. -Please follow the [documentation](https://strimzi.io/docs/operators/latest/full/deploying.html#assembly-upgrade-str) for more details. -**!!! IMPORTANT !!!** -Strimzi 0.43.0 (and any of its patch releases) is the last Strimzi version with support for Kubernetes 1.23 and 1.24. -From Strimzi 0.44.0 on, Strimzi will support only Kubernetes 1.25 and newer. +* From Strimzi 0.44.0 on, we support only Kubernetes 1.25 and newer. + Kubernetes 1.23 and 1.24 are not supported anymore. +* ZooKeeper support will be soon removed from Apache Kafka and Strimzi. + Currently, the last Strimzi version with ZooKeeper support is expected to be Strimzi 0.45. + Please plan your migration to KRaft (ZooKeeper-less Apache Kafka) accordingly. + Follow the [documentation](https://strimzi.io/docs/operators/latest/full/deploying.html#assembly-kraft-mode-str) for more details. +* Kafka Mirror Maker 1 support will be soon removed from Apache Kafka and Strimzi. + Currently, the last Strimzi version with Mirror Maker 1 support is expected to be Strimzi 0.45. + Please plan your migration to Mirror Maker 2 or another mirroring tool. +* Upgrading to Strimzi 0.32 and newer directly from Strimzi 0.22 and earlier is no longer possible. + Please follow the [documentation](https://strimzi.io/docs/operators/latest/full/deploying.html#assembly-upgrade-str) for more details. ## Introduction @@ -21,14 +27,16 @@ cluster using the [Helm](https://helm.sh) package manager. ### Supported Features * **Manages the Kafka Cluster** - Deploys and manages all of the components of this complex application, including dependencies like Apache ZooKeeper® that are traditionally hard to administer. -* **KRaft support** - Allows running Apache Kafka clusters in the KRaft mode (without ZooKeeper). +* **KRaft support** - Allows running Apache Kafka clusters in the KRaft mode (without ZooKeeper). * **Includes Kafka Connect** - Allows for configuration of common data sources and sinks to move data into and out of the Kafka cluster. * **Topic Management** - Creates and manages Kafka Topics within the cluster. * **User Management** - Creates and manages Kafka Users within the cluster. * **Connector Management** - Creates and manages Kafka Connect connectors. -* **Includes Kafka Mirror Maker 1 and 2** - Allows for mirroring data between different Apache Kafka® clusters. +* **Includes Kafka MirrorMaker** - Allows for mirroring data between different Apache Kafka® clusters. * **Includes HTTP Kafka Bridge** - Allows clients to send and receive messages through an Apache Kafka® cluster via the HTTP protocol. * **Includes Cruise Control** - Automates the process of balancing partitions across an Apache Kafka® cluster. +* **Auto-rebalancing when scaling** - Automatically rebalance the Kafka cluster after a scale-up or before a scale-down. +* **Tiered storage** - Offloads older, less critical data to a lower-cost, lower-performance storage tier, such as object storage. * **Prometheus monitoring** - Built-in support for monitoring using Prometheus. * **Grafana Dashboards** - Built-in support for loading Grafana® dashboards via the grafana_sidecar @@ -60,7 +68,7 @@ Strimzi is licensed under the [Apache License, Version 2.0](https://github.com/s ## Prerequisites -- Kubernetes 1.23+ +- Kubernetes 1.25+ ## Installing the Chart @@ -97,7 +105,7 @@ the documentation for more details. | `watchAnyNamespace` | Watch the whole Kubernetes cluster (all namespaces) | `false` | | `defaultImageRegistry` | Default image registry for all the images | `quay.io` | | `defaultImageRepository` | Default image registry for all the images | `strimzi` | -| `defaultImageTag` | Default image tag for all the images except Kafka Bridge | `0.43.0` | +| `defaultImageTag` | Default image tag for all the images except Kafka Bridge | `0.44.0` | | `image.registry` | Override default Cluster Operator image registry | `nil` | | `image.repository` | Override default Cluster Operator image repository | `nil` | | `image.name` | Cluster Operator image name | `cluster-operator` | diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/040-Crd-kafka.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/040-Crd-kafka.yaml index 166ebe3dbea..e9a49174007 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/040-Crd-kafka.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/040-Crd-kafka.yaml @@ -480,6 +480,12 @@ spec: publishNotReadyAddresses: type: boolean description: Configures whether the service endpoints are considered "ready" even if the Pods themselves are not. Defaults to `false`. This field can not be used with `internal` listeners. + hostTemplate: + type: string + description: "Configures the template for generating the hostnames of the individual brokers. Valid placeholders that you can use in the template are `{nodeId}` and `{nodePodName}`." + advertisedHostTemplate: + type: string + description: "Configures the template for generating the advertised hostnames of the individual brokers. Valid placeholders that you can use in the template are `{nodeId}` and `{nodePodName}`." description: Additional listener configuration. networkPolicyPeers: type: array @@ -1567,7 +1573,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka `Pods`. bootstrapService: @@ -1798,6 +1803,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1899,6 +1946,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -3018,7 +3107,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for ZooKeeper `Pods`. clientService: @@ -3141,6 +3229,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -4325,7 +4455,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Entity Operator `Pods`. topicOperatorContainer: @@ -4342,6 +4471,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -4443,6 +4614,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -4544,6 +4757,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -5599,7 +5854,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Cruise Control `Pods`. apiService: @@ -5671,6 +5925,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -5772,6 +6068,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -5984,6 +6322,27 @@ spec: - type - valueFrom description: Configuration of the Cruise Control REST API users. + autoRebalance: + type: array + minItems: 1 + items: + type: object + properties: + mode: + type: string + enum: + - add-brokers + - remove-brokers + description: "Specifies the mode for automatically rebalancing when brokers are added or removed. Supported modes are `add-brokers` and `remove-brokers`. \n" + template: + type: object + properties: + name: + type: string + description: Reference to the KafkaRebalance custom resource to be used as the configuration template for the auto-rebalancing on scaling when running for the corresponding mode. + required: + - mode + description: "Auto-rebalancing on scaling related configuration listing the modes, when brokers are added or removed, with the corresponding rebalance template configurations.If this field is set, at least one mode has to be defined." description: Configuration for Cruise Control deployment. Deploys a Cruise Control instance when specified. jmxTrans: type: object @@ -6681,7 +7040,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for JmxTrans `Pods`. container: @@ -6698,6 +7056,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -7518,7 +7918,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Exporter `Pods`. service: @@ -7553,6 +7952,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -7763,4 +8204,35 @@ spec: - PreKRaft - KRaft description: "Defines where cluster metadata are stored. Possible values are: ZooKeeper if the metadata are stored in ZooKeeper; KRaftMigration if the controllers are connected to ZooKeeper, brokers are being rolled with Zookeeper migration enabled and connection information to controllers, and the metadata migration process is running; KRaftDualWriting if the metadata migration process finished and the cluster is in dual-write mode; KRaftPostMigration if the brokers are fully KRaft-based but controllers being rolled to disconnect from ZooKeeper; PreKRaft if brokers and controller are fully KRaft-based, metadata are stored in KRaft, but ZooKeeper must be deleted; KRaft if the metadata are stored in KRaft." + autoRebalance: + type: object + properties: + state: + type: string + enum: + - Idle + - RebalanceOnScaleDown + - RebalanceOnScaleUp + description: "The current state of an auto-rebalancing operation. Possible values are: \n\n* `Idle` as the initial state when an auto-rebalancing is requested or as final state when it completes or fails.\n* `RebalanceOnScaleDown` if an auto-rebalance related to a scale-down operation is running.\n* `RebalanceOnScaleUp` if an auto-rebalance related to a scale-up operation is running." + lastTransitionTime: + type: string + description: The timestamp of the latest auto-rebalancing state update. + modes: + type: array + items: + type: object + properties: + mode: + type: string + enum: + - add-brokers + - remove-brokers + description: "Mode for which there is an auto-rebalancing operation in progress or queued, when brokers are added or removed. The possible modes are `add-brokers` and `remove-brokers`." + brokers: + type: array + items: + type: integer + description: "List of broker IDs involved in an auto-rebalancing operation related to the current mode. \nThe list contains one of the following: \n\n* Broker IDs for a current auto-rebalance. \n* Broker IDs for a queued auto-rebalance (if a previous auto-rebalance is still in progress). \n" + description: "List of modes where an auto-rebalancing operation is either running or queued. \nEach mode entry (`add-brokers` or `remove-brokers`) includes one of the following: \n\n* Broker IDs for a current auto-rebalance. \n* Broker IDs for a queued auto-rebalance (if a previous rebalance is still in progress)." + description: The status of an auto-rebalancing triggered by a cluster scaling request. description: "The status of the Kafka and ZooKeeper clusters, and Topic Operator." diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml index 560ac7e8301..613304dba94 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/041-Crd-kafkaconnect.yaml @@ -1109,7 +1109,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect `Pods`. apiService: @@ -1192,6 +1191,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1293,6 +1334,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2019,7 +2102,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect Build `Pods`. The build pod is used only on Kubernetes. buildContainer: @@ -2036,6 +2118,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2215,6 +2339,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef description: Value of the environment variable which will be passed to the Kafka Connect pods. It can be passed either as a reference to Secret or ConfigMap field. The field has to specify exactly one Secret or ConfigMap. required: - name @@ -2270,6 +2403,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. Exactly one Secret or ConfigMap has to be specified. + oneOf: + - properties: + secret: {} + required: + - secret + - properties: + configMap: {} + required: + - configMap required: - name description: Makes data from a Secret or ConfigMap available in the Kafka Connect pods as volumes. diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml index 7d988b36cc5..9280c182424 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/045-Crd-kafkamirrormaker.yaml @@ -1274,7 +1274,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka MirrorMaker `Pods`. podDisruptionBudget: @@ -1313,6 +1312,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml index 5109f40a9b5..5906edc893d 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/046-Crd-kafkabridge.yaml @@ -1098,7 +1098,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Bridge `Pods`. apiService: @@ -1170,6 +1169,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1307,6 +1348,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/047-Crd-kafkaconnector.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/047-Crd-kafkaconnector.yaml index 0a682070e89..25a8b74a966 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/047-Crd-kafkaconnector.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/047-Crd-kafkaconnector.yaml @@ -92,6 +92,30 @@ spec: - stopped - running description: The state the connector should be in. Defaults to running. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka Connector. status: type: object diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml index 18f2a1b66fd..1b602e9a1e9 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/048-Crd-kafkamirrormaker2.yaml @@ -337,6 +337,30 @@ spec: type: integer description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts." description: Automatic restart of connector and tasks configuration. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka MirrorMaker 2 source connector. heartbeatConnector: type: object @@ -369,6 +393,30 @@ spec: type: integer description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts." description: Automatic restart of connector and tasks configuration. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka MirrorMaker 2 heartbeat connector. checkpointConnector: type: object @@ -401,6 +449,30 @@ spec: type: integer description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts." description: Automatic restart of connector and tasks configuration. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka MirrorMaker 2 checkpoint connector. topicsPattern: type: string @@ -1254,7 +1326,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect `Pods`. apiService: @@ -1337,6 +1408,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1438,6 +1551,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2164,7 +2319,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect Build `Pods`. The build pod is used only on Kubernetes. buildContainer: @@ -2181,6 +2335,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2360,6 +2556,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef description: Value of the environment variable which will be passed to the Kafka Connect pods. It can be passed either as a reference to Secret or ConfigMap field. The field has to specify exactly one Secret or ConfigMap. required: - name @@ -2415,6 +2620,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. Exactly one Secret or ConfigMap has to be specified. + oneOf: + - properties: + secret: {} + required: + - secret + - properties: + configMap: {} + required: + - configMap required: - name description: Makes data from a Secret or ConfigMap available in the Kafka Connect pods as volumes. diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/049-Crd-kafkarebalance.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/049-Crd-kafkarebalance.yaml index aefb1c360b5..c3313e4a2ac 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/049-Crd-kafkarebalance.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/049-Crd-kafkarebalance.yaml @@ -31,29 +31,13 @@ spec: description: The name of the Kafka cluster this resource rebalances jsonPath: .metadata.labels.strimzi\.io/cluster type: string - - name: PendingProposal - description: A proposal has been requested from Cruise Control - jsonPath: ".status.conditions[?(@.type==\"PendingProposal\")].status" + - name: Template + description: If this rebalance resource is a template + jsonPath: .metadata.annotations.strimzi\.io/rebalance-template type: string - - name: ProposalReady - description: A proposal is ready and waiting for approval - jsonPath: ".status.conditions[?(@.type==\"ProposalReady\")].status" - type: string - - name: Rebalancing - description: Cruise Control is doing the rebalance - jsonPath: ".status.conditions[?(@.type==\"Rebalancing\")].status" - type: string - - name: Ready - description: The rebalance is complete - jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" - type: string - - name: NotReady - description: There is an error on the custom resource - jsonPath: ".status.conditions[?(@.type==\"NotReady\")].status" - type: string - - name: Stopped - description: Processing the proposal or running rebalancing was stopped - jsonPath: ".status.conditions[?(@.type==\"Stopped\")].status" + - name: Status + description: Status of the current rebalancing operation + jsonPath: ".status.conditions[*].type" type: string schema: openAPIV3Schema: diff --git a/helm-charts/helm3/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml b/helm-charts/helm3/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml index 66f66fc5f1f..36187ec4334 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/crds/04A-Crd-kafkanodepool.yaml @@ -835,7 +835,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka `Pods`. perPodService: @@ -924,6 +923,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1025,6 +1066,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object diff --git a/helm-charts/helm3/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kraft.json b/helm-charts/helm3/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kraft.json index e41874945f5..96055f96e4c 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kraft.json +++ b/helm-charts/helm3/strimzi-kafka-operator/files/grafana-dashboards/strimzi-kraft.json @@ -1073,6 +1073,89 @@ "title": "Metadata Records Commit Latency", "type": "timeseries" }, + { + "datasource": "${DS_PROMETHEUS}", + "description": "The role of the node in KRaft", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 23 + }, + "id": 122, + "options": { + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "Pod Name" + } + ] + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "max(kafka_server_raftmetrics_current_state) by (kubernetes_pod_name, current_state)", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Current Raft State", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "Value": true + }, + "indexByName": { + "Time": 0, + "Value": 3, + "current_state": 2, + "kubernetes_pod_name": 1 + }, + "renameByName": { + "current_state": "Current State", + "kubernetes_pod_name": "Pod Name" + } + } + } + ], + "type": "table" + }, { "datasource": "${DS_PROMETHEUS}", "description": "The current quorum leader's id; -1 indicates unknown", @@ -1134,8 +1217,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 0, + "w": 6, + "x": 6, "y": 23 }, "id": 104, @@ -1228,8 +1311,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 8, + "w": 6, + "x": 12, "y": 23 }, "id": 105, @@ -1322,8 +1405,8 @@ }, "gridPos": { "h": 8, - "w": 8, - "x": 16, + "w": 6, + "x": 18, "y": 23 }, "id": 113, diff --git a/helm-charts/helm3/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml b/helm-charts/helm3/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml index 630ba6d739b..dae5166d683 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml @@ -1,6 +1,10 @@ {{- if .Values.rbac.create -}} {{- $root := . -}} -{{- range append .Values.watchNamespaces .Release.Namespace }} +{{- $watchNamespaces := .Values.watchNamespaces -}} +{{- if $root.Values.watchAnyNamespace }} + {{- $watchNamespaces = list -}} +{{- end }} +{{- range append $watchNamespaces .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 {{- if $root.Values.watchAnyNamespace }} diff --git a/helm-charts/helm3/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml b/helm-charts/helm3/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml index 55394c640a5..0f70ff1312f 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/templates/023-ClusterRole-strimzi-cluster-operator-role.yaml @@ -79,4 +79,11 @@ rules: - get - patch - update +- apiGroups: + - "kafka.strimzi.io" + resources: + # The Cluster Operator needs deletion for KafkaRebalance only (during auto-rebalancing) + - kafkarebalances + verbs: + - delete {{- end -}} diff --git a/helm-charts/helm3/strimzi-kafka-operator/templates/023-RoleBinding-strimzi-cluster-operator.yaml b/helm-charts/helm3/strimzi-kafka-operator/templates/023-RoleBinding-strimzi-cluster-operator.yaml index 2eacd13d094..57cac997f9d 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/templates/023-RoleBinding-strimzi-cluster-operator.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/templates/023-RoleBinding-strimzi-cluster-operator.yaml @@ -1,6 +1,10 @@ -{{- if .Values.rbac.create }} +{{- if .Values.rbac.create -}} {{- $root := . -}} -{{- range append .Values.watchNamespaces .Release.Namespace }} +{{- $watchNamespaces := .Values.watchNamespaces -}} +{{- if $root.Values.watchAnyNamespace }} + {{- $watchNamespaces = list -}} +{{- end }} +{{- range append $watchNamespaces .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 {{- if $root.Values.watchAnyNamespace }} diff --git a/helm-charts/helm3/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml b/helm-charts/helm3/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml index 1d5e31510ee..f222a4b0a09 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml @@ -1,6 +1,10 @@ -{{- if .Values.rbac.create }} +{{- if .Values.rbac.create -}} {{- $root := . -}} -{{- range append .Values.watchNamespaces .Release.Namespace }} +{{- $watchNamespaces := .Values.watchNamespaces -}} +{{- if $root.Values.watchAnyNamespace }} + {{- $watchNamespaces = list -}} +{{- end }} +{{- range append $watchNamespaces .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 {{- if $root.Values.watchAnyNamespace }} diff --git a/helm-charts/helm3/strimzi-kafka-operator/templates/060-Deployment-strimzi-cluster-operator.yaml b/helm-charts/helm3/strimzi-kafka-operator/templates/060-Deployment-strimzi-cluster-operator.yaml index 67564c1b783..16e4f0f225b 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/templates/060-Deployment-strimzi-cluster-operator.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/templates/060-Deployment-strimzi-cluster-operator.yaml @@ -140,6 +140,10 @@ spec: - name: STRIMZI_CONNECT_BUILD_TIMEOUT_MS value: {{ .Values.connectBuildTimeoutMs | quote }} {{- end }} + {{- if ne .Values.generatePodDisruptionBudget true}} + - name: STRIMZI_POD_DISRUPTION_BUDGET_GENERATION + value: {{ .Values.generatePodDisruptionBudget | quote }} + {{- end }} {{- if .Values.extraEnvs }} {{ toYaml .Values.extraEnvs | indent 12 }} {{- end }} diff --git a/helm-charts/helm3/strimzi-kafka-operator/values.yaml b/helm-charts/helm3/strimzi-kafka-operator/values.yaml index a177e5d92f7..ce1d8d3a7a3 100644 --- a/helm-charts/helm3/strimzi-kafka-operator/values.yaml +++ b/helm-charts/helm3/strimzi-kafka-operator/values.yaml @@ -10,7 +10,7 @@ watchAnyNamespace: false defaultImageRegistry: quay.io defaultImageRepository: strimzi -defaultImageTag: 0.43.0 +defaultImageTag: 0.44.0 image: registry: "" @@ -180,4 +180,6 @@ labelsExclusionPattern: "" # Controls whether Strimzi generates network policy resources (By default true) generateNetworkPolicy: true # Override the value for Connect build timeout -connectBuildTimeoutMs: 300000 \ No newline at end of file +connectBuildTimeoutMs: 300000 +# Controls whether Strimzi generates pod disruption budget resources (By default true) +generatePodDisruptionBudget: true \ No newline at end of file diff --git a/install/access-operator/000-Namespace.yaml b/install/access-operator/000-Namespace.yaml new file mode 100644 index 00000000000..7d930b85392 --- /dev/null +++ b/install/access-operator/000-Namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: strimzi-access-operator + labels: + app: strimzi-access-operator diff --git a/install/access-operator/010-ServiceAccount.yaml b/install/access-operator/010-ServiceAccount.yaml new file mode 100644 index 00000000000..90fcd85693a --- /dev/null +++ b/install/access-operator/010-ServiceAccount.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: strimzi-access-operator + labels: + app: strimzi-access-operator + namespace: strimzi-access-operator diff --git a/install/access-operator/020-ClusterRole.yaml b/install/access-operator/020-ClusterRole.yaml new file mode 100644 index 00000000000..48f097c4d06 --- /dev/null +++ b/install/access-operator/020-ClusterRole.yaml @@ -0,0 +1,41 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: strimzi-access-operator + labels: + app: strimzi-access-operator +rules: + - apiGroups: + - "access.strimzi.io" + resources: + - kafkaaccesses + - kafkaaccesses/status + verbs: + - get + - list + - watch + - create + - delete + - patch + - update + - apiGroups: + - "kafka.strimzi.io" + resources: + - kafkas + - kafkausers + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - watch + - create + - delete + - patch + - update diff --git a/install/access-operator/030-ClusterRoleBinding.yaml b/install/access-operator/030-ClusterRoleBinding.yaml new file mode 100644 index 00000000000..353e62b31d6 --- /dev/null +++ b/install/access-operator/030-ClusterRoleBinding.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: strimzi-access-operator + labels: + app: strimzi-access-operator +subjects: + - kind: ServiceAccount + name: strimzi-access-operator + namespace: strimzi-access-operator +roleRef: + kind: ClusterRole + name: strimzi-access-operator + apiGroup: rbac.authorization.k8s.io diff --git a/install/access-operator/040-Crd-kafkaaccess.yaml b/install/access-operator/040-Crd-kafkaaccess.yaml new file mode 100644 index 00000000000..57f83d9e7fb --- /dev/null +++ b/install/access-operator/040-Crd-kafkaaccess.yaml @@ -0,0 +1,86 @@ +# Generated by Fabric8 CRDGenerator, manual edits might get overwritten! +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: kafkaaccesses.access.strimzi.io + labels: + servicebinding.io/provisioned-service: "true" +spec: + group: access.strimzi.io + names: + kind: KafkaAccess + plural: kafkaaccesses + shortNames: + - ka + singular: kafkaaccess + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + kafka: + properties: + listener: + type: string + name: + type: string + namespace: + type: string + required: + - name + type: object + user: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - apiGroup + - kind + - name + type: object + required: + - kafka + type: object + status: + properties: + binding: + properties: + name: + type: string + type: object + conditions: + items: + properties: + additionalProperties: + additionalProperties: + type: object + type: object + lastTransitionTime: + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + observedGeneration: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/install/access-operator/050-Deployment.yaml b/install/access-operator/050-Deployment.yaml new file mode 100644 index 00000000000..97ac1417cee --- /dev/null +++ b/install/access-operator/050-Deployment.yaml @@ -0,0 +1,57 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: strimzi-access-operator + labels: + app: strimzi-access-operator + namespace: strimzi-access-operator +spec: + replicas: 1 + selector: + matchLabels: + app: strimzi-access-operator + strimzi.io/kind: access-operator + template: + metadata: + labels: + app: strimzi-access-operator + strimzi.io/kind: access-operator + spec: + serviceAccountName: strimzi-access-operator + volumes: + - name: strimzi-tmp + emptyDir: + medium: Memory + sizeLimit: 1Mi + containers: + - name: access-operator + image: quay.io/strimzi/access-operator:0.1.0 + ports: + - containerPort: 8080 + name: http + args: + - /opt/strimzi/bin/access_operator_run.sh + volumeMounts: + - name: strimzi-tmp + mountPath: /tmp + resources: + limits: + memory: 256Mi + cpu: 500m + requests: + memory: 256Mi + cpu: 100m + livenessProbe: + httpGet: + path: /healthy + port: http + initialDelaySeconds: 10 + periodSeconds: 30 + readinessProbe: + httpGet: + path: /ready + port: http + initialDelaySeconds: 10 + periodSeconds: 30 + strategy: + type: Recreate diff --git a/install/canary/000-ServiceAccount.yaml b/install/canary/000-ServiceAccount.yaml deleted file mode 100644 index 06215e67fdd..00000000000 --- a/install/canary/000-ServiceAccount.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: strimzi-canary - labels: - app: strimzi-canary \ No newline at end of file diff --git a/install/canary/010-Service.yaml b/install/canary/010-Service.yaml deleted file mode 100644 index bab8a2b026a..00000000000 --- a/install/canary/010-Service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: strimzi-canary - labels: - app: strimzi-canary -spec: - ports: - - port: 8080 - name: http - protocol: TCP - targetPort: 8080 - selector: - app: strimzi-canary \ No newline at end of file diff --git a/install/canary/020-Deployment.yaml b/install/canary/020-Deployment.yaml deleted file mode 100644 index d2ff283b9cf..00000000000 --- a/install/canary/020-Deployment.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: strimzi-canary - labels: - app: strimzi-canary -spec: - replicas: 1 - selector: - matchLabels: - app: strimzi-canary - template: - metadata: - labels: - app: strimzi-canary - spec: - serviceAccountName: strimzi-canary - containers: - - name: strimzi-canary - image: quay.io/strimzi/canary:0.6.0 - env: - - name: KAFKA_BOOTSTRAP_SERVERS - value: my-cluster-kafka-bootstrap:9092 - - name: RECONCILE_INTERVAL_MS - value: "10000" - - name: TLS_ENABLED - value: "false" - livenessProbe: - httpGet: - path: /liveness - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 30 - readinessProbe: - httpGet: - path: /readiness - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 30 - resources: - limits: - memory: "64Mi" - cpu: "100m" - requests: - memory: "64Mi" - cpu: "100m" - strategy: - type: Recreate \ No newline at end of file diff --git a/install/canary/README.md b/install/canary/README.md deleted file mode 100644 index 087f40992ee..00000000000 --- a/install/canary/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Strimzi Canary - -Strimzi canary is a tool which acts as an indicator of whether Kafka clusters are operating correctly. -This is achieved by creating a canary topic and periodically producing and consuming events on the topic and getting metrics out of these exchanges. - -For more information and installation guide, see [https://github.com/strimzi/strimzi-canary](https://github.com/strimzi/strimzi-canary). \ No newline at end of file diff --git a/install/cluster-operator/023-ClusterRole-strimzi-cluster-operator-role.yaml b/install/cluster-operator/023-ClusterRole-strimzi-cluster-operator-role.yaml index d556a6b5b27..1e6c8774663 100644 --- a/install/cluster-operator/023-ClusterRole-strimzi-cluster-operator-role.yaml +++ b/install/cluster-operator/023-ClusterRole-strimzi-cluster-operator-role.yaml @@ -74,3 +74,10 @@ rules: - get - patch - update + - apiGroups: + - "kafka.strimzi.io" + resources: + # The Cluster Operator needs deletion for KafkaRebalance only (during auto-rebalancing) + - kafkarebalances + verbs: + - delete diff --git a/install/cluster-operator/040-Crd-kafka.yaml b/install/cluster-operator/040-Crd-kafka.yaml index d602909936c..3d999f58e75 100644 --- a/install/cluster-operator/040-Crd-kafka.yaml +++ b/install/cluster-operator/040-Crd-kafka.yaml @@ -479,6 +479,12 @@ spec: publishNotReadyAddresses: type: boolean description: Configures whether the service endpoints are considered "ready" even if the Pods themselves are not. Defaults to `false`. This field can not be used with `internal` listeners. + hostTemplate: + type: string + description: "Configures the template for generating the hostnames of the individual brokers. Valid placeholders that you can use in the template are `{nodeId}` and `{nodePodName}`." + advertisedHostTemplate: + type: string + description: "Configures the template for generating the advertised hostnames of the individual brokers. Valid placeholders that you can use in the template are `{nodeId}` and `{nodePodName}`." description: Additional listener configuration. networkPolicyPeers: type: array @@ -1566,7 +1572,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka `Pods`. bootstrapService: @@ -1797,6 +1802,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1898,6 +1945,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -3017,7 +3106,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for ZooKeeper `Pods`. clientService: @@ -3140,6 +3228,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -4324,7 +4454,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Entity Operator `Pods`. topicOperatorContainer: @@ -4341,6 +4470,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -4442,6 +4613,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -4543,6 +4756,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -5598,7 +5853,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Cruise Control `Pods`. apiService: @@ -5670,6 +5924,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -5771,6 +6067,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -5983,6 +6321,27 @@ spec: - type - valueFrom description: Configuration of the Cruise Control REST API users. + autoRebalance: + type: array + minItems: 1 + items: + type: object + properties: + mode: + type: string + enum: + - add-brokers + - remove-brokers + description: "Specifies the mode for automatically rebalancing when brokers are added or removed. Supported modes are `add-brokers` and `remove-brokers`. \n" + template: + type: object + properties: + name: + type: string + description: Reference to the KafkaRebalance custom resource to be used as the configuration template for the auto-rebalancing on scaling when running for the corresponding mode. + required: + - mode + description: "Auto-rebalancing on scaling related configuration listing the modes, when brokers are added or removed, with the corresponding rebalance template configurations.If this field is set, at least one mode has to be defined." description: Configuration for Cruise Control deployment. Deploys a Cruise Control instance when specified. jmxTrans: type: object @@ -6680,7 +7039,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for JmxTrans `Pods`. container: @@ -6697,6 +7055,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -7517,7 +7917,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Exporter `Pods`. service: @@ -7552,6 +7951,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -7762,4 +8203,35 @@ spec: - PreKRaft - KRaft description: "Defines where cluster metadata are stored. Possible values are: ZooKeeper if the metadata are stored in ZooKeeper; KRaftMigration if the controllers are connected to ZooKeeper, brokers are being rolled with Zookeeper migration enabled and connection information to controllers, and the metadata migration process is running; KRaftDualWriting if the metadata migration process finished and the cluster is in dual-write mode; KRaftPostMigration if the brokers are fully KRaft-based but controllers being rolled to disconnect from ZooKeeper; PreKRaft if brokers and controller are fully KRaft-based, metadata are stored in KRaft, but ZooKeeper must be deleted; KRaft if the metadata are stored in KRaft." + autoRebalance: + type: object + properties: + state: + type: string + enum: + - Idle + - RebalanceOnScaleDown + - RebalanceOnScaleUp + description: "The current state of an auto-rebalancing operation. Possible values are: \n\n* `Idle` as the initial state when an auto-rebalancing is requested or as final state when it completes or fails.\n* `RebalanceOnScaleDown` if an auto-rebalance related to a scale-down operation is running.\n* `RebalanceOnScaleUp` if an auto-rebalance related to a scale-up operation is running." + lastTransitionTime: + type: string + description: The timestamp of the latest auto-rebalancing state update. + modes: + type: array + items: + type: object + properties: + mode: + type: string + enum: + - add-brokers + - remove-brokers + description: "Mode for which there is an auto-rebalancing operation in progress or queued, when brokers are added or removed. The possible modes are `add-brokers` and `remove-brokers`." + brokers: + type: array + items: + type: integer + description: "List of broker IDs involved in an auto-rebalancing operation related to the current mode. \nThe list contains one of the following: \n\n* Broker IDs for a current auto-rebalance. \n* Broker IDs for a queued auto-rebalance (if a previous auto-rebalance is still in progress). \n" + description: "List of modes where an auto-rebalancing operation is either running or queued. \nEach mode entry (`add-brokers` or `remove-brokers`) includes one of the following: \n\n* Broker IDs for a current auto-rebalance. \n* Broker IDs for a queued auto-rebalance (if a previous rebalance is still in progress)." + description: The status of an auto-rebalancing triggered by a cluster scaling request. description: "The status of the Kafka and ZooKeeper clusters, and Topic Operator." diff --git a/install/cluster-operator/041-Crd-kafkaconnect.yaml b/install/cluster-operator/041-Crd-kafkaconnect.yaml index dc21332eb83..175cb977d49 100644 --- a/install/cluster-operator/041-Crd-kafkaconnect.yaml +++ b/install/cluster-operator/041-Crd-kafkaconnect.yaml @@ -1108,7 +1108,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect `Pods`. apiService: @@ -1191,6 +1190,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1292,6 +1333,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2018,7 +2101,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect Build `Pods`. The build pod is used only on Kubernetes. buildContainer: @@ -2035,6 +2117,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2214,6 +2338,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef description: Value of the environment variable which will be passed to the Kafka Connect pods. It can be passed either as a reference to Secret or ConfigMap field. The field has to specify exactly one Secret or ConfigMap. required: - name @@ -2269,6 +2402,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. Exactly one Secret or ConfigMap has to be specified. + oneOf: + - properties: + secret: {} + required: + - secret + - properties: + configMap: {} + required: + - configMap required: - name description: Makes data from a Secret or ConfigMap available in the Kafka Connect pods as volumes. diff --git a/install/cluster-operator/045-Crd-kafkamirrormaker.yaml b/install/cluster-operator/045-Crd-kafkamirrormaker.yaml index a49f283ff3f..1a99c915df7 100644 --- a/install/cluster-operator/045-Crd-kafkamirrormaker.yaml +++ b/install/cluster-operator/045-Crd-kafkamirrormaker.yaml @@ -1273,7 +1273,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka MirrorMaker `Pods`. podDisruptionBudget: @@ -1312,6 +1311,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object diff --git a/install/cluster-operator/046-Crd-kafkabridge.yaml b/install/cluster-operator/046-Crd-kafkabridge.yaml index b200c6f1011..c53354eecec 100644 --- a/install/cluster-operator/046-Crd-kafkabridge.yaml +++ b/install/cluster-operator/046-Crd-kafkabridge.yaml @@ -1097,7 +1097,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Bridge `Pods`. apiService: @@ -1169,6 +1168,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1306,6 +1347,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object diff --git a/install/cluster-operator/047-Crd-kafkaconnector.yaml b/install/cluster-operator/047-Crd-kafkaconnector.yaml index dc061cfda45..17bdbf05f63 100644 --- a/install/cluster-operator/047-Crd-kafkaconnector.yaml +++ b/install/cluster-operator/047-Crd-kafkaconnector.yaml @@ -91,6 +91,30 @@ spec: - stopped - running description: The state the connector should be in. Defaults to running. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka Connector. status: type: object diff --git a/install/cluster-operator/048-Crd-kafkamirrormaker2.yaml b/install/cluster-operator/048-Crd-kafkamirrormaker2.yaml index 5b80b9f8d1d..4b0634ab44f 100644 --- a/install/cluster-operator/048-Crd-kafkamirrormaker2.yaml +++ b/install/cluster-operator/048-Crd-kafkamirrormaker2.yaml @@ -336,6 +336,30 @@ spec: type: integer description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts." description: Automatic restart of connector and tasks configuration. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka MirrorMaker 2 source connector. heartbeatConnector: type: object @@ -368,6 +392,30 @@ spec: type: integer description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts." description: Automatic restart of connector and tasks configuration. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka MirrorMaker 2 heartbeat connector. checkpointConnector: type: object @@ -400,6 +448,30 @@ spec: type: integer description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts." description: Automatic restart of connector and tasks configuration. + listOffsets: + type: object + properties: + toConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the list of offsets will be written to. + required: + - toConfigMap + description: Configuration for listing offsets. + alterOffsets: + type: object + properties: + fromConfigMap: + type: object + properties: + name: + type: string + description: Reference to the ConfigMap where the new offsets are stored. + required: + - fromConfigMap + description: Configuration for altering offsets. description: The specification of the Kafka MirrorMaker 2 checkpoint connector. topicsPattern: type: string @@ -1253,7 +1325,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect `Pods`. apiService: @@ -1336,6 +1407,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1437,6 +1550,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2163,7 +2318,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka Connect Build `Pods`. The build pod is used only on Kubernetes. buildContainer: @@ -2180,6 +2334,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -2359,6 +2555,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef description: Value of the environment variable which will be passed to the Kafka Connect pods. It can be passed either as a reference to Secret or ConfigMap field. The field has to specify exactly one Secret or ConfigMap. required: - name @@ -2414,6 +2619,15 @@ spec: optional: type: boolean description: Reference to a key in a ConfigMap. Exactly one Secret or ConfigMap has to be specified. + oneOf: + - properties: + secret: {} + required: + - secret + - properties: + configMap: {} + required: + - configMap required: - name description: Makes data from a Secret or ConfigMap available in the Kafka Connect pods as volumes. diff --git a/install/cluster-operator/049-Crd-kafkarebalance.yaml b/install/cluster-operator/049-Crd-kafkarebalance.yaml index 7693eef1cd1..1698ab8be3b 100644 --- a/install/cluster-operator/049-Crd-kafkarebalance.yaml +++ b/install/cluster-operator/049-Crd-kafkarebalance.yaml @@ -30,29 +30,13 @@ spec: description: The name of the Kafka cluster this resource rebalances jsonPath: .metadata.labels.strimzi\.io/cluster type: string - - name: PendingProposal - description: A proposal has been requested from Cruise Control - jsonPath: ".status.conditions[?(@.type==\"PendingProposal\")].status" + - name: Template + description: If this rebalance resource is a template + jsonPath: .metadata.annotations.strimzi\.io/rebalance-template type: string - - name: ProposalReady - description: A proposal is ready and waiting for approval - jsonPath: ".status.conditions[?(@.type==\"ProposalReady\")].status" - type: string - - name: Rebalancing - description: Cruise Control is doing the rebalance - jsonPath: ".status.conditions[?(@.type==\"Rebalancing\")].status" - type: string - - name: Ready - description: The rebalance is complete - jsonPath: ".status.conditions[?(@.type==\"Ready\")].status" - type: string - - name: NotReady - description: There is an error on the custom resource - jsonPath: ".status.conditions[?(@.type==\"NotReady\")].status" - type: string - - name: Stopped - description: Processing the proposal or running rebalancing was stopped - jsonPath: ".status.conditions[?(@.type==\"Stopped\")].status" + - name: Status + description: Status of the current rebalancing operation + jsonPath: ".status.conditions[*].type" type: string schema: openAPIV3Schema: diff --git a/install/cluster-operator/04A-Crd-kafkanodepool.yaml b/install/cluster-operator/04A-Crd-kafkanodepool.yaml index 66f66fc5f1f..36187ec4334 100644 --- a/install/cluster-operator/04A-Crd-kafkanodepool.yaml +++ b/install/cluster-operator/04A-Crd-kafkanodepool.yaml @@ -835,7 +835,6 @@ spec: configMap: {} emptyDir: {} persistentVolumeClaim: {} - required: [] description: Additional volumes that can be mounted to the pod. description: Template for Kafka `Pods`. perPodService: @@ -924,6 +923,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object @@ -1025,6 +1066,48 @@ spec: value: type: string description: The environment variable value. + valueFrom: + type: object + properties: + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a secret. + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + description: Reference to a key in a config map. + oneOf: + - properties: + secretKeyRef: {} + required: + - secretKeyRef + - properties: + configMapKeyRef: {} + required: + - configMapKeyRef + description: Reference to the secret or config map property to which the environment variable is set. + oneOf: + - properties: + value: {} + required: + - value + - properties: + valueFrom: {} + required: + - valueFrom description: Environment variables which should be applied to the container. securityContext: type: object diff --git a/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml b/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml index b4cd3208783..43ddc3cad58 100644 --- a/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml +++ b/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml @@ -27,7 +27,7 @@ spec: name: strimzi-cluster-operator containers: - name: strimzi-cluster-operator - image: quay.io/strimzi/operator:0.43.0 + image: quay.io/strimzi/operator:0.44.0 ports: - containerPort: 8080 name: http @@ -48,41 +48,41 @@ spec: - name: STRIMZI_OPERATION_TIMEOUT_MS value: "300000" - name: STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE - value: quay.io/strimzi/kafka:0.43.0-kafka-3.8.0 + value: quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE - value: quay.io/strimzi/kafka:0.43.0-kafka-3.8.0 + value: quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:0.43.0-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:0.43.0-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:0.43.0-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_CONNECT_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:0.43.0-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:0.43.0-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:0.43.0-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_MIRROR_MAKER_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:0.43.0-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:0.43.0-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:0.43.0-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:0.43.0-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:0.43.0-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:0.43.0-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: quay.io/strimzi/operator:0.43.0 + value: quay.io/strimzi/operator:0.44.0 - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: quay.io/strimzi/operator:0.43.0 + value: quay.io/strimzi/operator:0.44.0 - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: quay.io/strimzi/operator:0.43.0 + value: quay.io/strimzi/operator:0.44.0 - name: STRIMZI_DEFAULT_KAFKA_BRIDGE_IMAGE value: quay.io/strimzi/kafka-bridge:0.30.0 - name: STRIMZI_DEFAULT_KANIKO_EXECUTOR_IMAGE - value: quay.io/strimzi/kaniko-executor:0.43.0 + value: quay.io/strimzi/kaniko-executor:0.44.0 - name: STRIMZI_DEFAULT_MAVEN_BUILDER - value: quay.io/strimzi/maven-builder:0.43.0 + value: quay.io/strimzi/maven-builder:0.44.0 - name: STRIMZI_OPERATOR_NAMESPACE valueFrom: fieldRef: diff --git a/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml b/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml index ead99748e43..ad8b98a2a52 100644 --- a/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml +++ b/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml @@ -22,7 +22,7 @@ spec: sizeLimit: 5Mi containers: - name: strimzi-topic-operator - image: quay.io/strimzi/operator:0.43.0 + image: quay.io/strimzi/operator:0.44.0 args: - /opt/strimzi/bin/topic_operator_run.sh volumeMounts: diff --git a/install/user-operator/05-Deployment-strimzi-user-operator.yaml b/install/user-operator/05-Deployment-strimzi-user-operator.yaml index 654ef878923..45252ed3a66 100644 --- a/install/user-operator/05-Deployment-strimzi-user-operator.yaml +++ b/install/user-operator/05-Deployment-strimzi-user-operator.yaml @@ -22,7 +22,7 @@ spec: sizeLimit: 5Mi containers: - name: strimzi-user-operator - image: quay.io/strimzi/operator:0.43.0 + image: quay.io/strimzi/operator:0.44.0 args: - /opt/strimzi/bin/user_operator_run.sh volumeMounts: diff --git a/kafka-agent/pom.xml b/kafka-agent/pom.xml index 46721fd07da..0ea3c72420b 100644 --- a/kafka-agent/pom.xml +++ b/kafka-agent/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/kafka-init/pom.xml b/kafka-init/pom.xml index a05e5e4f3d0..24d220016a9 100644 --- a/kafka-init/pom.xml +++ b/kafka-init/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 kafka-init diff --git a/mirror-maker-agent/pom.xml b/mirror-maker-agent/pom.xml index 2e4d540fb59..c5d8220d6ab 100644 --- a/mirror-maker-agent/pom.xml +++ b/mirror-maker-agent/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/mockkube/pom.xml b/mockkube/pom.xml index 90623886ee6..0827143af9a 100644 --- a/mockkube/pom.xml +++ b/mockkube/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/operator-common/pom.xml b/operator-common/pom.xml index 6e49e93893f..3d0f3b4d6f9 100644 --- a/operator-common/pom.xml +++ b/operator-common/pom.xml @@ -4,7 +4,7 @@ io.strimzi strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 operator-common diff --git a/packaging/examples/security/keycloak-authorization/README.md b/packaging/examples/security/keycloak-authorization/README.md index 0df468a0cb6..1dd3886e0cb 100644 --- a/packaging/examples/security/keycloak-authorization/README.md +++ b/packaging/examples/security/keycloak-authorization/README.md @@ -13,7 +13,7 @@ Full instructions for the example are available in the [Strimzi Documentation](h - The Keycloak realm export file - [kafka-ephemeral-oauth-single-keycloak-authz.yaml](./kafka-ephemeral-oauth-single-keycloak-authz.yaml) - The Kafka CR that defines a single-node Kafka cluster with `oauth` authentication and `keycloak` authorization, - using the `kafka-authz` realm. See [full example instructions](https://strimzi.io/docs/operators/in-development/configuring.html#proc-oauth-authorization-keycloak-example_str) for proper preparation and deployment. + using the `kafka-authz` realm. See [full example instructions](https://strimzi.io/docs/operators/0.44.0/configuring.html#proc-oauth-authorization-keycloak-example_str) for proper preparation and deployment. - [kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml](./kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml) - The Kafka CR that defines a single-node Kafka cluster with `oauth` authentication and `keycloak` authorization, with included configuration for exporting the OAuth metrics using Prometheus JMX exporter. diff --git a/packaging/helm-charts/helm3/strimzi-kafka-operator/README.md b/packaging/helm-charts/helm3/strimzi-kafka-operator/README.md index e777653d682..ad2bee5a96a 100644 --- a/packaging/helm-charts/helm3/strimzi-kafka-operator/README.md +++ b/packaging/helm-charts/helm3/strimzi-kafka-operator/README.md @@ -105,7 +105,7 @@ the documentation for more details. | `watchAnyNamespace` | Watch the whole Kubernetes cluster (all namespaces) | `false` | | `defaultImageRegistry` | Default image registry for all the images | `quay.io` | | `defaultImageRepository` | Default image registry for all the images | `strimzi` | -| `defaultImageTag` | Default image tag for all the images except Kafka Bridge | `latest` | +| `defaultImageTag` | Default image tag for all the images except Kafka Bridge | `0.44.0` | | `image.registry` | Override default Cluster Operator image registry | `nil` | | `image.repository` | Override default Cluster Operator image repository | `nil` | | `image.name` | Cluster Operator image name | `cluster-operator` | diff --git a/packaging/helm-charts/helm3/strimzi-kafka-operator/values.yaml b/packaging/helm-charts/helm3/strimzi-kafka-operator/values.yaml index 257ccbe17ba..ce1d8d3a7a3 100644 --- a/packaging/helm-charts/helm3/strimzi-kafka-operator/values.yaml +++ b/packaging/helm-charts/helm3/strimzi-kafka-operator/values.yaml @@ -10,7 +10,7 @@ watchAnyNamespace: false defaultImageRegistry: quay.io defaultImageRepository: strimzi -defaultImageTag: latest +defaultImageTag: 0.44.0 image: registry: "" diff --git a/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml b/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml index 64d50fd8a39..43ddc3cad58 100644 --- a/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml +++ b/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml @@ -27,7 +27,7 @@ spec: name: strimzi-cluster-operator containers: - name: strimzi-cluster-operator - image: quay.io/strimzi/operator:latest + image: quay.io/strimzi/operator:0.44.0 ports: - containerPort: 8080 name: http @@ -48,41 +48,41 @@ spec: - name: STRIMZI_OPERATION_TIMEOUT_MS value: "300000" - name: STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE - value: quay.io/strimzi/kafka:latest-kafka-3.8.0 + value: quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE - value: quay.io/strimzi/kafka:latest-kafka-3.8.0 + value: quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:latest-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:latest-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_CONNECT_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:latest-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:latest-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_MIRROR_MAKER_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:latest-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:latest-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES value: | - 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - 3.7.1=quay.io/strimzi/kafka:latest-kafka-3.7.1 - 3.8.0=quay.io/strimzi/kafka:latest-kafka-3.8.0 + 3.7.0=quay.io/strimzi/kafka:0.44.0-kafka-3.7.0 + 3.7.1=quay.io/strimzi/kafka:0.44.0-kafka-3.7.1 + 3.8.0=quay.io/strimzi/kafka:0.44.0-kafka-3.8.0 - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: quay.io/strimzi/operator:latest + value: quay.io/strimzi/operator:0.44.0 - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: quay.io/strimzi/operator:latest + value: quay.io/strimzi/operator:0.44.0 - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: quay.io/strimzi/operator:latest + value: quay.io/strimzi/operator:0.44.0 - name: STRIMZI_DEFAULT_KAFKA_BRIDGE_IMAGE value: quay.io/strimzi/kafka-bridge:0.30.0 - name: STRIMZI_DEFAULT_KANIKO_EXECUTOR_IMAGE - value: quay.io/strimzi/kaniko-executor:latest + value: quay.io/strimzi/kaniko-executor:0.44.0 - name: STRIMZI_DEFAULT_MAVEN_BUILDER - value: quay.io/strimzi/maven-builder:latest + value: quay.io/strimzi/maven-builder:0.44.0 - name: STRIMZI_OPERATOR_NAMESPACE valueFrom: fieldRef: diff --git a/packaging/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml b/packaging/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml index cbc072d51c6..ad8b98a2a52 100644 --- a/packaging/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml +++ b/packaging/install/topic-operator/05-Deployment-strimzi-topic-operator.yaml @@ -22,7 +22,7 @@ spec: sizeLimit: 5Mi containers: - name: strimzi-topic-operator - image: quay.io/strimzi/operator:latest + image: quay.io/strimzi/operator:0.44.0 args: - /opt/strimzi/bin/topic_operator_run.sh volumeMounts: diff --git a/packaging/install/user-operator/05-Deployment-strimzi-user-operator.yaml b/packaging/install/user-operator/05-Deployment-strimzi-user-operator.yaml index a45ad39226f..45252ed3a66 100644 --- a/packaging/install/user-operator/05-Deployment-strimzi-user-operator.yaml +++ b/packaging/install/user-operator/05-Deployment-strimzi-user-operator.yaml @@ -22,7 +22,7 @@ spec: sizeLimit: 5Mi containers: - name: strimzi-user-operator - image: quay.io/strimzi/operator:latest + image: quay.io/strimzi/operator:0.44.0 args: - /opt/strimzi/bin/user_operator_run.sh volumeMounts: diff --git a/pom.xml b/pom.xml index 3556d8e2be4..5ed1d1d61c4 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ io.strimzi strimzi pom - 0.44.0-SNAPSHOT + 0.44.0 diff --git a/release.version b/release.version index 071c3fbccd4..a8ab6c9666a 100644 --- a/release.version +++ b/release.version @@ -1 +1 @@ -0.44.0-SNAPSHOT +0.44.0 diff --git a/systemtest/pom.xml b/systemtest/pom.xml index a64978cdc38..62cb544883c 100644 --- a/systemtest/pom.xml +++ b/systemtest/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 systemtest diff --git a/test/pom.xml b/test/pom.xml index ef213ee4748..7594b64ff7e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/topic-operator/pom.xml b/topic-operator/pom.xml index 9bdc0dfec52..aab8fdecc04 100644 --- a/topic-operator/pom.xml +++ b/topic-operator/pom.xml @@ -5,7 +5,7 @@ io.strimzi strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 topic-operator diff --git a/tracing-agent/pom.xml b/tracing-agent/pom.xml index 97f254c2a89..0b5a1996340 100644 --- a/tracing-agent/pom.xml +++ b/tracing-agent/pom.xml @@ -5,7 +5,7 @@ strimzi io.strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 diff --git a/user-operator/pom.xml b/user-operator/pom.xml index 6cb4da54730..9315d8ce897 100644 --- a/user-operator/pom.xml +++ b/user-operator/pom.xml @@ -4,7 +4,7 @@ io.strimzi strimzi - 0.44.0-SNAPSHOT + 0.44.0 4.0.0 user-operator