// WatchAll returns events in the cluster and updates the stores via informer // Filters ingresses by labelSelector func (c *clientImpl) WatchAll(labelSelector string, stopCh <-chan struct{}) (<-chan interface{}, error) { watchCh := make(chan interface{}, 1) eventCh := make(chan interface{}, 1) kubeLabelSelector, err := labels.Parse(labelSelector) if err != nil { return nil, err } c.WatchIngresses(kubeLabelSelector, eventCh, stopCh) c.WatchServices(eventCh, stopCh) c.WatchEndpoints(eventCh, stopCh) go func() { defer close(watchCh) defer close(eventCh) for { select { case <-stopCh: return case event := <-eventCh: c.fireEvent(event, watchCh) } } }() return watchCh, nil }
func Convert_string_To_labels_Selector(in *string, out *labels.Selector, s conversion.Scope) error { selector, err := labels.Parse(*in) if err != nil { return err } *out = selector return nil }