@@ -130,12 +130,6 @@ impl ValidatedCluster {
130130 }
131131 }
132132
133- /// The Kubernetes role name for an [`HbaseRole`] (e.g. `master`, `regionserver`,
134- /// `restserver`).
135- pub fn role_name ( hbase_role : & HbaseRole ) -> RoleName {
136- RoleName :: from_str ( & hbase_role. to_string ( ) ) . expect ( "an HbaseRole name is a valid role name" )
137- }
138-
139133 /// Type-safe names for the per-cluster RBAC resources: the ServiceAccount shared by all
140134 /// Pods, its (namespaced) RoleBinding, and the operator-deployed ClusterRole it binds.
141135 pub fn cluster_resource_names ( & self ) -> role_utils:: ResourceNames {
@@ -153,14 +147,14 @@ impl ValidatedCluster {
153147 ) -> ResourceNames {
154148 ResourceNames {
155149 cluster_name : self . name . clone ( ) ,
156- role_name : Self :: role_name ( hbase_role) ,
150+ role_name : hbase_role. into ( ) ,
157151 role_group_name : role_group_name. clone ( ) ,
158152 }
159153 }
160154
161155 /// Recommended labels for a role-group resource.
162156 pub fn recommended_labels ( & self , role : & HbaseRole , role_group_name : & RoleGroupName ) -> Labels {
163- self . recommended_labels_for ( & Self :: role_name ( role) , role_group_name)
157+ self . recommended_labels_for ( & role. into ( ) , role_group_name)
164158 }
165159
166160 /// Recommended labels for a resource that is not tied to a concrete [`HbaseRole`] (e.g. the
@@ -196,12 +190,7 @@ impl ValidatedCluster {
196190 hbase_role : & HbaseRole ,
197191 role_group_name : & RoleGroupName ,
198192 ) -> Labels {
199- role_group_selector (
200- self ,
201- & product_name ( ) ,
202- & Self :: role_name ( hbase_role) ,
203- role_group_name,
204- )
193+ role_group_selector ( self , & product_name ( ) , & hbase_role. into ( ) , role_group_name)
205194 }
206195
207196 /// Returns an [`ObjectMetaBuilder`] pre-filled with the namespace, an owner reference back to
@@ -326,17 +315,18 @@ pub type HbaseRoleGroupConfig = stackable_operator::v2::role_utils::RoleGroupCon
326315
327316#[ cfg( test) ]
328317mod tests {
318+ use stackable_operator:: v2:: types:: operator:: RoleName ;
329319 use strum:: IntoEnumIterator ;
330320
331- use super :: ValidatedCluster ;
332321 use crate :: crd:: HbaseRole ;
333322
334- /// Locks the invariant behind the `expect` in [`ValidatedCluster::role_name`]: every
335- /// `HbaseRole` variant (present and future) must serialise to a valid `RoleName`.
323+ /// Locks the invariant behind the `expect` in the `From<HbaseRole> for RoleName` impls:
324+ /// every `HbaseRole` variant (present and future) must serialise to a valid `RoleName`.
336325 #[ test]
337326 fn every_hbase_role_serialises_to_a_valid_role_name ( ) {
338327 for role in HbaseRole :: iter ( ) {
339- ValidatedCluster :: role_name ( & role) ;
328+ let _: RoleName = ( & role) . into ( ) ;
329+ let _: RoleName = role. into ( ) ;
340330 }
341331 }
342332}
0 commit comments