11package k8seventwatcher
22
33import (
4- "gopkg.in/yaml.v2"
54 "io"
65 "io/ioutil"
6+ "log"
7+ "sync"
8+ "time"
9+
10+ "gopkg.in/yaml.v2"
711 "k8s.io/api/core/v1"
812 v12 "k8s.io/apimachinery/pkg/apis/meta/v1"
913 "k8s.io/client-go/informers"
@@ -12,9 +16,6 @@ import (
1216 "k8s.io/client-go/rest"
1317 "k8s.io/client-go/tools/cache"
1418 "k8s.io/client-go/tools/clientcmd"
15- "log"
16- "sync"
17- "time"
1819)
1920
2021type K8sEventWatcher struct {
@@ -26,15 +27,15 @@ type K8sEventWatcher struct {
2627
2728 chStop chan struct {}
2829 lock sync.Mutex
29- callback func (event * v1.Event , eventFilter * EventFilter )
30+ callback func (event * v1.Event , eventFilter * EventFilter , matchedFields map [ string ] interface {} )
3031
3132 Debug bool
3233}
3334
3435func NewK8sEventWatcher (
35- // Config path of event watcher
36+ // Config path of event watcher
3637 configPath string ,
37- // Config path for k8s cluster, can be empty
38+ // Config path for k8s cluster, can be empty
3839 kubeConfigPath * string ,
3940 logWriter io.Writer ,
4041) (* K8sEventWatcher , error ) {
@@ -114,21 +115,21 @@ func (w *K8sEventWatcher) onAddEvent(obj interface{}) {
114115 return
115116 }
116117
117- filter , err := w .config .MatchingEventFilter (outMap )
118+ filter , matchedFields , err := w .config .MatchingEventFilter (outMap )
118119 if err != nil {
119120 w .logEntryError ("failed to find matching event filter: %+v" , err )
120121 return
121122 }
122123 if filter != nil {
123124 w .logEntryDebug ("matched event: %+v" , evt )
124- w .callback (evt , filter )
125+ w .callback (evt , filter , matchedFields )
125126 return
126127 }
127128
128129 w .logEntryDebug ("discarded event: %+v" , evt )
129130}
130131
131- func (w * K8sEventWatcher ) Start (callback func (event * v1.Event , eventFilter * EventFilter )) error {
132+ func (w * K8sEventWatcher ) Start (callback func (event * v1.Event , eventFilter * EventFilter , matchedFields map [ string ] interface {} )) error {
132133 if callback == nil {
133134 return errorf ("callback cannot be null" )
134135 }
0 commit comments