devtools: deploy hackdoc&depotview
Change-Id: If7ee65a99fae29f5015bb8ee8bb23e83c0f7dd3a
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") {
+ },
+}