From 31d795a4a3feadf39b58dbf90e5bd7566ed109fb Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 18 Nov 2024 16:16:17 +0100 Subject: [PATCH 1/5] Update CHANGELOG.md from release 24.11.0 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f339041..fc6667c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [24.11.0] - 2024-11-18 + ### Added - Support version `3.8.0` ([#753]). From 13de8bbfd8970a89459ac69559143fc9a8536a4d Mon Sep 17 00:00:00 2001 From: Stacky McStackface <95074132+stackable-bot@users.noreply.github.com> Date: Mon, 18 Nov 2024 22:47:28 +0100 Subject: [PATCH 2/5] chore: Generated commit to update templated files since the last template run up to stackabletech/operator-templating@fd40109c1bd66c79fa74bf67a5b5bff1e3a96ce8 (#790) Reference-to: stackabletech/operator-templating@fd40109 (Add make render-doc command) --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index f01e4a9e..ddfdd0b0 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,9 @@ SHELL=/usr/bin/env bash -euo pipefail render-readme: scripts/render_readme.sh +render-docs: + scripts/docs_templating.sh + ## Docker related targets docker-build: docker build --force-rm --build-arg VERSION=${VERSION} -t "${DOCKER_REPO}/${ORGANIZATION}/${OPERATOR_NAME}:${VERSION}-${ARCH}" -f docker/Dockerfile . From fb903c52d94b2267b8e796f5f9ee6a08218081b9 Mon Sep 17 00:00:00 2001 From: Nick <10092581+NickLarsenNZ@users.noreply.github.com> Date: Wed, 20 Nov 2024 20:16:17 +1300 Subject: [PATCH 3/5] chore(getting_started): replace templating instructions with make (#791) --- .../examples/getting_started/getting_started.sh | 13 +------------ .../examples/getting_started/getting_started.sh.j2 | 13 +------------ 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/docs/modules/kafka/examples/getting_started/getting_started.sh b/docs/modules/kafka/examples/getting_started/getting_started.sh index 049ea967..ee41c949 100755 --- a/docs/modules/kafka/examples/getting_started/getting_started.sh +++ b/docs/modules/kafka/examples/getting_started/getting_started.sh @@ -2,18 +2,7 @@ set -euo pipefail # DO NOT EDIT THE SCRIPT -# Instead, update the j2 template, and regenerate it for dev: -# cat < Date: Mon, 25 Nov 2024 11:27:40 +0100 Subject: [PATCH 4/5] Patch op-rs version to use one that fixes SUP-148. (#793) * Patch op-rs version to use one that fixes SUP-148. * fix cargo * Upgrade stackable-operator to version 0.82.0 * Update changelog --------- Co-authored-by: Siegfried Weber --- CHANGELOG.md | 4 ++++ Cargo.lock | 8 ++++---- Cargo.nix | 14 +++++++------- Cargo.toml | 2 +- crate-hashes.json | 6 +++--- rust/operator-binary/src/kafka_controller.rs | 10 +++++----- 6 files changed, 24 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc6667c8..d1cb4cc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,9 @@ All notable changes to this project will be documented in this file. certificates used by Kafka. This allows you to access Kafka brokers secured using TLS via the global bootstrap service ([#741]). - An invalid `KafkaCluster` doesn't cause the operator to stop functioning ([#773]). +- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be + deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after + restart ([#793]). ### Removed @@ -41,6 +44,7 @@ All notable changes to this project will be documented in this file. [#762]: https://github.com/stackabletech/kafka-operator/pull/762 [#771]: https://github.com/stackabletech/kafka-operator/pull/771 [#773]: https://github.com/stackabletech/kafka-operator/pull/773 +[#793]: https://github.com/stackabletech/kafka-operator/pull/793 ## [24.7.0] - 2024-07-24 diff --git a/Cargo.lock b/Cargo.lock index 018ffe06..7504a98f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2201,8 +2201,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.80.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#6fbe32300b60f95e0baa2ab0ff2daf961b06531c" +version = "0.82.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#415bbd031bd52e9c0c5392060235030e9930b46b" dependencies = [ "chrono", "clap", @@ -2240,7 +2240,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#6fbe32300b60f95e0baa2ab0ff2daf961b06531c" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#415bbd031bd52e9c0c5392060235030e9930b46b" dependencies = [ "darling", "proc-macro2", @@ -2251,7 +2251,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#6fbe32300b60f95e0baa2ab0ff2daf961b06531c" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#415bbd031bd52e9c0c5392060235030e9930b46b" dependencies = [ "kube", "semver", diff --git a/Cargo.nix b/Cargo.nix index 9ea1da33..c5fa55c1 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -6799,13 +6799,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.80.0"; + version = "0.82.0"; edition = "2021"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "6fbe32300b60f95e0baa2ab0ff2daf961b06531c"; - sha256 = "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3"; + rev = "415bbd031bd52e9c0c5392060235030e9930b46b"; + sha256 = "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy"; }; libName = "stackable_operator"; authors = [ @@ -6962,8 +6962,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "6fbe32300b60f95e0baa2ab0ff2daf961b06531c"; - sha256 = "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3"; + rev = "415bbd031bd52e9c0c5392060235030e9930b46b"; + sha256 = "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -6997,8 +6997,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "6fbe32300b60f95e0baa2ab0ff2daf961b06531c"; - sha256 = "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3"; + rev = "415bbd031bd52e9c0c5392060235030e9930b46b"; + sha256 = "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy"; }; libName = "stackable_shared"; authors = [ diff --git a/Cargo.toml b/Cargo.toml index a3461d23..01eed416 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9" snafu = "0.8" -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.80.0" } +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.82.0" } strum = { version = "0.26", features = ["derive"] } tokio = { version = "1.40", features = ["full"] } tracing = "0.1" diff --git a/crate-hashes.json b/crate-hashes.json index 562fb18b..0ca37e6e 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,6 +1,6 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#stackable-operator-derive@0.3.1": "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#stackable-operator@0.80.0": "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.80.0#stackable-shared@0.0.1": "16jrq3wdwz63210jgmqbx3snrr15wxw6l1smqhzv7b7jpq8qvya3", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#stackable-operator-derive@0.3.1": "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#stackable-operator@0.82.0": "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.82.0#stackable-shared@0.0.1": "0phasjwb64rxgn5hs8vks92icmx9255bd5v9dms280clrfpcg4hy", "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" } \ No newline at end of file diff --git a/rust/operator-binary/src/kafka_controller.rs b/rust/operator-binary/src/kafka_controller.rs index 9d1a933f..3020d6af 100644 --- a/rust/operator-binary/src/kafka_controller.rs +++ b/rust/operator-binary/src/kafka_controller.rs @@ -48,7 +48,7 @@ use stackable_operator::{ core::v1::{ ConfigMap, ConfigMapKeySelector, ConfigMapVolumeSource, ContainerPort, EnvVar, EnvVarSource, ExecAction, ObjectFieldSelector, PodSpec, Probe, Service, - ServiceSpec, Volume, + ServiceAccount, ServiceSpec, Volume, }, }, apimachinery::pkg::apis::meta::v1::LabelSelector, @@ -524,7 +524,7 @@ pub async fn reconcile_kafka( .context(BuildRbacResourcesSnafu)?; let rbac_sa = cluster_resources - .add(client, rbac_sa) + .add(client, rbac_sa.clone()) .await .context(ApplyServiceAccountSnafu)?; cluster_resources @@ -561,7 +561,7 @@ pub async fn reconcile_kafka( opa_connect.as_deref(), &kafka_security, &merged_config, - &rbac_sa.name_any(), + &rbac_sa, &client.kubernetes_cluster_info, )?; let rg_bootstrap_listener = build_broker_rolegroup_bootstrap_listener( @@ -824,7 +824,7 @@ fn build_broker_rolegroup_statefulset( opa_connect_string: Option<&str>, kafka_security: &KafkaTlsSecurity, merged_config: &KafkaConfig, - sa_name: &str, + service_account: &ServiceAccount, cluster_info: &KubernetesClusterInfo, ) -> Result { let role = kafka.role(kafka_role).context(InternalOperatorSnafu)?; @@ -1096,7 +1096,7 @@ fn build_broker_rolegroup_statefulset( )), ) .context(AddVolumeSnafu)? - .service_account_name(sa_name) + .service_account_name(service_account.name_any()) .security_context( PodSecurityContextBuilder::new() .run_as_user(KAFKA_UID) From bad8c0a90efb8e83f9a7f522c55e82c9e32e5156 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Tue, 26 Nov 2024 17:22:35 +0100 Subject: [PATCH 5/5] Update changelog --- CHANGELOG.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1cb4cc5..6562abe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Fixed + +- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be + deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after + restart ([#793]). + +[#793]: https://github.com/stackabletech/kafka-operator/pull/793 + ## [24.11.0] - 2024-11-18 ### Added @@ -29,9 +37,6 @@ All notable changes to this project will be documented in this file. certificates used by Kafka. This allows you to access Kafka brokers secured using TLS via the global bootstrap service ([#741]). - An invalid `KafkaCluster` doesn't cause the operator to stop functioning ([#773]). -- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be - deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after - restart ([#793]). ### Removed @@ -44,7 +49,6 @@ All notable changes to this project will be documented in this file. [#762]: https://github.com/stackabletech/kafka-operator/pull/762 [#771]: https://github.com/stackabletech/kafka-operator/pull/771 [#773]: https://github.com/stackabletech/kafka-operator/pull/773 -[#793]: https://github.com/stackabletech/kafka-operator/pull/793 ## [24.7.0] - 2024-07-24