@@ -10,8 +10,8 @@ import (
1010 corev1 "k8s.io/api/core/v1"
1111 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1212 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
13- "k8s.io/apimachinery/pkg/runtime/schema"
1413 clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
14+ "sigs.k8s.io/cluster-api/controllers/external"
1515 "sigs.k8s.io/cluster-api/controllers/remote"
1616 ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
1717 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -80,7 +80,7 @@ func EnsureClusterOwnerReferenceForObject(
8080 cluster .Namespace ,
8181 )
8282 if err != nil {
83- return fmt . Errorf ( "failed to get object from TypedLocalObjectReference: %w" , err )
83+ return err
8484 }
8585
8686 err = controllerutil .SetOwnerReference (cluster , targetObj , cl .Scheme ())
@@ -99,23 +99,24 @@ func EnsureClusterOwnerReferenceForObject(
9999func GetResourceFromTypedLocalObjectReference (
100100 ctx context.Context ,
101101 cl ctrlclient.Client ,
102- objectRef * corev1.TypedLocalObjectReference ,
102+ typedLocalObjectRef * corev1.TypedLocalObjectReference ,
103103 ns string ,
104104) (* unstructured.Unstructured , error ) {
105- targetObj := & unstructured.Unstructured {}
106-
107105 apiVersion := corev1 .SchemeGroupVersion .String ()
108- if objectRef .APIGroup != nil {
109- apiVersion = * objectRef .APIGroup
106+ if typedLocalObjectRef .APIGroup != nil {
107+ apiVersion = * typedLocalObjectRef .APIGroup
108+ }
109+
110+ objectRef := & corev1.ObjectReference {
111+ APIVersion : apiVersion ,
112+ Kind : typedLocalObjectRef .Kind ,
113+ Name : typedLocalObjectRef .Name ,
114+ Namespace : ns ,
110115 }
111116
112- targetObj .SetGroupVersionKind (schema .FromAPIVersionAndKind (apiVersion , objectRef .Kind ))
113- err := cl .Get (ctx , ctrlclient.ObjectKey {
114- Namespace : ns ,
115- Name : objectRef .Name ,
116- }, targetObj )
117+ targetObj , err := external .Get (ctx , cl , objectRef , ns )
117118 if err != nil {
118- return nil , err
119+ return nil , fmt . Errorf ( "failed to get resource from object reference: %w" , err )
119120 }
120121
121122 return targetObj , nil
0 commit comments