teleimg: init
This is a shitty small proxy to unfuck telegram's bot image URLs, ie. do
not add content-disposition and send a proper MIME in content-type.
It also does some local caching and hides the Telegram API token.
Change-Id: I0afb29ca3f1807a13fa157fdcf486ee4c857f08d
diff --git a/personal/q3k/teleimg/BUILD b/personal/q3k/teleimg/BUILD
new file mode 100644
index 0000000..8101719
--- /dev/null
+++ b/personal/q3k/teleimg/BUILD
@@ -0,0 +1,48 @@
+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 = ["main.go"],
+ importpath = "code.hackerspace.pl/hscloud/personal/q3k/teleimg",
+ visibility = ["//visibility:private"],
+ deps = [
+ "//go/mirko:go_default_library",
+ "@com_github_dgraph_io_ristretto//:go_default_library",
+ "@com_github_go_telegram_bot_api_telegram_bot_api//:go_default_library",
+ "@com_github_golang_glog//:go_default_library",
+ "@com_github_ulule_limiter_v3//:go_default_library",
+ "@com_github_ulule_limiter_v3//drivers/store/memory:go_default_library",
+ ],
+)
+
+go_binary(
+ name = "teleimg",
+ embed = [":go_default_library"],
+ visibility = ["//visibility:public"],
+)
+
+container_layer(
+ name = "layer_bin",
+ files = [
+ ":teleimg",
+ ],
+ directory = "/teleimg/",
+)
+
+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/teleimg",
+ tag = "{BUILD_TIMESTAMP}-{STABLE_GIT_COMMIT}",
+)