process nodes
diff --git a/core/nebula/main.go b/core/nebula/main.go
index dd62db0..af7b0b5 100644
--- a/core/nebula/main.go
+++ b/core/nebula/main.go
@@ -5,6 +5,7 @@
 	"time"
 
 	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
+	kubeinformers "k8s.io/client-go/informers"
 	"k8s.io/client-go/kubernetes"
 	"k8s.io/client-go/tools/clientcmd"
 
@@ -12,6 +13,7 @@
 	clientset "github.com/giolekva/pcloud/core/nebula/generated/clientset/versioned"
 	"github.com/giolekva/pcloud/core/nebula/generated/clientset/versioned/scheme"
 	informers "github.com/giolekva/pcloud/core/nebula/generated/informers/externalversions"
+
 	nebulascheme "k8s.io/sample-controller/pkg/generated/clientset/versioned/scheme"
 )
 
@@ -25,15 +27,23 @@
 	if err != nil {
 		panic(err)
 	}
-	kc, err := kubernetes.NewForConfig(cfg)
+	kubeClient, err := kubernetes.NewForConfig(cfg)
 	if err != nil {
 		panic(err)
 	}
 	nebulaClient := clientset.NewForConfigOrDie(cfg)
 	utilruntime.Must(nebulascheme.AddToScheme(scheme.Scheme))
+	kubeInformerFactory := kubeinformers.NewSharedInformerFactory(kubeClient, time.Second*30)
 	nebulaInformerFactory := informers.NewSharedInformerFactory(nebulaClient, 5*time.Second)
-	c := controllers.NewCAController(kc, nebulaClient, nebulaInformerFactory, *nebulaCert)
+	c := controllers.NewCAController(
+		kubeClient,
+		nebulaClient,
+		nebulaInformerFactory.Lekva().V1().NebulaCAs(),
+		nebulaInformerFactory.Lekva().V1().NebulaNodes(),
+		kubeInformerFactory.Core().V1().Secrets(),
+		*nebulaCert)
 	stopCh := make(chan struct{})
+	kubeInformerFactory.Start(stopCh)
 	nebulaInformerFactory.Start(stopCh)
 	if err := c.Run(1, stopCh); err != nil {
 		panic(err)