From 11d9bcdeb8d7d1c638ddf1fd0c35680998c2c922 Mon Sep 17 00:00:00 2001 From: Maxi Wittich Date: Tue, 1 Jul 2025 17:42:46 +0200 Subject: [PATCH 1/5] Add metrics and headless service name functions to RoleGroupRef --- crates/stackable-operator/src/role_utils.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/crates/stackable-operator/src/role_utils.rs b/crates/stackable-operator/src/role_utils.rs index 4cc8861ff..b7a7d8cde 100644 --- a/crates/stackable-operator/src/role_utils.rs +++ b/crates/stackable-operator/src/role_utils.rs @@ -469,6 +469,17 @@ impl RoleGroupRef { pub fn object_name(&self) -> String { format!("{}-{}-{}", self.cluster.name, self.role, self.role_group) } + + /// Set of functions to define service names on rolegroup level. + /// Headless service for cluster internal purposes only. + pub fn rolegroup_headless_service_name(&self) -> String { + format!("{name}-headless", name = self.object_name()) + } + + /// Headless metrics service exposes Prometheus endpoint only + pub fn rolegroup_headless_metrics_service_name(&self) -> String { + format!("{name}-metrics", name = self.object_name()) + } } impl Display for RoleGroupRef { From 9a85f87d2ca3ea5a9dcdd7cf21d979c97c4d93b3 Mon Sep 17 00:00:00 2001 From: Maximilian Wittich <56642549+Maleware@users.noreply.github.com> Date: Wed, 9 Jul 2025 14:35:14 +0200 Subject: [PATCH 2/5] Better descriptions suggested by reviewer Co-authored-by: Techassi --- crates/stackable-operator/src/role_utils.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/crates/stackable-operator/src/role_utils.rs b/crates/stackable-operator/src/role_utils.rs index 0ae241f7b..704b81a02 100644 --- a/crates/stackable-operator/src/role_utils.rs +++ b/crates/stackable-operator/src/role_utils.rs @@ -473,14 +473,24 @@ impl RoleGroupRef { format!("{}-{}-{}", self.cluster.name, self.role, self.role_group) } - /// Set of functions to define service names on rolegroup level. - /// Headless service for cluster internal purposes only. + /// Returns the service name used by rolegroups for cluster internal communication only. + /// + /// The internal use of of this service name is indicated by the `-headless` suffix. + /// This service should not be used for communication to external services or clients + /// and also should not be used to export metrics (like Prometheus). Metrics should be + /// instead exposed via a dedicated service. Use [`Self::rolegroup_metrics_service_name`] + /// instead. pub fn rolegroup_headless_service_name(&self) -> String { format!("{name}-headless", name = self.object_name()) } - /// Headless metrics service exposes Prometheus endpoint only - pub fn rolegroup_headless_metrics_service_name(&self) -> String { + /// Returns the service name used by rolegroups to expose metrics (like Prometheus). + /// + /// The use for metrics only is indicated by the `-metrics` suffix. This service + /// should not be used for any internal communication or any other external + /// communication. For internal communication, use [`Self::rolegroup_headless_service_name`] + /// instead. + pub fn rolegroup_metrics_service_name(&self) -> String { format!("{name}-metrics", name = self.object_name()) } } From 7979a0b02e9727a475570b2bc408e2993126de48 Mon Sep 17 00:00:00 2001 From: Maxi Wittich Date: Wed, 9 Jul 2025 14:39:03 +0200 Subject: [PATCH 3/5] Update Changelog.md --- crates/stackable-operator/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/stackable-operator/CHANGELOG.md b/crates/stackable-operator/CHANGELOG.md index 709d7d816..26bc3347b 100644 --- a/crates/stackable-operator/CHANGELOG.md +++ b/crates/stackable-operator/CHANGELOG.md @@ -30,6 +30,7 @@ All notable changes to this project will be documented in this file. fieldRef: fieldPath: spec.nodeName ``` + - Methods on RoleGroupRef to return the rolegroup service `-headless` and `-metrics` name [#1069]. ### Changed @@ -51,6 +52,7 @@ All notable changes to this project will be documented in this file. [#1060]: https://github.com/stackabletech/operator-rs/pull/1060 [#1064]: https://github.com/stackabletech/operator-rs/pull/1064 [#1068]: https://github.com/stackabletech/operator-rs/pull/1068 +[#1069]: https://github.com/stackabletech/operator-rs/pull/1069 [#1071]: https://github.com/stackabletech/operator-rs/pull/1071 ## [0.93.2] - 2025-05-26 From d05e8a631f73c100ed5d90582ec25a32f6d308f5 Mon Sep 17 00:00:00 2001 From: Maxi Wittich Date: Wed, 9 Jul 2025 14:45:04 +0200 Subject: [PATCH 4/5] Fixing markdown lint --- crates/stackable-operator/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/stackable-operator/CHANGELOG.md b/crates/stackable-operator/CHANGELOG.md index 26bc3347b..ed7822310 100644 --- a/crates/stackable-operator/CHANGELOG.md +++ b/crates/stackable-operator/CHANGELOG.md @@ -30,7 +30,7 @@ All notable changes to this project will be documented in this file. fieldRef: fieldPath: spec.nodeName ``` - - Methods on RoleGroupRef to return the rolegroup service `-headless` and `-metrics` name [#1069]. + - Methods on RoleGroupRef to return the rolegroup service `-headless` and `-metrics` name ([#1069]). ### Changed From f8ccd2addc9df5f710b6ad4c72c9b109001db1f5 Mon Sep 17 00:00:00 2001 From: Maxi Wittich Date: Wed, 9 Jul 2025 14:50:33 +0200 Subject: [PATCH 5/5] Pre-commit is happy now --- crates/stackable-operator/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/stackable-operator/CHANGELOG.md b/crates/stackable-operator/CHANGELOG.md index ed7822310..ade045a96 100644 --- a/crates/stackable-operator/CHANGELOG.md +++ b/crates/stackable-operator/CHANGELOG.md @@ -30,7 +30,8 @@ All notable changes to this project will be documented in this file. fieldRef: fieldPath: spec.nodeName ``` - - Methods on RoleGroupRef to return the rolegroup service `-headless` and `-metrics` name ([#1069]). + +- Methods on RoleGroupRef to return the rolegroup service `-headless` and `-metrics` name ([#1069]). ### Changed