treewide: switch to gomod and bump everything

This switches version resolution from fietsje to gomod and updates
all Go dependencies. It also bumps rules_go (required by gVisor) and
switches the Gazelle naming convention from go_default_xxx to the
standard Bazel convention of the default target having the package
name.

Since Kubernetes dropped upstream Bazel support and doesn't check in
all generated files I manually pregenerated the OpenAPI spec. This
should be fixed, but because of the already-huge scope of this CL
and the rebase complexity this is not in here.

Change-Id: Iec8ea613d06946882426c2f9fad5bda7e8aaf833
Reviewed-on: https://review.monogon.dev/c/monogon/+/639
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
Reviewed-by: Leopold Schabel <leo@nexantic.com>
diff --git a/metropolis/test/e2e/k8s_cts/BUILD.bazel b/metropolis/test/e2e/k8s_cts/BUILD.bazel
index 2d8ac79..6cc4080 100644
--- a/metropolis/test/e2e/k8s_cts/BUILD.bazel
+++ b/metropolis/test/e2e/k8s_cts/BUILD.bazel
@@ -1,47 +1,22 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
-load("@io_bazel_rules_docker//go:image.bzl", "go_image")
-load("@io_bazel_rules_docker//container:container.bzl", "container_image")
-
-go_image(
-    name = "kubectl",
-    binary = "@io_k8s_kubernetes//cmd/kubectl",
-    pure = "on",
-)
-
-container_image(
-    name = "kubectl_in_path",
-    base = ":kubectl",
-    env = {
-        # Don't include FHS paths since they aren't available anyways
-        "PATH": "/app/cmd/kubectl",
-    },
-)
-
-go_image(
-    name = "k8s_cts_image",
-    base = ":kubectl_in_path",
-    binary = "@io_k8s_kubernetes//test/e2e:e2e.test",
-    pure = "on",
-    visibility = ["//metropolis/node:__pkg__"],
-)
 
 go_library(
-    name = "go_default_library",
+    name = "k8s_cts_lib",
     srcs = ["main.go"],
     importpath = "source.monogon.dev/metropolis/test/e2e/k8s_cts",
     visibility = ["//visibility:private"],
     deps = [
-        "//metropolis/node:go_default_library",
-        "//metropolis/test/e2e:go_default_library",
-        "//metropolis/test/launch/cluster:go_default_library",
-        "@io_k8s_api//core/v1:go_default_library",
-        "@io_k8s_api//rbac/v1:go_default_library",
-        "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
+        "//metropolis/node",
+        "//metropolis/test/e2e",
+        "//metropolis/test/launch/cluster",
+        "@io_k8s_api//core/v1:core",
+        "@io_k8s_api//rbac/v1:rbac",
+        "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
     ],
 )
 
 go_binary(
     name = "k8s_cts",
-    embed = [":go_default_library"],
+    embed = [":k8s_cts_lib"],
     visibility = ["//visibility:private"],
 )