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