@@ -228,10 +228,6 @@ impl ValidatedCluster {
228228 }
229229
230230 /// The given [`KafkaRole`] as a type-safe [`RoleName`].
231- pub fn role_name ( role : & KafkaRole ) -> RoleName {
232- RoleName :: from_str ( & role. to_string ( ) ) . expect ( "a KafkaRole is a valid role name" )
233- }
234-
235231 /// Type-safe names for the per-cluster RBAC resources: the ServiceAccount shared by all
236232 /// Pods, its (namespaced) RoleBinding, and the operator-deployed ClusterRole it binds.
237233 pub fn cluster_resource_names ( & self ) -> role_utils:: ResourceNames {
@@ -249,14 +245,14 @@ impl ValidatedCluster {
249245 ) -> ResourceNames {
250246 ResourceNames {
251247 cluster_name : self . name . clone ( ) ,
252- role_name : Self :: role_name ( role) ,
248+ role_name : role. into ( ) ,
253249 role_group_name : role_group_name. clone ( ) ,
254250 }
255251 }
256252
257253 /// Recommended labels for a role-group resource.
258254 pub fn recommended_labels ( & self , role : & KafkaRole , role_group_name : & RoleGroupName ) -> Labels {
259- self . recommended_labels_for ( & Self :: role_name ( role) , role_group_name)
255+ self . recommended_labels_for ( & role. into ( ) , role_group_name)
260256 }
261257
262258 /// Recommended labels for a resource that is not tied to a concrete [`KafkaRole`], using a free-form role/role-group label value.
@@ -275,11 +271,7 @@ impl ValidatedCluster {
275271 role : & KafkaRole ,
276272 role_group_name : & RoleGroupName ,
277273 ) -> Labels {
278- self . recommended_labels_with (
279- & UNVERSIONED_PRODUCT_VERSION ,
280- & Self :: role_name ( role) ,
281- role_group_name,
282- )
274+ self . recommended_labels_with ( & UNVERSIONED_PRODUCT_VERSION , & role. into ( ) , role_group_name)
283275 }
284276
285277 fn recommended_labels_with (
@@ -301,12 +293,7 @@ impl ValidatedCluster {
301293
302294 /// Selector labels matching the pods of a role group.
303295 pub fn role_group_selector ( & self , role : & KafkaRole , role_group_name : & RoleGroupName ) -> Labels {
304- role_group_selector (
305- self ,
306- & product_name ( ) ,
307- & Self :: role_name ( role) ,
308- role_group_name,
309- )
296+ role_group_selector ( self , & product_name ( ) , & role. into ( ) , role_group_name)
310297 }
311298
312299 /// The name of the broker rolegroup's bootstrap [`Listener`](stackable_operator::crd::listener),
@@ -722,10 +709,11 @@ pub(crate) mod test_support {
722709mod tests {
723710 use std:: collections:: BTreeSet ;
724711
712+ use stackable_operator:: v2:: types:: operator:: RoleName ;
725713 use strum:: IntoEnumIterator ;
726714
727715 use super :: {
728- PodDescriptorsError , ValidatedCluster ,
716+ PodDescriptorsError ,
729717 test_support:: { minimal_kafka, validated_cluster} ,
730718 } ;
731719 use crate :: crd:: role:: KafkaRole ;
@@ -808,12 +796,13 @@ mod tests {
808796 assert_eq ! ( node_ids. len( ) , 3 , "node ids must be unique: {node_ids:?}" ) ;
809797 }
810798
811- /// Locks the invariant behind the `expect` in [`ValidatedCluster::role_name`]: every
812- /// `KafkaRole` variant (present and future) must serialise to a valid `RoleName`.
799+ /// Locks the invariant behind the `expect` in the `From<KafkaRole> for RoleName` impls:
800+ /// every `KafkaRole` variant (present and future) must serialise to a valid `RoleName`.
813801 #[ test]
814802 fn every_kafka_role_serialises_to_a_valid_role_name ( ) {
815803 for role in KafkaRole :: iter ( ) {
816- ValidatedCluster :: role_name ( & role) ;
804+ let _: RoleName = ( & role) . into ( ) ;
805+ let _: RoleName = role. into ( ) ;
817806 }
818807 }
819808}
0 commit comments