From 36f2fbdd1debc93a77cec6c6759a0d1f0ef74a8f Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Wed, 22 Apr 2026 21:08:20 +0200 Subject: [PATCH 1/3] test(oidc-opa): Use the extended subject DN --- rust/operator-binary/src/security/authorization.rs | 1 + tests/templates/kuttl/oidc-opa/25-opa-rego.yaml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rust/operator-binary/src/security/authorization.rs b/rust/operator-binary/src/security/authorization.rs index fee3bdfb..30b2ad14 100644 --- a/rust/operator-binary/src/security/authorization.rs +++ b/rust/operator-binary/src/security/authorization.rs @@ -132,6 +132,7 @@ impl ResolvedNifiAuthorizationConfig { } => { let file_based_mount_path = Self::file_based_mount_path(); + // TODO Calculate the DNs authorizers_xml.push_str(&formatdoc! {r#" file-user-group-provider diff --git a/tests/templates/kuttl/oidc-opa/25-opa-rego.yaml b/tests/templates/kuttl/oidc-opa/25-opa-rego.yaml index 16d60f5d..0ce7c481 100644 --- a/tests/templates/kuttl/oidc-opa/25-opa-rego.yaml +++ b/tests/templates/kuttl/oidc-opa/25-opa-rego.yaml @@ -9,7 +9,8 @@ data: my_nifi_package.rego: | package my_nifi_package - nifi_node_proxy := "CN=generated certificate for pod" + # TODO Parse or use a regular expression to validate the DN + nifi_node_proxy := "DC=local, DC=cluster, DC=svc, DC=test, DC=test-nifi-node-default-headless, DC=test-nifi-node-default-0, CN=generated certificate for pod" nifi_reporting_task_user := "admin" # Setting "resourceNotFound" to true results in the parent resource being evaluated for authorization, From e243ee4557b500999b4279ae9061e3fbb970063c Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Mon, 11 May 2026 16:32:27 +0200 Subject: [PATCH 2/3] feat: Set node DNs in authorizers.xml --- Cargo.lock | 18 ++--- Cargo.nix | 54 +++++++------- Cargo.toml | 4 +- crate-hashes.json | 18 ++--- rust/operator-binary/src/controller.rs | 4 +- .../src/security/authorization.rs | 70 +++++++++++++++++-- rust/operator-binary/src/security/tls.rs | 1 + 7 files changed, 114 insertions(+), 55 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 198cb40e..1392c2dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1582,7 +1582,7 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "darling", "regex", @@ -2993,7 +2993,7 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackable-certs" version = "0.4.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "const-oid", "ecdsa", @@ -3044,7 +3044,7 @@ dependencies = [ [[package]] name = "stackable-operator" version = "0.110.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "base64", "clap", @@ -3085,7 +3085,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "darling", "proc-macro2", @@ -3096,7 +3096,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.1.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "jiff", "k8s-openapi", @@ -3113,7 +3113,7 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "axum", "clap", @@ -3137,7 +3137,7 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.9.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "schemars", "serde", @@ -3150,7 +3150,7 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.9.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "convert_case", "convert_case_extras", @@ -3168,7 +3168,7 @@ dependencies = [ [[package]] name = "stackable-webhook" version = "0.9.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#96f42571ea185a3cd76fedde351fcabbeefcae16" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#9e6a5d726f12d60fbd6546957e82d7334ac47f23" dependencies = [ "arc-swap", "async-trait", diff --git a/Cargo.nix b/Cargo.nix index b7ed7465..6372afd3 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -5106,9 +5106,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "k8s_version"; authors = [ @@ -9891,9 +9891,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "stackable_certs"; authors = [ @@ -10107,9 +10107,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "stackable_operator"; authors = [ @@ -10287,9 +10287,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -10322,9 +10322,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "stackable_shared"; authors = [ @@ -10403,9 +10403,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "stackable_telemetry"; authors = [ @@ -10513,9 +10513,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "stackable_versioned"; authors = [ @@ -10557,9 +10557,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -10625,9 +10625,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "96f42571ea185a3cd76fedde351fcabbeefcae16"; - sha256 = "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "9e6a5d726f12d60fbd6546957e82d7334ac47f23"; + sha256 = "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5"; }; libName = "stackable_webhook"; authors = [ diff --git a/Cargo.toml b/Cargo.toml index e7cc7c1d..ae604a1d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,6 +34,6 @@ tracing = "0.1" url = { version = "2.5.7" } xml-rs = "1.0" -# [patch."https://github.com/stackabletech/operator-rs.git"] -# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +[patch."https://github.com/stackabletech/operator-rs.git"] +stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "feat/annotation-auto-tls-cert-subject-dn" } # stackable-operator = { path = "../operator-rs/crates/stackable-operator" } diff --git a/crate-hashes.json b/crate-hashes.json index 3a28591b..f6f723e9 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,12 +1,12 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#k8s-version@0.1.3": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-certs@0.4.0": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-operator-derive@0.3.1": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-operator@0.110.1": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-shared@0.1.0": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-telemetry@0.6.3": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-versioned-macros@0.9.0": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-versioned@0.9.0": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.110.1#stackable-webhook@0.9.1": "1g6m1rhrvj7szgk6xybcbhn77njj599bldzipi0d50sd5z0m9x3i", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#k8s-version@0.1.3": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-certs@0.4.0": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-operator-derive@0.3.1": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-operator@0.110.1": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-shared@0.1.0": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-telemetry@0.6.3": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-versioned-macros@0.9.0": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-versioned@0.9.0": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", + "git+https://github.com/stackabletech//operator-rs.git?branch=feat%2Fannotation-auto-tls-cert-subject-dn#stackable-webhook@0.9.1": "1nf9m1m4kks349szfxzwypijlgwrbsspdrnyivgm2mwzbkawzzp5", "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/rust/operator-binary/src/controller.rs b/rust/operator-binary/src/controller.rs index cc59ebb6..77532021 100644 --- a/rust/operator-binary/src/controller.rs +++ b/rust/operator-binary/src/controller.rs @@ -542,6 +542,7 @@ pub async fn reconcile_nifi( &merged_config, &proxy_hosts, &git_sync_resources, + &client.kubernetes_cluster_info, ) .await?; @@ -725,6 +726,7 @@ async fn build_node_rolegroup_config_map( merged_config: &NifiConfig, proxy_hosts: &str, git_sync_resources: &git_sync::v1alpha2::GitSyncResources, + cluster_info: &KubernetesClusterInfo, ) -> Result { tracing::debug!("building rolegroup configmaps"); @@ -733,7 +735,7 @@ async fn build_node_rolegroup_config_map( .context(InvalidNifiAuthenticationConfigSnafu)?; let authorizers_xml = authorization_config - .get_authorizers_config(nifi) + .get_authorizers_config(nifi, cluster_info) .context(InvalidNifiAuthorizationConfigSnafu)?; let jvm_sec_props: BTreeMap> = rolegroup_config diff --git a/rust/operator-binary/src/security/authorization.rs b/rust/operator-binary/src/security/authorization.rs index 30b2ad14..252f28eb 100644 --- a/rust/operator-binary/src/security/authorization.rs +++ b/rust/operator-binary/src/security/authorization.rs @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + use indoc::{formatdoc, indoc}; use snafu::{ResultExt, Snafu}; use stackable_operator::{ @@ -8,11 +10,13 @@ use stackable_operator::{ ConfigMap, ConfigMapKeySelector, EnvVar, EnvVarSource, Volume, VolumeMount, }, kube::ResourceExt, + utils::cluster_info::KubernetesClusterInfo, }; use crate::{ config::{NIFI_PVC_STORAGE_DIRECTORY, NifiRepository}, crd::{ + NifiRole, authorization::{NifiAccessPolicyProvider, NifiAuthorization, NifiOpaConfig}, v1alpha1, }, @@ -92,6 +96,7 @@ impl ResolvedNifiAuthorizationConfig { pub fn get_authorizers_config( &self, nifi_cluster: &v1alpha1::NifiCluster, + cluster_info: &KubernetesClusterInfo, ) -> Result { let mut authorizers_xml = indoc! {r#" @@ -132,16 +137,69 @@ impl ResolvedNifiAuthorizationConfig { } => { let file_based_mount_path = Self::file_based_mount_path(); - // TODO Calculate the DNs + let namespace = nifi_cluster.namespace().expect(""); + + let mut dns = vec![]; + + for _role_name in [NifiRole::Node.to_string()] { + let role_groups = nifi_cluster + .spec + .nodes + .iter() + .flat_map(|role| &role.role_groups) + .collect::>(); + + for (role_group_name, role_group) in role_groups { + let headless_service_name = nifi_cluster + .node_rolegroup_ref(role_group_name) + .rolegroup_headless_service_name(); + + let stateful_set_name = nifi_cluster.name_any(); + + for replica in 0..role_group.replicas.unwrap_or(1) { + let cn = "cn=generated certificate for pod"; + let dc = cluster_info + .cluster_domain + .split('.') + .rev() + .chain([ + "svc", + &namespace, + &headless_service_name, + &format!("{stateful_set_name}-{replica}",), + ]) + .map(|component| format!("dc={component}")) + .collect::>(); + + let mut dn = vec![cn.to_string()]; + dn.extend(dc); + let dn = dn.join(","); + + dns.push(dn); + } + } + } + + let user_group_povider_dns = dns.iter().enumerate().map(|(i, dn)| format!(" {dn}")).collect::>().join("\n"); + + let access_policy_provider_dns = dns + .iter() + .enumerate() + .map(|(i, dn)| { + format!( + " {dn}" + ) + }) + .collect::>() + .join("\n"); + authorizers_xml.push_str(&formatdoc! {r#" file-user-group-provider org.apache.nifi.authorization.FileUserGroupProvider {file_based_mount_path}/users.xml {initial_admin_user} - - - CN=generated certificate for pod + {user_group_povider_dns} @@ -150,9 +208,7 @@ impl ResolvedNifiAuthorizationConfig { file-user-group-provider {file_based_mount_path}/authorizations.xml {initial_admin_user} - - - CN=generated certificate for pod + {access_policy_provider_dns} diff --git a/rust/operator-binary/src/security/tls.rs b/rust/operator-binary/src/security/tls.rs index 196b7a66..11004f9d 100644 --- a/rust/operator-binary/src/security/tls.rs +++ b/rust/operator-binary/src/security/tls.rs @@ -53,6 +53,7 @@ pub(crate) fn build_tls_volume( .with_pod_scope() .with_format(secret_format) .with_auto_tls_cert_lifetime(*requested_secret_lifetime) + .with_auto_tls_cert_domain_components_in_subject_dn(true) .build() .context(TlsCertSecretClassVolumeBuildSnafu)?, ) From 760bf718d0cad1ce852d56ef949c1db3aab52663 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Thu, 28 May 2026 17:59:18 +0200 Subject: [PATCH 3/3] tests: Use specific operator versions in the tests --- tests/release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/release.yaml b/tests/release.yaml index 04ee6498..c7fb777a 100644 --- a/tests/release.yaml +++ b/tests/release.yaml @@ -9,7 +9,7 @@ releases: commons: operatorVersion: 0.0.0-dev secret: - operatorVersion: 0.0.0-dev + operatorVersion: 0.0.0-pr708 listener: operatorVersion: 0.0.0-dev opa: @@ -23,4 +23,4 @@ releases: trino: operatorVersion: 0.0.0-dev nifi: - operatorVersion: 0.0.0-dev + operatorVersion: 0.0.0-pr941