go: re-do the entire thing

This is a mega-change, but attempting to split this up further is
probably not worth the effort.

Summary:

1. Bump up bazel, rules_go, and others.
2. Switch to new go target naming (bye bye go_default_library)
3. Move go deps to go.mod/go.sum, use make gazelle generate from that
4. Bump up Python deps a bit

And also whatever was required to actually get things to work - loads of
small useless changes.

Tested to work on NixOS and Ubuntu 20.04:

   $ bazel build //...
   $ bazel test //...

Change-Id: I8364bdaa1406b9ae4d0385a6b607f3e7989f98a9
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1583
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/bgpwtf/speedtest/BUILD.bazel b/bgpwtf/speedtest/BUILD.bazel
index 7b5af44..579a8ee 100644
--- a/bgpwtf/speedtest/BUILD.bazel
+++ b/bgpwtf/speedtest/BUILD.bazel
@@ -4,7 +4,11 @@
 
 go_embed_data(
     name = "static",
-    srcs = ["index.html", "speedtest.js", "speedtest_worker.js"],
+    srcs = [
+        "index.html",
+        "speedtest.js",
+        "speedtest_worker.js",
+    ],
     package = "static",
 )
 
@@ -17,17 +21,17 @@
 )
 
 container_image(
-    name="latest",
-    base="@prodimage-bionic//image",
-    files = ["//bgpwtf/speedtest/backend:backend"],
+    name = "latest",
+    base = "@prodimage-bionic//image",
     directory = "/hscloud",
     entrypoint = ["/hscloud/backend"],
+    files = ["//bgpwtf/speedtest/backend"],
 )
 
 container_push(
     name = "push",
-    image = ":latest",
     format = "Docker",
+    image = ":latest",
     registry = "registry.k0.hswaw.net",
     repository = "q3k/speedetst",
     tag = "{BUILD_TIMESTAMP}-{STABLE_GIT_COMMIT}",
diff --git a/bgpwtf/speedtest/backend/BUILD.bazel b/bgpwtf/speedtest/backend/BUILD.bazel
index 54ea2f6..afd0851 100644
--- a/bgpwtf/speedtest/backend/BUILD.bazel
+++ b/bgpwtf/speedtest/backend/BUILD.bazel
@@ -1,24 +1,24 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
 
 go_library(
-    name = "go_default_library",
+    name = "backend_lib",
     srcs = ["main.go"],
     importpath = "code.hackerspace.pl/hscloud/bgpwtf/speedtest/backend",
     visibility = ["//visibility:private"],
     deps = [
-        "@com_github_golang_glog//:go_default_library",
-        "//bgpwtf/speedtest:static_go", # keep
+        "//bgpwtf/speedtest:static_go",  # keep
+        "@com_github_golang_glog//:glog",
     ],
 )
 
 go_binary(
     name = "backend",
-    embed = [":go_default_library"],
+    embed = [":backend_lib"],
     visibility = ["//visibility:public"],
 )
 
 go_test(
-    name = "go_default_test",
+    name = "backend_test",
     srcs = ["main_test.go"],
-    embed = [":go_default_library"],
+    embed = [":backend_lib"],
 )