@@ -52,7 +52,7 @@ type resourceSyncFunc func(destination, source resourcesynccontroller.ResourceLo
52
52
// resources to sync.
53
53
// It returns the observed config, sync rules and possibly an error. Nil sync rules mean to ignore all resources
54
54
// in case of error. Otherwise, resources are deleted by default and the returned sync rules are taken as overrides of that.
55
- type observeAPIServerConfigFunc func (apiServer * configv1.APIServer , recorder events.Recorder , previouslyObservedConfig map [string ]interface {}) (map [string ]interface {}, syncActionRules , []error )
55
+ type observeAPIServerConfigFunc func (apiServer * configv1.APIServer , recorder events.Recorder , previouslyObservedConfig map [string ]interface {}, listers * configobservation. Listers ) (map [string ]interface {}, syncActionRules , []error )
56
56
57
57
// ObserveUserClientCABundle returns an ObserveConfigFunc that observes a user managed certificate bundle containing
58
58
// signers that will be recognized for incoming client certificates in addition to the operator managed signers.
@@ -74,7 +74,7 @@ var ObserveNamedCertificates configobserver.ObserveConfigFunc = (&apiServerObser
74
74
75
75
// observeUserClientCABundle observes a user managed ConfigMap containing a certificate bundle for the signers that will
76
76
// be recognized for incoming client certificates in addition to the operator managed signers.
77
- func observeUserClientCABundle (apiServer * configv1.APIServer , recorder events.Recorder , previouslyObservedConfig map [string ]interface {}) (map [string ]interface {}, syncActionRules , []error ) {
77
+ func observeUserClientCABundle (apiServer * configv1.APIServer , recorder events.Recorder , previouslyObservedConfig map [string ]interface {}, listers * configobservation. Listers ) (map [string ]interface {}, syncActionRules , []error ) {
78
78
configMapName := apiServer .Spec .ClientCA .Name
79
79
if len (configMapName ) == 0 {
80
80
return nil , nil , nil // previously observed resource (if any) should be deleted
@@ -88,7 +88,7 @@ func observeUserClientCABundle(apiServer *configv1.APIServer, recorder events.Re
88
88
89
89
// observeNamedCertificates observes user managed Secrets containing TLS cert info for serving secure traffic to
90
90
// specific hostnames.
91
- func observeNamedCertificates (apiServer * configv1.APIServer , recorder events.Recorder , previouslyObservedConfig map [string ]interface {}) (map [string ]interface {}, syncActionRules , []error ) {
91
+ func observeNamedCertificates (apiServer * configv1.APIServer , recorder events.Recorder , previouslyObservedConfig map [string ]interface {}, listers * configobservation. Listers ) (map [string ]interface {}, syncActionRules , []error ) {
92
92
var errs []error
93
93
observedConfig := map [string ]interface {}{}
94
94
@@ -142,6 +142,11 @@ func observeNamedCertificates(apiServer *configv1.APIServer, recorder events.Rec
142
142
recorder .Warningf ("ObserveNamedCertificatesFailed" , err .Error ())
143
143
return previouslyObservedConfig , nil , append (errs , err )
144
144
}
145
+
146
+ // check that secret exists and readable by operator
147
+ if _ , err := listers .ConfigSecretLister ().Secrets (operatorclient .GlobalUserSpecifiedConfigNamespace ).Get (namedCertificate .ServingCertificate .Name ); err != nil {
148
+ return previouslyObservedConfig , nil , append (errs , err )
149
+ }
145
150
// pick one of the available target resource names
146
151
targetSecretName := fmt .Sprintf (namedUserServingCertResourceNameFormat , index )
147
152
@@ -209,7 +214,7 @@ func (o *apiServerObserver) observe(genericListers configobserver.Listers, recor
209
214
return previouslyObservedConfig , append (errs , err )
210
215
}
211
216
212
- observedConfig , observedResources , errs := o .observerFunc (apiServer , recorder , previouslyObservedConfig )
217
+ observedConfig , observedResources , errs := o .observerFunc (apiServer , recorder , previouslyObservedConfig , & listers )
213
218
214
219
// if we get error during observation, skip the merging and return previous config and errors.
215
220
if len (errs ) > 0 {
0 commit comments