@@ -5,7 +5,10 @@ use stackable_operator::{
55 builder:: meta:: ObjectMetaBuilder ,
66 kvp:: { LabelError , Labels } ,
77 utils:: cluster_info:: KubernetesClusterInfo ,
8- v2:: types:: { common:: Port , operator:: RoleGroupName } ,
8+ v2:: {
9+ builder:: meta:: ownerreference_from_resource,
10+ types:: { common:: Port , operator:: RoleGroupName } ,
11+ } ,
912} ;
1013
1114use crate :: {
@@ -178,6 +181,22 @@ pub(crate) fn pod_refs(cluster: &ValidatedCluster, role: &HdfsNodeRole) -> Vec<H
178181 . collect ( )
179182}
180183
184+ /// Returns an [`ObjectMetaBuilder`] pre-filled with the namespace, the resource `name`, an owner
185+ /// reference back to the cluster, and the given recommended `labels`.
186+ pub ( crate ) fn object_meta (
187+ cluster : & ValidatedCluster ,
188+ name : impl Into < String > ,
189+ labels : Labels ,
190+ ) -> ObjectMetaBuilder {
191+ let mut builder = ObjectMetaBuilder :: new ( ) ;
192+ builder
193+ . name_and_namespace ( cluster)
194+ . name ( name)
195+ . ownerreference ( ownerreference_from_resource ( cluster, None , Some ( true ) ) )
196+ . with_labels ( labels) ;
197+ builder
198+ }
199+
181200/// Builds the common [`ObjectMetaBuilder`] shared by a role group's owned resources
182201/// (the ConfigMap and the StatefulSet): name, namespace, owner reference and the
183202/// recommended labels, all derived from the validated cluster.
@@ -190,7 +209,8 @@ pub(crate) fn rolegroup_metadata(
190209 role : & HdfsNodeRole ,
191210 role_group_name : & RoleGroupName ,
192211) -> ObjectMetaBuilder {
193- cluster. object_meta (
212+ object_meta (
213+ cluster,
194214 cluster
195215 . role_group_resource_names ( role, role_group_name)
196216 . qualified_role_group_name ( )
0 commit comments