keel/internal/k8s/translator.go

44 lines
986 B
Go
Raw Normal View History

2018-04-17 07:51:59 +00:00
package k8s
import (
"github.com/sirupsen/logrus"
)
type Translator struct {
logrus.FieldLogger
GenericResourceCache
KeelSelector string
}
func (t *Translator) OnAdd(obj interface{}, isInInitialList bool) {
2018-04-17 07:51:59 +00:00
gr, err := NewGenericResource(obj)
if err != nil {
t.Errorf("OnAdd failed to add resource %T: %#v", obj, obj)
return
}
2018-04-30 10:26:58 +00:00
t.Debugf("added %s %s", gr.Kind(), gr.Name)
2018-04-17 07:51:59 +00:00
t.GenericResourceCache.Add(gr)
}
func (t *Translator) OnUpdate(oldObj, newObj interface{}) {
gr, err := NewGenericResource(newObj)
if err != nil {
t.Errorf("OnUpdate failed to update resource %T: %#v", newObj, newObj)
return
}
2018-04-30 10:26:58 +00:00
t.Debugf("updated %s %s", gr.Kind(), gr.Name)
2018-04-17 07:51:59 +00:00
t.GenericResourceCache.Add(gr)
}
func (t *Translator) OnDelete(obj interface{}) {
gr, err := NewGenericResource(obj)
if err != nil {
t.Errorf("OnDelete failed to delete resource %T: %#v", obj, obj)
return
}
2018-04-30 10:26:58 +00:00
t.Debugf("deleted %s %s", gr.Kind(), gr.Name)
2018-04-17 07:51:59 +00:00
t.GenericResourceCache.Remove(gr.GetIdentifier())
}