From c256d045e6cbf9cc18d968dad4ad5fb3b27b9c4f Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Mon, 10 Nov 2025 16:51:08 +0100 Subject: [PATCH 1/2] feat: Support `objectOverrides` --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 2 +- rust/operator-binary/src/crd/mod.rs | 3 +++ rust/operator-binary/src/zk_controller.rs | 1 + rust/operator-binary/src/znode_controller.rs | 1 + 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 443a49c6..c01c672e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1332,7 +1332,7 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "darling", "regex", @@ -2397,8 +2397,8 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackable-operator" -version = "0.100.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +version = "0.100.3" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "chrono", "clap", @@ -2436,7 +2436,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "darling", "proc-macro2", @@ -2447,7 +2447,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "chrono", "k8s-openapi", @@ -2464,7 +2464,7 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "axum", "clap", @@ -2488,7 +2488,7 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.8.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "schemars", "serde", @@ -2501,7 +2501,7 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.8.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#184423db7409f853bd69db7eeecd1affbf97ef40" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" dependencies = [ "convert_case", "darling", diff --git a/Cargo.toml b/Cargo.toml index bf078e41..fea49fd8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ tokio-zookeeper = "0.4" tracing = "0.1" [patch."https://github.com/stackabletech/operator-rs"] -# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "feat/object-overrides" } # stackable-operator = { path = "../operator-rs/crates/stackable-operator" } [patch.crates-io] diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 594dbec0..2212af05 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -154,6 +154,9 @@ pub mod versioned { #[serde(skip_serializing_if = "Option::is_none")] pub servers: Option>, + + /// TODO docs + pub object_overrides: Option, } #[derive(Clone, Debug, Deserialize, JsonSchema, PartialEq, Serialize)] diff --git a/rust/operator-binary/src/zk_controller.rs b/rust/operator-binary/src/zk_controller.rs index 26973246..4673db71 100644 --- a/rust/operator-binary/src/zk_controller.rs +++ b/rust/operator-binary/src/zk_controller.rs @@ -373,6 +373,7 @@ pub async fn reconcile_zk( ZK_CONTROLLER_NAME, &zk.object_ref(&()), ClusterResourceApplyStrategy::from(&zk.spec.cluster_operation), + zk.spec.object_overrides.as_ref(), ) .context(CreateClusterResourcesSnafu)?; diff --git a/rust/operator-binary/src/znode_controller.rs b/rust/operator-binary/src/znode_controller.rs index feee2aee..4929d4cf 100644 --- a/rust/operator-binary/src/znode_controller.rs +++ b/rust/operator-binary/src/znode_controller.rs @@ -287,6 +287,7 @@ async fn reconcile_apply( ZNODE_CONTROLLER_NAME, &znode.object_ref(&()), ClusterResourceApplyStrategy::from(&zk.spec.cluster_operation), + zk.spec.object_overrides.as_ref(), ) .context(ZnodeMissingExpectedKeysSnafu { znode })?; From 8f040a13393fcd4aaacf5b328de0e44141a189f4 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 11 Nov 2025 11:06:38 +0100 Subject: [PATCH 2/2] refactor to new structure --- Cargo.lock | 14 +++--- Cargo.nix | 44 +++++++++---------- crate-hashes.json | 14 +++--- deploy/helm/zookeeper-operator/crds/crds.yaml | 14 ++++++ rust/operator-binary/src/crd/mod.rs | 12 +++-- rust/operator-binary/src/operations/pdb.rs | 2 +- rust/operator-binary/src/zk_controller.rs | 2 +- rust/operator-binary/src/znode_controller.rs | 2 +- 8 files changed, 61 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c01c672e..ef1e4a22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1332,7 +1332,7 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "darling", "regex", @@ -2398,7 +2398,7 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackable-operator" version = "0.100.3" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "chrono", "clap", @@ -2436,7 +2436,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "darling", "proc-macro2", @@ -2447,7 +2447,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.3" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "chrono", "k8s-openapi", @@ -2464,7 +2464,7 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.1" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "axum", "clap", @@ -2488,7 +2488,7 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.8.3" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "schemars", "serde", @@ -2501,7 +2501,7 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.8.3" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#00fd1b7f3fc1a6bc8ee2fc330a1b72cb5fe70222" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#aaf74c27f532f29360b63af36218ce55f0ce811f" dependencies = [ "convert_case", "darling", diff --git a/Cargo.nix b/Cargo.nix index 2f34442d..2b136fa7 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -4175,9 +4175,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; libName = "k8s_version"; authors = [ @@ -7829,13 +7829,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.100.1"; + version = "0.100.3"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; libName = "stackable_operator"; authors = [ @@ -8002,9 +8002,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -8037,9 +8037,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; libName = "stackable_shared"; authors = [ @@ -8119,9 +8119,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; libName = "stackable_telemetry"; authors = [ @@ -8229,9 +8229,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; libName = "stackable_versioned"; authors = [ @@ -8273,9 +8273,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "184423db7409f853bd69db7eeecd1affbf97ef40"; - sha256 = "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "aaf74c27f532f29360b63af36218ce55f0ce811f"; + sha256 = "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84"; }; procMacro = true; libName = "stackable_versioned_macros"; diff --git a/crate-hashes.json b/crate-hashes.json index 1c58f755..af9cf1ab 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,10 +1,10 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#k8s-version@0.1.3": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#stackable-operator-derive@0.3.1": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#stackable-operator@0.100.1": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#stackable-shared@0.0.3": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#stackable-telemetry@0.6.1": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#stackable-versioned-macros@0.8.3": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.100.1#stackable-versioned@0.8.3": "1a98klljvifnc168f1wc3d6szcry1lamxgjjdq89plr99p4b953l", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#k8s-version@0.1.3": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#stackable-operator-derive@0.3.1": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#stackable-operator@0.100.3": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#stackable-shared@0.0.3": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#stackable-telemetry@0.6.1": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#stackable-versioned-macros@0.8.3": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fobject-overrides#stackable-versioned@0.8.3": "14vpfvcs8qfbmfkyxcfd8y2l9v282jzns2av14awb6r1xg3dba84", "git+https://github.com/stackabletech/product-config.git?tag=0.8.0#product-config@0.8.0": "1dz70kapm2wdqcr7ndyjji0lhsl98bsq95gnb2lw487wf6yr7987" } \ No newline at end of file diff --git a/deploy/helm/zookeeper-operator/crds/crds.yaml b/deploy/helm/zookeeper-operator/crds/crds.yaml index a386213f..6cb45a32 100644 --- a/deploy/helm/zookeeper-operator/crds/crds.yaml +++ b/deploy/helm/zookeeper-operator/crds/crds.yaml @@ -186,6 +186,13 @@ spec: nullable: true type: string type: object + objectOverrides: + default: [] + description: TODO docs + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array servers: description: |- This struct represents a role - e.g. HDFS datanodes or Trino workers. It has a key-value-map containing @@ -1029,6 +1036,13 @@ spec: nullable: true type: string type: object + objectOverrides: + default: [] + description: TODO docs + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array type: object status: nullable: true diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 2212af05..189c7ab1 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -23,6 +23,7 @@ use stackable_operator::{ }, kube::{CustomResource, ResourceExt, runtime::reflector::ObjectRef}, memory::{BinaryMultiple, MemoryQuantity}, + patchinator::ObjectOverrides, product_config_utils::{self, Configuration}, product_logging::{self, spec::Logging}, role_utils::{GenericRoleConfig, JavaCommonConfig, Role, RoleGroup, RoleGroupRef}, @@ -128,7 +129,7 @@ pub mod versioned { /// A ZooKeeper cluster stacklet. This resource is managed by the Stackable operator for Apache ZooKeeper. /// Find more information on how to use it and the resources that the operator generates in the /// [operator documentation](DOCS_BASE_URL_PLACEHOLDER/zookeeper/). - #[derive(Clone, CustomResource, Debug, Deserialize, JsonSchema, PartialEq, Serialize)] + #[derive(Clone, CustomResource, Debug, Deserialize, JsonSchema, Serialize)] #[versioned(crd( group = "zookeeper.stackable.tech", plural = "zookeeperclusters", @@ -155,8 +156,8 @@ pub mod versioned { pub servers: Option>, - /// TODO docs - pub object_overrides: Option, + #[serde(flatten)] + pub object_overrides: ObjectOverrides, } #[derive(Clone, Debug, Deserialize, JsonSchema, PartialEq, Serialize)] @@ -293,7 +294,7 @@ pub mod versioned { /// /// You can learn more about this in the /// [Isolating clients with ZNodes usage guide](DOCS_BASE_URL_PLACEHOLDER/zookeeper/usage_guide/isolating_clients_with_znodes). - #[derive(Clone, CustomResource, Debug, Deserialize, JsonSchema, PartialEq, Serialize)] + #[derive(Clone, CustomResource, Debug, Deserialize, JsonSchema, Serialize)] #[versioned(crd( group = "zookeeper.stackable.tech", plural = "zookeeperznodes", @@ -307,6 +308,9 @@ pub mod versioned { /// The reference to the ZookeeperCluster that this ZNode belongs to. #[serde(default)] pub cluster_ref: ClusterRef, + + #[serde(flatten)] + pub object_overrides: ObjectOverrides, } #[derive(Clone, Default, Debug, Deserialize, Eq, JsonSchema, PartialEq, Serialize)] diff --git a/rust/operator-binary/src/operations/pdb.rs b/rust/operator-binary/src/operations/pdb.rs index 3f29ca37..55443159 100644 --- a/rust/operator-binary/src/operations/pdb.rs +++ b/rust/operator-binary/src/operations/pdb.rs @@ -28,7 +28,7 @@ pub async fn add_pdbs( zookeeper: &v1alpha1::ZookeeperCluster, role: &ZookeeperRole, client: &Client, - cluster_resources: &mut ClusterResources, + cluster_resources: &mut ClusterResources<'_>, ) -> Result<(), Error> { if !pdb.enabled { return Ok(()); diff --git a/rust/operator-binary/src/zk_controller.rs b/rust/operator-binary/src/zk_controller.rs index 4673db71..9735249d 100644 --- a/rust/operator-binary/src/zk_controller.rs +++ b/rust/operator-binary/src/zk_controller.rs @@ -373,7 +373,7 @@ pub async fn reconcile_zk( ZK_CONTROLLER_NAME, &zk.object_ref(&()), ClusterResourceApplyStrategy::from(&zk.spec.cluster_operation), - zk.spec.object_overrides.as_ref(), + &zk.spec.object_overrides, ) .context(CreateClusterResourcesSnafu)?; diff --git a/rust/operator-binary/src/znode_controller.rs b/rust/operator-binary/src/znode_controller.rs index 4929d4cf..5cc483f5 100644 --- a/rust/operator-binary/src/znode_controller.rs +++ b/rust/operator-binary/src/znode_controller.rs @@ -287,7 +287,7 @@ async fn reconcile_apply( ZNODE_CONTROLLER_NAME, &znode.object_ref(&()), ClusterResourceApplyStrategy::from(&zk.spec.cluster_operation), - zk.spec.object_overrides.as_ref(), + &znode.spec.object_overrides, ) .context(ZnodeMissingExpectedKeysSnafu { znode })?;