diff --git a/provider/k8s/client.go b/provider/k8s/client.go index 71267a9f9..90a3e18b0 100644 --- a/provider/k8s/client.go +++ b/provider/k8s/client.go @@ -187,27 +187,21 @@ func (c *clientImpl) WatchEndpoints(stopCh <-chan struct{}) chan interface{} { // WatchAll returns events in the cluster and updates the stores via informer // Filters ingresses by labelSelector func (c *clientImpl) WatchAll(labelSelector string, stopCh <-chan bool) (chan interface{}, error) { - watchCh := make(chan interface{}, 10) + watchCh := make(chan interface{}, 100) + stopWatchCh := make(chan struct{}, 1) kubeLabelSelector, err := labels.Parse(labelSelector) if err != nil { return nil, err } - stopIngresses := make(chan struct{}) - chanIngresses := c.WatchIngresses(kubeLabelSelector, stopIngresses) - - stopServices := make(chan struct{}) - chanServices := c.WatchServices(stopServices) - - stopEndpoints := make(chan struct{}) - chanEndpoints := c.WatchEndpoints(stopEndpoints) + chanIngresses := c.WatchIngresses(kubeLabelSelector, stopWatchCh) + chanServices := c.WatchServices(stopWatchCh) + chanEndpoints := c.WatchEndpoints(stopWatchCh) go func() { + defer close(stopWatchCh) defer close(watchCh) - defer close(stopIngresses) - defer close(stopServices) - defer close(stopEndpoints) for { select { diff --git a/provider/kubernetes.go b/provider/kubernetes.go index 17715c1a2..32c0a6ba2 100644 --- a/provider/kubernetes.go +++ b/provider/kubernetes.go @@ -78,7 +78,7 @@ func (provider *Kubernetes) Provide(configurationChan chan<- types.ConfigMessage return err } if reflect.DeepEqual(provider.lastConfiguration.Get(), templateObjects) { - log.Debug("Skipping event") + log.Debugf("Skipping event from kubernetes %+v", event) } else { provider.lastConfiguration.Set(templateObjects) configurationChan <- types.ConfigMessage{