@@ -153,6 +153,8 @@ func (c *CiliumCNI) apply(
153153 return
154154 }
155155
156+ targetNamespace := c .config .DefaultsNamespace ()
157+
156158 var strategy addons.Applier
157159 switch ptr .Deref (cniVar .Strategy , "" ) {
158160 case v1alpha1 .AddonStrategyClusterResourceSet :
@@ -175,9 +177,17 @@ func (c *CiliumCNI) apply(
175177 )
176178 return
177179 }
180+
181+ helmValuesSourceRefName := c .config .helmAddonConfig .defaultValuesTemplateConfigMapName
182+ if cniVar .Values != nil && cniVar .Values .SourceRef != nil {
183+ helmValuesSourceRefName = cniVar .Values .SourceRef .Name
184+ // Use cluster's namespace since Values.SourceRef is always a LocalObjectReference
185+ targetNamespace = cluster .Namespace
186+ }
187+
178188 strategy = addons .NewHelmAddonApplier (
179189 addons .NewHelmAddonConfig (
180- c . config . helmAddonConfig . defaultValuesTemplateConfigMapName ,
190+ helmValuesSourceRefName ,
181191 defaultCiliumNamespace ,
182192 defaultCiliumReleaseName ,
183193 ),
@@ -193,7 +203,7 @@ func (c *CiliumCNI) apply(
193203 return
194204 }
195205
196- if err := strategy .Apply (ctx , cluster , c . config . DefaultsNamespace () , log ); err != nil {
206+ if err := strategy .Apply (ctx , cluster , targetNamespace , log ); err != nil {
197207 resp .SetStatus (runtimehooksv1 .ResponseStatusFailure )
198208 resp .SetMessage (err .Error ())
199209 return
0 commit comments