hswaw/cebulacamp: migrate away from mirko.libsonnet

Change-Id: I208ff1eec8ead60ebdc1c8a52063bfe383eaaa6f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1792
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/hswaw/cebulacamp/landing/kube/prod.jsonnet b/hswaw/cebulacamp/landing/kube/prod.jsonnet
new file mode 100644
index 0000000..50b8bcf
--- /dev/null
+++ b/hswaw/cebulacamp/landing/kube/prod.jsonnet
@@ -0,0 +1,50 @@
+local kube = import "../../../../kube/hscloud.libsonnet";
+
+{
+    local top = self,
+    local cfg = self.cfg,
+
+    cfg:: {
+        name: 'cebulacamp',
+        namespace: 'cebulacamp',
+        domain: 'cebula.camp',
+        image: 'registry.k0.hswaw.net/q3k/cebulacamp-landing:315532800-bbf56cf7e14df954dcddedfe44c967246f11b72c',
+    },
+
+    ns: kube.Namespace(cfg.namespace),
+
+    deployment: top.ns.Contain(kube.Deployment(cfg.name)) {
+        spec+: {
+            replicas: 1,
+            template+: {
+                spec+: {
+                    containers_: {
+                        default: kube.Container("default") {
+                            image: cfg.image,
+                            command: [
+                                "/hscloud/hswaw/cebulacamp/landing/backend",
+                                "-logtostderr",
+                            ],
+                            resources: {
+                                requests: { cpu: "25m", memory: "64Mi" },
+                                limits: { cpu: "500m", memory: "128Mi" },
+                            },
+                            ports_: {
+                                http: { containerPort: 8080 },
+                            },
+                        },
+                    },
+                },
+            },
+        },
+    },
+
+    service: top.ns.Contain(kube.Service(cfg.name)) {
+        target_pod:: top.deployment.spec.template,
+    },
+
+    ingress: top.ns.Contain(kube.SimpleIngress(cfg.name)) {
+        hosts:: [cfg.domain],
+        target_service:: top.service,
+    },
+}
diff --git a/hswaw/kube/cebulacamp.libsonnet b/hswaw/kube/cebulacamp.libsonnet
deleted file mode 100644
index ffc7f1d..0000000
--- a/hswaw/kube/cebulacamp.libsonnet
+++ /dev/null
@@ -1,29 +0,0 @@
-local mirko = import "../../kube/mirko.libsonnet";
-local kube = import "../../kube/kube.libsonnet";
-
-{
-    cfg:: {
-        image: "registry.k0.hswaw.net/q3k/cebulacamp-landing:315532800-bbf56cf7e14df954dcddedfe44c967246f11b72c",
-        webFQDN: error "webhookFQDN must be set",
-    },
-
-    component(cfg, env):: mirko.Component(env, "cebulacamp") {
-        local cebulacamp = self,
-        cfg+: {
-            image: cfg.image,
-            container: cebulacamp.Container("main") {
-                command: [
-                    "/hscloud/hswaw/cebulacamp/landing/backend",
-                ],
-            },
-            ports+: {
-                publicHTTP: {
-                    web: {
-                        port: 8080,
-                        dns: cfg.webFQDN,
-                    }
-                },
-            },
-        },
-    },
-}
diff --git a/hswaw/kube/hswaw.jsonnet b/hswaw/kube/hswaw.jsonnet
index 4bf8121..1595b28 100644
--- a/hswaw/kube/hswaw.jsonnet
+++ b/hswaw/kube/hswaw.jsonnet
@@ -3,7 +3,6 @@
 
 local teleimg = import "teleimg.libsonnet";
 local pretalx = import "pretalx.libsonnet";
-local cebulacamp = import "cebulacamp.libsonnet";
 
 {
     hswaw(name):: mirko.Environment(name) {
@@ -13,7 +12,6 @@
         cfg+: {
             teleimg: teleimg.cfg,
             pretalx: pretalx.cfg,
-            cebulacamp: cebulacamp.cfg,
         },
 
         components: {
@@ -22,7 +20,6 @@
             pretalx: pretalx.component(cfg.pretalx, env) {
                 cronjob: null,
             },
-            cebulacamp: cebulacamp.component(cfg.cebulacamp, env),
         },
     },
 
@@ -42,9 +39,6 @@
                     credsSecret: import "secrets/plain/prod-pretalx-s3.json",
                 },
             },
-            cebulacamp+: {
-                webFQDN: "cebula.camp",
-            },
         },
     },
 }