diff --git a/crates/stackable-operator/CHANGELOG.md b/crates/stackable-operator/CHANGELOG.md index 22f82faa6..e5526d5b4 100644 --- a/crates/stackable-operator/CHANGELOG.md +++ b/crates/stackable-operator/CHANGELOG.md @@ -7,8 +7,11 @@ All notable changes to this project will be documented in this file. ### Added - Add the Cargo feature `kube-cel` that enables the `cel` feature on the `kube` crate ([1259]). +- [v2]: Make `ResourceNames::ensure_max_length` public ([#1260]). +- [v2]: Add `MAX_ANNOTATION_NAME_LENGTH` constant with a value of `63` ([#1260]). -[1259]: https://github.com/stackabletech/operator-rs/pull/1259 +[#1259]: https://github.com/stackabletech/operator-rs/pull/1259 +[#1260]: https://github.com/stackabletech/operator-rs/pull/1260 ## [0.115.0] - 2026-08-04 diff --git a/crates/stackable-operator/src/v2/macros/attributed_string_type.rs b/crates/stackable-operator/src/v2/macros/attributed_string_type.rs index e3cfbd689..b7c457446 100644 --- a/crates/stackable-operator/src/v2/macros/attributed_string_type.rs +++ b/crates/stackable-operator/src/v2/macros/attributed_string_type.rs @@ -6,6 +6,9 @@ use strum::{EnumDiscriminants, IntoStaticStr}; /// Duplicates the private constant [`crate::kvp::LABEL_VALUE_MAX_LEN`] pub const MAX_LABEL_VALUE_LENGTH: usize = 63; +/// Maximum length of annotation names +pub const MAX_ANNOTATION_NAME_LENGTH: usize = 63; + #[derive(Debug, EnumDiscriminants, Snafu)] #[snafu(visibility(pub))] #[strum_discriminants(derive(IntoStaticStr))] diff --git a/crates/stackable-operator/src/v2/role_group_utils.rs b/crates/stackable-operator/src/v2/role_group_utils.rs index 1b25d2266..0c83ff459 100644 --- a/crates/stackable-operator/src/v2/role_group_utils.rs +++ b/crates/stackable-operator/src/v2/role_group_utils.rs @@ -99,7 +99,11 @@ impl ResourceNames { /// `max_length < 1 /* character */ + 1 /* dash */ + hash_length`. /// /// Kubernetes object names cannot contain non-ASCII characters. - fn ensure_max_length(resource_name: String, max_length: usize, hash_length: usize) -> String { + pub fn ensure_max_length( + resource_name: String, + max_length: usize, + hash_length: usize, + ) -> String { assert!(resource_name.is_ascii()); assert!(max_length >= 1 /* character */ + 1 /* dash */ + hash_length);