@@ -213,7 +213,7 @@ func (r *ClusterSummaryReconciler) Reconcile(ctx context.Context, req ctrl.Reque
213213 r .resetFeatureStatus (clusterSummaryScope , configv1beta1 .FeatureStatusFailed )
214214 // if cluster is not ready, do nothing and don't queue for reconciliation.
215215 // When cluster becomes ready, all matching clusterSummaries will be requeued for reconciliation
216- _ = r .updateMaps (clusterSummaryScope , logger )
216+ _ = r .updateMaps (ctx , clusterSummaryScope , logger )
217217
218218 return reconcile.Result {}, nil
219219 }
@@ -337,7 +337,7 @@ func (r *ClusterSummaryReconciler) reconcileNormal(
337337 return reconcile.Result {}, nil
338338 }
339339
340- err := r .updateMaps (clusterSummaryScope , logger )
340+ err := r .updateMaps (ctx , clusterSummaryScope , logger )
341341 if err != nil {
342342 return reconcile.Result {}, err
343343 }
@@ -711,13 +711,15 @@ func (r *ClusterSummaryReconciler) cleanMaps(clusterSummaryScope *scope.ClusterS
711711 }
712712}
713713
714- func (r * ClusterSummaryReconciler ) updateMaps (clusterSummaryScope * scope.ClusterSummaryScope , logger logr.Logger ) error {
714+ func (r * ClusterSummaryReconciler ) updateMaps (ctx context.Context , clusterSummaryScope * scope.ClusterSummaryScope ,
715+ logger logr.Logger ) error {
716+
715717 if clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .SyncMode == configv1beta1 .SyncModeOneTime {
716718 logger .V (logs .LogDebug ).Info ("sync mode is one time. No need to reconcile on policies change." )
717719 return nil
718720 }
719721 logger .V (logs .LogDebug ).Info ("update policy map" )
720- currentReferences , err := r .getCurrentReferences (clusterSummaryScope )
722+ currentReferences , err := r .getCurrentReferences (ctx , clusterSummaryScope )
721723 if err != nil {
722724 logger .V (logs .LogInfo ).Info ("failed to get current references: %v" , err )
723725 return err
@@ -834,21 +836,21 @@ func (r *ClusterSummaryReconciler) shouldReconcile(clusterSummaryScope *scope.Cl
834836 return false
835837}
836838
837- func (r * ClusterSummaryReconciler ) getCurrentReferences (clusterSummaryScope * scope. ClusterSummaryScope ,
838- ) (* libsveltosset.Set , error ) {
839+ func (r * ClusterSummaryReconciler ) getCurrentReferences (ctx context. Context ,
840+ clusterSummaryScope * scope. ClusterSummaryScope ) (* libsveltosset.Set , error ) {
839841
840- currentReferences , err := r .getPolicyRefReferences (clusterSummaryScope )
842+ currentReferences , err := r .getPolicyRefReferences (ctx , clusterSummaryScope )
841843 if err != nil {
842844 return nil , err
843845 }
844846
845- kustomizationRefs , err := r .getKustomizationRefReferences (clusterSummaryScope )
847+ kustomizationRefs , err := r .getKustomizationRefReferences (ctx , clusterSummaryScope )
846848 if err != nil {
847849 return nil , err
848850 }
849851 currentReferences .Append (kustomizationRefs )
850852
851- helmRefs , err := r .getHelmChartsReferences (clusterSummaryScope )
853+ helmRefs , err := r .getHelmChartsReferences (ctx , clusterSummaryScope )
852854 if err != nil {
853855 return nil , err
854856 }
@@ -858,17 +860,22 @@ func (r *ClusterSummaryReconciler) getCurrentReferences(clusterSummaryScope *sco
858860}
859861
860862// getPolicyRefReferences get all references considering the PolicyRef section
861- func (r * ClusterSummaryReconciler ) getPolicyRefReferences (clusterSummaryScope * scope. ClusterSummaryScope ,
862- ) (* libsveltosset.Set , error ) {
863+ func (r * ClusterSummaryReconciler ) getPolicyRefReferences (ctx context. Context ,
864+ clusterSummaryScope * scope. ClusterSummaryScope ) (* libsveltosset.Set , error ) {
863865
866+ cs := clusterSummaryScope .ClusterSummary
864867 currentReferences := & libsveltosset.Set {}
865868 for i := range clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .PolicyRefs {
866869 referencedNamespace := clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .PolicyRefs [i ].Namespace
867- namespace := libsveltostemplate .GetReferenceResourceNamespace (clusterSummaryScope .Namespace (), referencedNamespace )
870+ namespace , err := libsveltostemplate .GetReferenceResourceNamespace (ctx , getManagementClusterClient (),
871+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , referencedNamespace , cs .Spec .ClusterType )
872+ if err != nil {
873+ return nil , err
874+ }
868875
869- cs := clusterSummaryScope . ClusterSummary
870- referencedName , err := libsveltostemplate . GetReferenceResourceName ( cs .Spec .ClusterNamespace , cs .Spec .ClusterName ,
871- string ( cs . Spec . ClusterType ), clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .PolicyRefs [i ].Name )
876+ referencedName , err := libsveltostemplate . GetReferenceResourceName ( ctx , getManagementClusterClient (),
877+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName ,
878+ clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .PolicyRefs [i ].Name , cs . Spec . ClusterType )
872879 if err != nil {
873880 return nil , err
874881 }
@@ -884,21 +891,24 @@ func (r *ClusterSummaryReconciler) getPolicyRefReferences(clusterSummaryScope *s
884891}
885892
886893// getKustomizationRefReferences get all references considering the KustomizationRef section
887- func (r * ClusterSummaryReconciler ) getKustomizationRefReferences (clusterSummaryScope * scope. ClusterSummaryScope ,
888- ) (* libsveltosset.Set , error ) {
894+ func (r * ClusterSummaryReconciler ) getKustomizationRefReferences (ctx context. Context ,
895+ clusterSummaryScope * scope. ClusterSummaryScope ) (* libsveltosset.Set , error ) {
889896
897+ cs := clusterSummaryScope .ClusterSummary
890898 currentReferences := & libsveltosset.Set {}
891899 for i := range clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .KustomizationRefs {
892900 kr := & clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .KustomizationRefs [i ]
893901
894902 referencedNamespace := kr .Namespace
895903
896- namespace := libsveltostemplate .GetReferenceResourceNamespace (
897- clusterSummaryScope .Namespace (), referencedNamespace )
904+ namespace , err := libsveltostemplate .GetReferenceResourceNamespace (ctx , getManagementClusterClient (),
905+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , referencedNamespace , cs .Spec .ClusterType )
906+ if err != nil {
907+ return nil , err
908+ }
898909
899- cs := clusterSummaryScope .ClusterSummary
900- referencedName , err := libsveltostemplate .GetReferenceResourceName (cs .Spec .ClusterNamespace ,
901- cs .Spec .ClusterName , string (cs .Spec .ClusterType ), kr .Name )
910+ referencedName , err := libsveltostemplate .GetReferenceResourceName (ctx , getManagementClusterClient (),
911+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , kr .Name , cs .Spec .ClusterType )
902912 if err != nil {
903913 return nil , err
904914 }
@@ -921,7 +931,7 @@ func (r *ClusterSummaryReconciler) getKustomizationRefReferences(clusterSummaryS
921931 Name : referencedName ,
922932 })
923933
924- valuesFromReferences , err := getKustomizationValueFrom (clusterSummaryScope , kr )
934+ valuesFromReferences , err := getKustomizationValueFrom (ctx , clusterSummaryScope , kr )
925935 if err != nil {
926936 return nil , err
927937 }
@@ -933,19 +943,22 @@ func (r *ClusterSummaryReconciler) getKustomizationRefReferences(clusterSummaryS
933943// getKustomizationValueFrom gets referenced ConfigMap/Secret in a KustomizationRef.
934944// KustomizationRef can reference both ConfigMap/Secret each containing key-value pairs that will be used, if defined,
935945// to replace placeholder value in the output generated by Kustomize SDK.
936- func getKustomizationValueFrom (clusterSummaryScope * scope. ClusterSummaryScope , kr * configv1beta1. KustomizationRef ,
937- ) (* libsveltosset.Set , error ) {
946+ func getKustomizationValueFrom (ctx context. Context , clusterSummaryScope * scope. ClusterSummaryScope ,
947+ kr * configv1beta1. KustomizationRef ) (* libsveltosset.Set , error ) {
938948
939949 currentValuesFromReferences := & libsveltosset.Set {}
940950
951+ cs := clusterSummaryScope .ClusterSummary
941952 for i := range kr .ValuesFrom {
942953 referencedNamespace := kr .ValuesFrom [i ].Namespace
943- namespace := libsveltostemplate .GetReferenceResourceNamespace (
944- clusterSummaryScope .Namespace (), referencedNamespace )
954+ namespace , err := libsveltostemplate .GetReferenceResourceNamespace (ctx , getManagementClusterClient (),
955+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , referencedNamespace , cs .Spec .ClusterType )
956+ if err != nil {
957+ return nil , err
958+ }
945959
946- cs := clusterSummaryScope .ClusterSummary
947- referencedName , err := libsveltostemplate .GetReferenceResourceName (cs .Spec .ClusterNamespace ,
948- cs .Spec .ClusterName , string (cs .Spec .ClusterType ), kr .ValuesFrom [i ].Name )
960+ referencedName , err := libsveltostemplate .GetReferenceResourceName (ctx , getManagementClusterClient (),
961+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , kr .ValuesFrom [i ].Name , cs .Spec .ClusterType )
949962 if err != nil {
950963 return nil , err
951964 }
@@ -962,8 +975,8 @@ func getKustomizationValueFrom(clusterSummaryScope *scope.ClusterSummaryScope, k
962975}
963976
964977// getHelmChartsReferences get all references considering the HelmChart section
965- func (r * ClusterSummaryReconciler ) getHelmChartsReferences (clusterSummaryScope * scope. ClusterSummaryScope ,
966- ) (* libsveltosset.Set , error ) {
978+ func (r * ClusterSummaryReconciler ) getHelmChartsReferences (ctx context. Context ,
979+ clusterSummaryScope * scope. ClusterSummaryScope ) (* libsveltosset.Set , error ) {
967980
968981 currentReferences := & libsveltosset.Set {}
969982 for i := range clusterSummaryScope .ClusterSummary .Spec .ClusterProfileSpec .HelmCharts {
@@ -977,7 +990,7 @@ func (r *ClusterSummaryReconciler) getHelmChartsReferences(clusterSummaryScope *
977990 currentReferences .Insert (sourceRef )
978991 }
979992
980- valuesFromReferences , err := getHelmChartValueFrom (clusterSummaryScope , hc )
993+ valuesFromReferences , err := getHelmChartValueFrom (ctx , clusterSummaryScope , hc )
981994 if err != nil {
982995 return nil , err
983996 }
@@ -988,19 +1001,22 @@ func (r *ClusterSummaryReconciler) getHelmChartsReferences(clusterSummaryScope *
9881001
9891002// getHelmChartValueFrom gets referenced ConfigMap/Secret in a HelmChart.
9901003// HelmChart can reference both ConfigMap/Secret each containing configuration for the helm release.
991- func getHelmChartValueFrom (clusterSummaryScope * scope. ClusterSummaryScope , hc * configv1beta1. HelmChart ,
992- ) (* libsveltosset.Set , error ) {
1004+ func getHelmChartValueFrom (ctx context. Context , clusterSummaryScope * scope. ClusterSummaryScope ,
1005+ hc * configv1beta1. HelmChart ) (* libsveltosset.Set , error ) {
9931006
9941007 currentValuesFromReferences := & libsveltosset.Set {}
9951008
1009+ cs := clusterSummaryScope .ClusterSummary
9961010 for i := range hc .ValuesFrom {
9971011 referencedNamespace := hc .ValuesFrom [i ].Namespace
998- namespace := libsveltostemplate .GetReferenceResourceNamespace (
999- clusterSummaryScope .Namespace (), referencedNamespace )
1012+ namespace , err := libsveltostemplate .GetReferenceResourceNamespace (ctx , getManagementClusterClient (),
1013+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , referencedNamespace , cs .Spec .ClusterType )
1014+ if err != nil {
1015+ return nil , err
1016+ }
10001017
1001- cs := clusterSummaryScope .ClusterSummary
1002- referencedName , err := libsveltostemplate .GetReferenceResourceName (cs .Spec .ClusterNamespace ,
1003- cs .Spec .ClusterName , string (cs .Spec .ClusterType ), hc .ValuesFrom [i ].Name )
1018+ referencedName , err := libsveltostemplate .GetReferenceResourceName (ctx , getManagementClusterClient (),
1019+ cs .Spec .ClusterNamespace , cs .Spec .ClusterName , hc .ValuesFrom [i ].Name , cs .Spec .ClusterType )
10041020 if err != nil {
10051021 return nil , err
10061022 }
0 commit comments