nebula ca controller
diff --git a/core/nebula/crds/nebula.crds.yaml b/core/nebula/crds/nebula.crds.yaml
new file mode 100644
index 0000000..984b2c9
--- /dev/null
+++ b/core/nebula/crds/nebula.crds.yaml
@@ -0,0 +1,39 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  name: nebulacas.lekva.me
+spec:
+  group: lekva.me
+  scope: Namespaced
+  names:
+    kind: NebulaCA
+    listKind: NebulaCAList
+    plural: nebulacas
+    singular: nebulaca
+    shortNames:
+      - nca
+      - ncas
+  versions:
+    - name: v1
+      served: true
+      storage: true
+      subresources:
+        status: {}
+      schema:
+        openAPIV3Schema:
+          type: object
+          properties:
+            spec:
+              type: object
+              properties:
+                caName:
+                  type: string
+                secretName:
+                  type: string
+            status:
+              type: object
+              properties:
+                state:
+                  type: string
+                message:
+                  type: string
diff --git a/core/nebula/crds/test-ca.yaml b/core/nebula/crds/test-ca.yaml
new file mode 100644
index 0000000..19dcdab
--- /dev/null
+++ b/core/nebula/crds/test-ca.yaml
@@ -0,0 +1,8 @@
+apiVersion: lekva.me/v1
+kind: NebulaCA
+metadata:
+  name: test
+  namespace: test-nebula
+spec:
+  caName: lekva-pcloud
+  secretName: lekva-pcloud-ca