func()

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
}