@@ -32,7 +32,6 @@ import (
32
32
"k8s.io/apimachinery/pkg/fields"
33
33
"k8s.io/apimachinery/pkg/util/intstr"
34
34
"k8s.io/apimachinery/pkg/util/runtime"
35
- "k8s.io/apimachinery/pkg/util/wait"
36
35
clientset "k8s.io/client-go/kubernetes"
37
36
"k8s.io/client-go/kubernetes/scheme"
38
37
unversionedcore "k8s.io/client-go/kubernetes/typed/core/v1"
@@ -51,7 +50,6 @@ import (
51
50
"k8s.io/ingress/core/pkg/ingress/defaults"
52
51
"k8s.io/ingress/core/pkg/ingress/resolver"
53
52
"k8s.io/ingress/core/pkg/ingress/status"
54
- "k8s.io/ingress/core/pkg/ingress/status/leaderelection/resourcelock"
55
53
"k8s.io/ingress/core/pkg/ingress/store"
56
54
"k8s.io/ingress/core/pkg/k8s"
57
55
"k8s.io/ingress/core/pkg/net/ssl"
@@ -99,8 +97,6 @@ type GenericController struct {
99
97
// local store of SSL certificates
100
98
// (only certificates used in ingress)
101
99
sslCertTracker * sslCertTracker
102
- // store of secret names referenced from Ingress
103
- secretTracker * secretTracker
104
100
105
101
syncRateLimiter flowcontrol.RateLimiter
106
102
@@ -167,7 +163,6 @@ func newIngressController(config *Configuration) *GenericController {
167
163
Component : "ingress-controller" ,
168
164
}),
169
165
sslCertTracker : newSSLCertTracker (),
170
- secretTracker : newSecretTracker (),
171
166
}
172
167
173
168
ic .syncQueue = task .NewTaskQueue (ic .syncIngress )
@@ -219,39 +214,36 @@ func newIngressController(config *Configuration) *GenericController {
219
214
}
220
215
221
216
secrEventHandler := cache.ResourceEventHandlerFuncs {
217
+ AddFunc : func (obj interface {}) {
218
+ sec := obj .(* api.Secret )
219
+ key := fmt .Sprintf ("%v/%v" , sec .Namespace , sec .Name )
220
+ if ic .secrReferenced (sec .Namespace , sec .Name ) {
221
+ ic .syncSecret (key )
222
+ }
223
+ },
222
224
UpdateFunc : func (old , cur interface {}) {
223
225
if ! reflect .DeepEqual (old , cur ) {
224
- ic .syncSecret ()
226
+ sec := cur .(* api.Secret )
227
+ key := fmt .Sprintf ("%v/%v" , sec .Namespace , sec .Name )
228
+ ic .syncSecret (key )
225
229
}
226
230
},
227
231
DeleteFunc : func (obj interface {}) {
228
232
sec := obj .(* api.Secret )
229
233
key := fmt .Sprintf ("%v/%v" , sec .Namespace , sec .Name )
230
- ic .sslCertTracker .Delete (key )
231
- ic .secretTracker .Delete (key )
234
+ ic .sslCertTracker .DeleteAll (key )
232
235
},
233
236
}
234
237
235
238
eventHandler := cache.ResourceEventHandlerFuncs {
236
239
AddFunc : func (obj interface {}) {
237
- ep := obj .(* api.Endpoints )
238
- _ , found := ep .Annotations [resourcelock .LeaderElectionRecordAnnotationKey ]
239
- if found {
240
- return
241
- }
242
240
ic .syncQueue .Enqueue (obj )
243
241
},
244
242
DeleteFunc : func (obj interface {}) {
245
243
ic .syncQueue .Enqueue (obj )
246
244
},
247
245
UpdateFunc : func (old , cur interface {}) {
248
246
if ! reflect .DeepEqual (old , cur ) {
249
- ep := cur .(* api.Endpoints )
250
- _ , found := ep .Annotations [resourcelock .LeaderElectionRecordAnnotationKey ]
251
- if found {
252
- return
253
- }
254
-
255
247
ic .syncQueue .Enqueue (cur )
256
248
}
257
249
},
@@ -754,8 +746,8 @@ func (ic *GenericController) getBackendServers() ([]*ingress.Backend, []*ingress
754
746
755
747
// GetAuthCertificate ...
756
748
func (ic GenericController ) GetAuthCertificate (secretName string ) (* resolver.AuthSSLCert , error ) {
757
- if _ , exists := ic .secretTracker .Get (secretName ); ! exists {
758
- ic .secretTracker . Add ( secretName , secretName )
749
+ if _ , exists := ic .sslCertTracker .Get (secretName ); ! exists {
750
+ ic .syncSecret ( secretName )
759
751
}
760
752
761
753
_ , err := ic .GetSecret (secretName )
@@ -1168,9 +1160,9 @@ func (ic GenericController) extractSecretNames(ing *extensions.Ingress) {
1168
1160
}
1169
1161
1170
1162
key := fmt .Sprintf ("%v/%v" , ing .Namespace , tls .SecretName )
1171
- _ , exists := ic .secretTracker .Get (key )
1163
+ _ , exists := ic .sslCertTracker .Get (key )
1172
1164
if ! exists {
1173
- ic .secretTracker . Add ( key , key )
1165
+ ic .syncSecret ( key )
1174
1166
}
1175
1167
}
1176
1168
}
@@ -1219,8 +1211,6 @@ func (ic GenericController) Start() {
1219
1211
1220
1212
go ic .syncQueue .Run (10 * time .Second , ic .stopCh )
1221
1213
1222
- go wait .Forever (ic .syncSecret , 10 * time .Second )
1223
-
1224
1214
if ic .syncStatus != nil {
1225
1215
go ic .syncStatus .Run (ic .stopCh )
1226
1216
}
0 commit comments