diff --git a/CHANGELOG.md b/CHANGELOG.md index accc9e60..ce27facc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [25.11.0-rc1] - 2025-11-06 + ### Added - Helm: Allow Pod `priorityClassName` to be configured ([#890]). diff --git a/Cargo.lock b/Cargo.lock index ca727c6c..721eedfa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2449,7 +2449,7 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackable-kafka-operator" -version = "0.0.0-dev" +version = "25.11.0-rc1" dependencies = [ "anyhow", "built", diff --git a/Cargo.nix b/Cargo.nix index 2cc28afc..f51c52bc 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -7961,7 +7961,7 @@ rec { }; "stackable-kafka-operator" = rec { crateName = "stackable-kafka-operator"; - version = "0.0.0-dev"; + version = "25.11.0-rc1"; edition = "2021"; crateBin = [ { diff --git a/Cargo.toml b/Cargo.toml index 4c299cbf..3ec992ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["rust/operator-binary"] resolver = "2" [workspace.package] -version = "0.0.0-dev" +version = "25.11.0-rc1" authors = ["Stackable GmbH "] license = "OSL-3.0" edition = "2021" diff --git a/deploy/helm/kafka-operator/Chart.yaml b/deploy/helm/kafka-operator/Chart.yaml index 3af8f3fb..167f71dd 100644 --- a/deploy/helm/kafka-operator/Chart.yaml +++ b/deploy/helm/kafka-operator/Chart.yaml @@ -1,8 +1,8 @@ --- apiVersion: v2 name: kafka-operator -version: "0.0.0-dev" -appVersion: "0.0.0-dev" +version: "25.11.0-rc1" +appVersion: "25.11.0-rc1" description: The Stackable Operator for Apache Kafka home: https://github.com/stackabletech/kafka-operator maintainers: diff --git a/deploy/helm/kafka-operator/crds/crds.yaml b/deploy/helm/kafka-operator/crds/crds.yaml index 323b1c1d..69b357da 100644 --- a/deploy/helm/kafka-operator/crds/crds.yaml +++ b/deploy/helm/kafka-operator/crds/crds.yaml @@ -26,7 +26,7 @@ spec: description: |- A Kafka cluster stacklet. This resource is managed by the Stackable operator for Apache Kafka. Find more information on how to use it and the resources that the operator generates in the - [operator documentation](https://docs.stackable.tech/home/nightly/kafka/). + [operator documentation](https://docs.stackable.tech/home/25.11/kafka/). properties: brokers: description: |- @@ -36,7 +36,7 @@ spec: on role level. There is also a second form of config, which can only be configured at role level, the `roleConfig`. You can learn more about this in the - [Roles and role group concept documentation](https://docs.stackable.tech/home/nightly/concepts/roles-and-role-groups). + [Roles and role group concept documentation](https://docs.stackable.tech/home/25.11/concepts/roles-and-role-groups). nullable: true properties: cliOverrides: @@ -55,7 +55,7 @@ spec: podAntiAffinity: null description: |- These configuration settings control - [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + [Pod placement](https://docs.stackable.tech/home/25.11/concepts/operations/pod_placement). properties: nodeAffinity: description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) @@ -95,7 +95,7 @@ spec: default: containers: {} enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/25.11/concepts/logging). properties: containers: additionalProperties: @@ -300,7 +300,7 @@ spec: description: |- The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the - [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) + [config overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. type: object @@ -312,7 +312,7 @@ spec: `envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the - [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) + [environment variable overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available. type: object @@ -323,7 +323,7 @@ spec: removeRegex: [] description: |- Allows overriding JVM arguments. - Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) + Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#jvm-argument-overrides) for details on the usage. properties: add: @@ -352,7 +352,7 @@ spec: [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the - [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) + [Pod overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#pod-overrides) for more information. type: object x-kubernetes-preserve-unknown-fields: true @@ -374,7 +374,7 @@ spec: 2. The allowed number of Pods to be unavailable (`maxUnavailable`) Learn more in the - [allowed Pod disruptions documentation](https://docs.stackable.tech/home/nightly/concepts/operations/pod_disruptions). + [allowed Pod disruptions documentation](https://docs.stackable.tech/home/25.11/concepts/operations/pod_disruptions). properties: enabled: default: true @@ -414,7 +414,7 @@ spec: podAntiAffinity: null description: |- These configuration settings control - [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + [Pod placement](https://docs.stackable.tech/home/25.11/concepts/operations/pod_placement). properties: nodeAffinity: description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) @@ -454,7 +454,7 @@ spec: default: containers: {} enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/25.11/concepts/logging). properties: containers: additionalProperties: @@ -659,7 +659,7 @@ spec: description: |- The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the - [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) + [config overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. type: object @@ -671,7 +671,7 @@ spec: `envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the - [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) + [environment variable overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available. type: object @@ -682,7 +682,7 @@ spec: removeRegex: [] description: |- Allows overriding JVM arguments. - Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) + Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#jvm-argument-overrides) for details on the usage. properties: add: @@ -711,7 +711,7 @@ spec: [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the - [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) + [Pod overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#pod-overrides) for more information. type: object x-kubernetes-preserve-unknown-fields: true @@ -774,15 +774,15 @@ spec: properties: opa: description: |- - Configure the OPA stacklet [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery) + Configure the OPA stacklet [discovery ConfigMap](https://docs.stackable.tech/home/25.11/concepts/service_discovery) and the name of the Rego package containing your authorization rules. - Consult the [OPA authorization documentation](https://docs.stackable.tech/home/nightly/concepts/opa) + Consult the [OPA authorization documentation](https://docs.stackable.tech/home/25.11/concepts/opa) to learn how to deploy Rego authorization rules with OPA. nullable: true properties: configMapName: description: |- - The [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery) + The [discovery ConfigMap](https://docs.stackable.tech/home/25.11/concepts/service_discovery) for the OPA stacklet that should be used for authorization requests. type: string package: @@ -803,7 +803,7 @@ spec: internalSecretClass: default: tls description: |- - The [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass.html) to use for + The [SecretClass](https://docs.stackable.tech/home/25.11/secret-operator/secretclass.html) to use for internal broker communication. Use mutual verification between brokers (mandatory). This setting controls: - Which cert the brokers should use to authenticate themselves against other brokers @@ -814,7 +814,7 @@ spec: serverSecretClass: default: tls description: |- - The [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass.html) to use for + The [SecretClass](https://docs.stackable.tech/home/25.11/secret-operator/secretclass.html) to use for client connections. This setting controls: - If TLS encryption is used at all - Which cert the servers should use to authenticate themselves against the client @@ -825,16 +825,16 @@ spec: type: object vectorAggregatorConfigMapName: description: |- - Name of the Vector aggregator [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery). + Name of the Vector aggregator [discovery ConfigMap](https://docs.stackable.tech/home/25.11/concepts/service_discovery). It must contain the key `ADDRESS` with the address of the Vector aggregator. - Follow the [logging tutorial](https://docs.stackable.tech/home/nightly/tutorials/logging-vector-aggregator) + Follow the [logging tutorial](https://docs.stackable.tech/home/25.11/tutorials/logging-vector-aggregator) to learn how to configure log aggregation with Vector. nullable: true type: string zookeeperConfigMapName: description: |- - Provide the name of the ZooKeeper [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery) - here. When using the [Stackable operator for Apache ZooKeeper](https://docs.stackable.tech/home/nightly/zookeeper/) + Provide the name of the ZooKeeper [discovery ConfigMap](https://docs.stackable.tech/home/25.11/concepts/service_discovery) + here. When using the [Stackable operator for Apache ZooKeeper](https://docs.stackable.tech/home/25.11/zookeeper/) to deploy a ZooKeeper cluster, this will simply be the name of your ZookeeperCluster resource. This can only be used up to Kafka version 3.9.x. Since Kafka 4.0.0, ZooKeeper suppport was dropped. Please use the 'controller' role instead. @@ -846,7 +846,7 @@ spec: reconciliationPaused: false stopped: false description: |- - [Cluster operations](https://docs.stackable.tech/home/nightly/concepts/operations/cluster_operations) + [Cluster operations](https://docs.stackable.tech/home/25.11/concepts/operations/cluster_operations) properties, allow stopping the product instance as well as pausing reconciliation. properties: reconciliationPaused: @@ -877,7 +877,7 @@ spec: on role level. There is also a second form of config, which can only be configured at role level, the `roleConfig`. You can learn more about this in the - [Roles and role group concept documentation](https://docs.stackable.tech/home/nightly/concepts/roles-and-role-groups). + [Roles and role group concept documentation](https://docs.stackable.tech/home/25.11/concepts/roles-and-role-groups). nullable: true properties: cliOverrides: @@ -896,7 +896,7 @@ spec: podAntiAffinity: null description: |- These configuration settings control - [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + [Pod placement](https://docs.stackable.tech/home/25.11/concepts/operations/pod_placement). properties: nodeAffinity: description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) @@ -928,7 +928,7 @@ spec: default: containers: {} enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/25.11/concepts/logging). properties: containers: additionalProperties: @@ -1133,7 +1133,7 @@ spec: description: |- The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the - [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) + [config overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. type: object @@ -1145,7 +1145,7 @@ spec: `envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the - [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) + [environment variable overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available. type: object @@ -1156,7 +1156,7 @@ spec: removeRegex: [] description: |- Allows overriding JVM arguments. - Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) + Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#jvm-argument-overrides) for details on the usage. properties: add: @@ -1185,7 +1185,7 @@ spec: [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the - [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) + [Pod overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#pod-overrides) for more information. type: object x-kubernetes-preserve-unknown-fields: true @@ -1207,7 +1207,7 @@ spec: 2. The allowed number of Pods to be unavailable (`maxUnavailable`) Learn more in the - [allowed Pod disruptions documentation](https://docs.stackable.tech/home/nightly/concepts/operations/pod_disruptions). + [allowed Pod disruptions documentation](https://docs.stackable.tech/home/25.11/concepts/operations/pod_disruptions). properties: enabled: default: true @@ -1247,7 +1247,7 @@ spec: podAntiAffinity: null description: |- These configuration settings control - [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + [Pod placement](https://docs.stackable.tech/home/25.11/concepts/operations/pod_placement). properties: nodeAffinity: description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) @@ -1279,7 +1279,7 @@ spec: default: containers: {} enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/25.11/concepts/logging). properties: containers: additionalProperties: @@ -1484,7 +1484,7 @@ spec: description: |- The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the - [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) + [config overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. type: object @@ -1496,7 +1496,7 @@ spec: `envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the - [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) + [environment variable overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available. type: object @@ -1507,7 +1507,7 @@ spec: removeRegex: [] description: |- Allows overriding JVM arguments. - Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) + Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#jvm-argument-overrides) for details on the usage. properties: add: @@ -1536,7 +1536,7 @@ spec: [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the - [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) + [Pod overrides documentation](https://docs.stackable.tech/home/25.11/concepts/overrides#pod-overrides) for more information. type: object x-kubernetes-preserve-unknown-fields: true @@ -1563,7 +1563,7 @@ spec: You can also configure a custom image registry to pull from, as well as completely custom images. - Consult the [Product image selection documentation](https://docs.stackable.tech/home/nightly/concepts/product_image_selection) + Consult the [Product image selection documentation](https://docs.stackable.tech/home/25.11/concepts/product_image_selection) for details. properties: custom: diff --git a/docs/antora.yml b/docs/antora.yml index d522680b..5e6e6767 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,3 +1,4 @@ --- name: home -version: "nightly" +version: "25.11" +prerelease: false diff --git a/docs/modules/kafka/examples/getting_started/getting_started.sh b/docs/modules/kafka/examples/getting_started/getting_started.sh index f2563958..f83a4639 100755 --- a/docs/modules/kafka/examples/getting_started/getting_started.sh +++ b/docs/modules/kafka/examples/getting_started/getting_started.sh @@ -26,22 +26,22 @@ case "$1" in "helm") echo "Installing Operators with Helm" # tag::helm-install-operators[] -helm install --wait commons-operator oci://oci.stackable.tech/sdp-charts/commons-operator --version 0.0.0-dev -helm install --wait secret-operator oci://oci.stackable.tech/sdp-charts/secret-operator --version 0.0.0-dev -helm install --wait listener-operator oci://oci.stackable.tech/sdp-charts/listener-operator --version 0.0.0-dev -helm install --wait zookeeper-operator oci://oci.stackable.tech/sdp-charts/zookeeper-operator --version 0.0.0-dev -helm install --wait kafka-operator oci://oci.stackable.tech/sdp-charts/kafka-operator --version 0.0.0-dev +helm install --wait commons-operator oci://oci.stackable.tech/sdp-charts/commons-operator --version 25.11.0-rc1 +helm install --wait secret-operator oci://oci.stackable.tech/sdp-charts/secret-operator --version 25.11.0-rc1 +helm install --wait listener-operator oci://oci.stackable.tech/sdp-charts/listener-operator --version 25.11.0-rc1 +helm install --wait zookeeper-operator oci://oci.stackable.tech/sdp-charts/zookeeper-operator --version 25.11.0-rc1 +helm install --wait kafka-operator oci://oci.stackable.tech/sdp-charts/kafka-operator --version 25.11.0-rc1 # end::helm-install-operators[] ;; "stackablectl") echo "installing Operators with stackablectl" # tag::stackablectl-install-operators[] stackablectl operator install \ - commons=0.0.0-dev \ - secret=0.0.0-dev \ - listener=0.0.0-dev \ - zookeeper=0.0.0-dev \ - kafka=0.0.0-dev + commons=25.11.0-rc1 \ + secret=25.11.0-rc1 \ + listener=25.11.0-rc1 \ + zookeeper=25.11.0-rc1 \ + kafka=25.11.0-rc1 # end::stackablectl-install-operators[] ;; *) diff --git a/docs/modules/kafka/examples/getting_started/install_output.txt b/docs/modules/kafka/examples/getting_started/install_output.txt index 4622a2cb..341087b9 100644 --- a/docs/modules/kafka/examples/getting_started/install_output.txt +++ b/docs/modules/kafka/examples/getting_started/install_output.txt @@ -1,5 +1,5 @@ -Installed commons=0.0.0-dev operator -Installed secret=0.0.0-dev operator -Installed listener=0.0.0-dev operator -Installed zookeeper=0.0.0-dev operator -Installed kafka=0.0.0-dev operator +Installed commons=25.11.0-rc1 operator +Installed secret=25.11.0-rc1 operator +Installed listener=25.11.0-rc1 operator +Installed zookeeper=25.11.0-rc1 operator +Installed kafka=25.11.0-rc1 operator diff --git a/docs/templating_vars.yaml b/docs/templating_vars.yaml index 36c236b5..c72b00d8 100644 --- a/docs/templating_vars.yaml +++ b/docs/templating_vars.yaml @@ -3,8 +3,8 @@ helm: repo_name: sdp-charts repo_url: oci.stackable.tech versions: - commons: 0.0.0-dev - secret: 0.0.0-dev - listener: 0.0.0-dev - zookeeper: 0.0.0-dev - kafka: 0.0.0-dev + commons: 25.11.0-rc1 + secret: 25.11.0-rc1 + listener: 25.11.0-rc1 + zookeeper: 25.11.0-rc1 + kafka: 25.11.0-rc1 diff --git a/tests/release.yaml b/tests/release.yaml index fa692d24..dbe2ae6d 100644 --- a/tests/release.yaml +++ b/tests/release.yaml @@ -7,12 +7,12 @@ releases: description: Integration test products: commons: - operatorVersion: 0.0.0-dev + operatorVersion: 25.11.0-rc1 secret: - operatorVersion: 0.0.0-dev + operatorVersion: 25.11.0-rc1 listener: - operatorVersion: 0.0.0-dev + operatorVersion: 25.11.0-rc1 zookeeper: - operatorVersion: 0.0.0-dev + operatorVersion: 25.11.0-rc1 kafka: - operatorVersion: 0.0.0-dev + operatorVersion: 25.11.0-rc1 diff --git a/tests/templates/kuttl/upgrade/04-assert.yaml.j2 b/tests/templates/kuttl/upgrade/04-assert.yaml.j2 index 2a95af44..8cbeb862 100644 --- a/tests/templates/kuttl/upgrade/04-assert.yaml.j2 +++ b/tests/templates/kuttl/upgrade/04-assert.yaml.j2 @@ -8,7 +8,7 @@ kind: StatefulSet metadata: name: test-kafka-broker-default labels: - app.kubernetes.io/version: "{{ test_scenario['values']['upgrade_new'] }}-stackable0.0.0-dev" + app.kubernetes.io/version: "{{ test_scenario['values']['upgrade_new'] }}-stackable25.11.0-rc1" status: readyReplicas: 1 replicas: 1