@@ -110,42 +110,50 @@ func (p *dynamicProvider) watchResource(
110110 p .config .Node = ""
111111 }
112112
113- watcher , err := p .newWatcher (resourceType , comm , client )
113+ eventer , err := p .newEventer (resourceType , comm , client )
114114 if err != nil {
115115 return errors .New (err , "couldn't create kubernetes watcher for resource %s" , resourceType )
116116 }
117117
118- err = watcher .Start ()
118+ err = eventer .Start ()
119119 if err != nil {
120- return errors .New (err , "couldn't start kubernetes watcher for resource %s" , resourceType )
120+ return errors .New (err , "couldn't start kubernetes eventer for resource %s" , resourceType )
121121 }
122+
122123 return nil
123124}
124125
125- // newWatcher initializes the proper watcher according to the given resource (pod, node, service).
126- func (p * dynamicProvider ) newWatcher (
126+ // Eventer allows defining ways in which kubernetes resource events are observed and processed
127+ type Eventer interface {
128+ kubernetes.ResourceEventHandler
129+ Start () error
130+ Stop ()
131+ }
132+
133+ // newEventer initializes the proper eventer according to the given resource (pod, node, service).
134+ func (p * dynamicProvider ) newEventer (
127135 resourceType string ,
128136 comm composable.DynamicProviderComm ,
129- client k8s.Interface ) (kubernetes. Watcher , error ) {
137+ client k8s.Interface ) (Eventer , error ) {
130138 switch resourceType {
131139 case "pod" :
132- watcher , err := NewPodWatcher (comm , p .config , p .logger , client , p .config .Scope )
140+ eventer , err := NewPodEventer (comm , p .config , p .logger , client , p .config .Scope )
133141 if err != nil {
134142 return nil , err
135143 }
136- return watcher , nil
144+ return eventer , nil
137145 case "node" :
138- watcher , err := NewNodeWatcher (comm , p .config , p .logger , client , p .config .Scope )
146+ eventer , err := NewNodeEventer (comm , p .config , p .logger , client , p .config .Scope )
139147 if err != nil {
140148 return nil , err
141149 }
142- return watcher , nil
150+ return eventer , nil
143151 case "service" :
144- watcher , err := NewServiceWatcher (comm , p .config , p .logger , client , p .config .Scope )
152+ eventer , err := NewServiceEventer (comm , p .config , p .logger , client , p .config .Scope )
145153 if err != nil {
146154 return nil , err
147155 }
148- return watcher , nil
156+ return eventer , nil
149157 default :
150158 return nil , fmt .Errorf ("unsupported autodiscover resource %s" , resourceType )
151159 }
0 commit comments