hswaw/oodviewer: init
This brings oodviewer into k0.
oodviewer started as a py2/flask script running on q3k's personal infra,
which is now being turned down.
This is a rewrite of that script into similarly mediocre Go, conforming
to the exact same mediocre JSON API and spartan HTML interface.
This also deploys it into k0 in the oodviewer-prod namespace. It's
already running, but the 'oodviewer.q3k.me' TTL has to expire before it
begins handling traffic.
Change-Id: Ieef1b0f8f0c60e6fa5dbe7701e0a07a4257f99ce
diff --git a/hswaw/oodviewer/BUILD.bazel b/hswaw/oodviewer/BUILD.bazel
new file mode 100644
index 0000000..607780d
--- /dev/null
+++ b/hswaw/oodviewer/BUILD.bazel
@@ -0,0 +1,49 @@
+load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_layer", "container_push")
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+
+go_library(
+ name = "go_default_library",
+ srcs = [
+ "app.go",
+ "main.go",
+ "views.go",
+ ],
+ importpath = "code.hackerspace.pl/hscloud/hswaw/oodviewer",
+ visibility = ["//visibility:private"],
+ deps = [
+ "//hswaw/oodviewer/templates:go_default_library",
+ "@com_github_golang_glog//:go_default_library",
+ "@com_github_lib_pq//:go_default_library",
+ ],
+)
+
+go_binary(
+ name = "oodviewer",
+ embed = [":go_default_library"],
+ visibility = ["//visibility:public"],
+)
+
+container_layer(
+ name = "layer_bin",
+ files = [
+ ":oodviewer",
+ ],
+ directory = "/hswaw/",
+)
+
+container_image(
+ name = "runtime",
+ base = "@prodimage-bionic//image",
+ layers = [
+ ":layer_bin",
+ ],
+)
+
+container_push(
+ name = "push",
+ image = ":runtime",
+ format = "Docker",
+ registry = "registry.k0.hswaw.net",
+ repository = "q3k/oodviewer",
+ tag = "{BUILD_TIMESTAMP}-{STABLE_GIT_COMMIT}",
+)