in pkg/k8s/registry.go [162:198]
func (r *registry) Init() error {
logger.Log.Debugf("initializing template context registry")
var err error
if Registry.podIDIpMap, err = lru.New(1000); err != nil {
return err
}
if Registry.idSvcMap, err = lru.New(1000); err != nil {
return err
}
if Registry.idPodMap, err = lru.New(1000); err != nil {
return err
}
if Registry.ipSvcIDMap, err = lru.New(1000); err != nil {
return err
}
config, err := GetConfig()
if err != nil {
return err
}
client := kubernetes.NewForConfigOrDie(config)
factory := informers.NewSharedInformerFactoryWithOptions(client, 0, informers.WithNamespace(corev1.NamespaceAll))
r.informers = []cache.SharedIndexInformer{
factory.Core().V1().Endpoints().Informer(),
factory.Core().V1().Services().Informer(),
factory.Core().V1().Pods().Informer(),
}
for _, informer := range Registry.informers {
informer.AddEventHandler(Registry)
}
return nil
}