Remove secrets from ingress after a Delete event

This commit is contained in:
Manuel de Brito Fontes 2017-05-11 21:50:43 -03:00
parent 4bd4bf3be6
commit a537d2d0fa
6 changed files with 24 additions and 26 deletions

View file

@ -30,6 +30,7 @@ import (
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes"
unversionedcore "k8s.io/client-go/kubernetes/typed/core/v1"
def_api "k8s.io/client-go/pkg/api"
@ -204,13 +205,14 @@ func newIngressController(config *Configuration) *GenericController {
secrEventHandler := cache.ResourceEventHandlerFuncs{
UpdateFunc: func(old, cur interface{}) {
if !reflect.DeepEqual(old, cur) {
sec := cur.(*api.Secret)
ic.syncSecret(fmt.Sprintf("%v/%v", sec.Namespace, sec.Name))
ic.syncSecret()
}
},
DeleteFunc: func(obj interface{}) {
sec := obj.(*api.Secret)
ic.sslCertTracker.Delete(fmt.Sprintf("%v/%v", sec.Namespace, sec.Name))
key := fmt.Sprintf("%v/%v", sec.Namespace, sec.Name)
ic.sslCertTracker.Delete(key)
ic.secretTracker.Delete(key)
},
}
@ -1012,9 +1014,11 @@ func (ic *GenericController) createServers(data []interface{},
} else {
glog.Warningf("ssl certificate %v does not contain a common name for host %v", key, host)
}
} else {
glog.Warningf("ssl certificate \"%v\" does not exist in local store", key)
continue
}
glog.Infof("ssl certificate \"%v\" does not exist in local store", key)
}
}
}
@ -1200,6 +1204,8 @@ func (ic GenericController) Start() {
go ic.syncQueue.Run(10*time.Second, ic.stopCh)
go wait.Forever(ic.syncSecret, 10*time.Second)
if ic.syncStatus != nil {
go ic.syncStatus.Run(ic.stopCh)
}