// NewEndpointsConfig creates a new EndpointsConfig. // It immediately runs the created EndpointsConfig. func NewEndpointsConfig() *EndpointsConfig { updates := make(chan struct{}) store := &endpointsStore{updates: updates, endpoints: make(map[string]map[types.NamespacedName]api.Endpoints)} mux := config.NewMux(store) bcaster := config.NewBroadcaster() go watchForUpdates(bcaster, store, updates) return &EndpointsConfig{mux, bcaster, store} }
// NewServiceConfig creates a new ServiceConfig. // It immediately runs the created ServiceConfig. func NewServiceConfig() *ServiceConfig { updates := make(chan struct{}) store := &serviceStore{updates: updates, services: make(map[string]map[types.NamespacedName]api.Service)} mux := config.NewMux(store) bcaster := config.NewBroadcaster() go watchForUpdates(bcaster, store, updates) return &ServiceConfig{mux, bcaster, store} }
// NewEndpointsConfig creates a new EndpointsConfig. // It immediately runs the created EndpointsConfig. func NewEndpointsConfig() *EndpointsConfig { updates := make(chan struct{}) store := &endpointsStore{updates: updates, endpoints: make(map[string]map[string]api.Endpoints)} mux := config.NewMux(store) watcher := config.NewWatcher() go watchForUpdates(watcher, store, updates) return &EndpointsConfig{mux, watcher, store} }
// NewServiceConfig creates a new ServiceConfig. // It immediately runs the created ServiceConfig. func NewServiceConfig() *ServiceConfig { updates := make(chan struct{}) store := &serviceStore{updates: updates, services: make(map[string]map[string]api.Service)} mux := config.NewMux(store) watcher := config.NewWatcher() go watchForUpdates(watcher, store, updates) return &ServiceConfig{mux, watcher, store} }
// NewPodConfig creates an object that can merge many configuration sources into a stream // of normalized updates to a pod configuration. func NewPodConfig(mode PodConfigNotificationMode) *PodConfig { updates := make(chan kubelet.PodUpdate, 1) storage := newPodStorage(updates, mode) podConfig := &PodConfig{ pods: storage, mux: config.NewMux(storage), updates: updates, } return podConfig }
// NewPodConfig creates an object that can merge many configuration sources into a stream // of normalized updates to a pod configuration. func NewPodConfig(mode PodConfigNotificationMode, recorder record.EventRecorder) *PodConfig { updates := make(chan kubelet.PodUpdate, 50) storage := newPodStorage(updates, mode, recorder) podConfig := &PodConfig{ pods: storage, mux: config.NewMux(storage), updates: updates, sources: util.StringSet{}, } return podConfig }