@@ -101,13 +101,14 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, sink *sinks.IntegrationS
101101 logger := logging .FromContext (ctx )
102102
103103 logger .Debugw ("Reconciling Trust Bundles" )
104- if err := r .reconcileIntegrationSinkTrustBundles (ctx , sink ); err != nil {
104+ trustBundleConfigMaps , err := r .reconcileIntegrationSinkTrustBundles (ctx , sink )
105+ if err != nil {
105106 logger .Errorw ("Error reconciling Trust Bundles" , zap .Error (err ))
106107 return err
107108 }
108109
109110 logger .Debugw ("Reconciling IntegrationSink Certificate" )
110- _ , err : = r .reconcileIntegrationSinkCertificate (ctx , sink )
111+ _ , err = r .reconcileIntegrationSinkCertificate (ctx , sink )
111112 if err != nil {
112113 logging .FromContext (ctx ).Errorw ("Error reconciling Certificate" , zap .Error (err ))
113114 return err
@@ -121,7 +122,7 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, sink *sinks.IntegrationS
121122 }
122123
123124 logger .Debugw ("Reconciling IntegrationSink Deployment" )
124- _ , err = r .reconcileDeployment (ctx , sink , r .authProxyImage , featureFlags )
125+ _ , err = r .reconcileDeployment (ctx , sink , r .authProxyImage , featureFlags , trustBundleConfigMaps )
125126 if err != nil {
126127 logging .FromContext (ctx ).Errorw ("Error reconciling Pod" , zap .Error (err ))
127128 return err
@@ -148,8 +149,15 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, sink *sinks.IntegrationS
148149 return newReconciledNormal (sink .Namespace , sink .Name )
149150}
150151
151- func (r * Reconciler ) reconcileDeployment (ctx context.Context , sink * sinks.IntegrationSink , authProxyImage string , featureFlags feature.Flags ) (* v1.Deployment , error ) {
152- expected , err := resources .MakeDeploymentSpec (sink , authProxyImage , featureFlags , r .trustBundleConfigMapLister )
152+ func (r * Reconciler ) reconcileDeployment (ctx context.Context , sink * sinks.IntegrationSink , authProxyImage string , featureFlags feature.Flags , trustBundleConfigMaps []* corev1.ConfigMap ) (* v1.Deployment , error ) {
153+ if len (trustBundleConfigMaps ) == 0 {
154+ var err error
155+ trustBundleConfigMaps , err = r .trustBundleConfigMapLister .ConfigMaps (sink .Namespace ).List (eventingtls .TrustBundleSelector )
156+ if err != nil {
157+ return nil , fmt .Errorf ("failed to list trust bundle ConfigMaps: %w" , err )
158+ }
159+ }
160+ expected , err := resources .MakeDeploymentSpec (sink , authProxyImage , featureFlags , trustBundleConfigMaps )
153161 if err != nil {
154162 return nil , fmt .Errorf ("failed to create deployment template: %w" , err )
155163 }
@@ -282,20 +290,21 @@ func (r *Reconciler) deleteIntegrationSinkCertificate(ctx context.Context, sink
282290 return nil
283291}
284292
285- func (r * Reconciler ) reconcileIntegrationSinkTrustBundles (ctx context.Context , sink * sinks.IntegrationSink ) error {
293+ func (r * Reconciler ) reconcileIntegrationSinkTrustBundles (ctx context.Context , sink * sinks.IntegrationSink ) ([] * corev1. ConfigMap , error ) {
286294 gvk := schema.GroupVersionKind {
287295 Group : sinks .SchemeGroupVersion .Group ,
288296 Version : sinks .SchemeGroupVersion .Version ,
289297 Kind : "IntegrationSink" ,
290298 }
291299
292- if _ , err := eventingtls .PropagateTrustBundles (ctx , r .kubeClientSet , r .trustBundleConfigMapLister , gvk , sink ); err != nil {
300+ trustBundleConfigMaps , err := eventingtls .PropagateTrustBundles (ctx , r .kubeClientSet , r .trustBundleConfigMapLister , gvk , sink )
301+ if err != nil {
293302 sink .Status .MarkFailedTrustBundlePropagation ("FailedTrustBundlePropagation" , err .Error ())
294- return err
303+ return nil , err
295304 }
296305 sink .Status .MarkTrustBundlePropagated ()
297306
298- return nil
307+ return trustBundleConfigMaps , nil
299308}
300309
301310func (r * Reconciler ) reconcileAddress (ctx context.Context , sink * sinks.IntegrationSink ) error {
0 commit comments