Merge "*: add more OWNERS"
diff --git a/devtools/kube/depotview.libsonnet b/devtools/kube/depotview.libsonnet
new file mode 100644
index 0000000..179a0ad
--- /dev/null
+++ b/devtools/kube/depotview.libsonnet
@@ -0,0 +1,16 @@
+local mirko = import "../../kube/mirko.libsonnet";
+local kube = import "../../kube/kube.libsonnet";
+
+{
+    cfg:: {
+        image: "registry.k0.hswaw.net/devtools/depotview:1586695514-ac43b3edac4df7964cbe349f8e39f6346871ea3d",
+    },
+
+    component(cfg ,env):: mirko.Component(env, "depotview") {
+        local depotview = self,
+        cfg+: {
+            image: cfg.image,
+            container: depotview.GoContainer("main", "/devtools/depotview") {}
+        },
+    }
+}
diff --git a/devtools/kube/hackdoc.libsonnet b/devtools/kube/hackdoc.libsonnet
new file mode 100644
index 0000000..1604b60
--- /dev/null
+++ b/devtools/kube/hackdoc.libsonnet
@@ -0,0 +1,31 @@
+local mirko = import "../../kube/mirko.libsonnet";
+local kube = import "../../kube/kube.libsonnet";
+
+{
+    cfg:: {
+        image: "registry.k0.hswaw.net/devtools/hackdoc:1586734631-4b4a33a6931938f7651df1ae14133c979a924d15",
+        publicFQDN: error "public FQDN must be set",
+    },
+
+    component(cfg ,env):: mirko.Component(env, "hackdoc") {
+        local hackdoc = self,
+        cfg+: {
+            image: cfg.image,
+            container: hackdoc.GoContainer("main", "/devtools/hackdoc") {
+                command+: [
+                    "-depotview=depotview.devtools-prod.svc.cluster.local:4200",
+                    "-hackdoc_url=https://%s" % [cfg.publicFQDN],
+                    "-pub_listen=0.0.0.0:8080",
+                ],
+            },
+            ports+: {
+                publicHTTP: {
+                    public: {
+                        port: 8080,
+                        dns: cfg.publicFQDN,
+                    },
+                },
+            },
+        },
+    }
+}
diff --git a/devtools/kube/prod.jsonnet b/devtools/kube/prod.jsonnet
new file mode 100644
index 0000000..add1899
--- /dev/null
+++ b/devtools/kube/prod.jsonnet
@@ -0,0 +1,26 @@
+local mirko = import "../../kube/mirko.libsonnet";
+
+local depotview = import "depotview.libsonnet";
+local hackdoc = import "hackdoc.libsonnet";
+
+{
+    devtools(name):: mirko.Environment(name) {
+        local env = self,
+        local cfg = self.cfg,
+        
+        cfg+: {
+            depotview: depotview.cfg,
+            hackdoc: hackdoc.cfg {
+                publicFQDN: "hackdoc.hackerspace.pl",
+            },
+        },
+
+        components: {
+            depotview: depotview.component(cfg.depotview, env),
+            hackdoc: hackdoc.component(cfg.hackdoc, env),
+        },
+    },
+
+    prod: self.devtools("devtools-prod") {
+    },
+}