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/BUILD.bazel b/metropolis/test/e2e/BUILD.bazel
index 138fd4a..30932de 100644
--- a/metropolis/test/e2e/BUILD.bazel
+++ b/metropolis/test/e2e/BUILD.bazel
@@ -1,7 +1,7 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_library(
- name = "go_default_library",
+ name = "e2e",
srcs = [
"kubernetes_helpers.go",
"utils.go",
@@ -9,19 +9,19 @@
importpath = "source.monogon.dev/metropolis/test/e2e",
visibility = ["//metropolis/test:__subpackages__"],
deps = [
- "//metropolis/test/launch/cluster:go_default_library",
- "@io_k8s_api//apps/v1:go_default_library",
- "@io_k8s_api//core/v1:go_default_library",
- "@io_k8s_apimachinery//pkg/api/resource:go_default_library",
- "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
- "@io_k8s_apimachinery//pkg/util/intstr:go_default_library",
- "@io_k8s_client_go//kubernetes:go_default_library",
- "@io_k8s_client_go//rest:go_default_library",
+ "//metropolis/test/launch/cluster",
+ "@io_k8s_api//apps/v1:apps",
+ "@io_k8s_api//core/v1:core",
+ "@io_k8s_apimachinery//pkg/api/resource",
+ "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
+ "@io_k8s_apimachinery//pkg/util/intstr",
+ "@io_k8s_client_go//kubernetes",
+ "@io_k8s_client_go//rest",
],
)
go_test(
- name = "go_default_test",
+ name = "e2e_test",
size = "large",
srcs = ["main_test.go"],
data = [
@@ -29,16 +29,16 @@
"//metropolis/node:swtpm_data",
"//third_party/edk2:firmware",
],
- embed = [":go_default_library"],
+ embed = [":e2e"],
rundir = ".",
deps = [
- "//metropolis/node:go_default_library",
- "//metropolis/node/core/identity:go_default_library",
- "//metropolis/proto/api:go_default_library",
- "//metropolis/test/launch/cluster:go_default_library",
- "@io_k8s_api//core/v1:go_default_library",
- "@io_k8s_apimachinery//pkg/api/resource:go_default_library",
- "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
- "@io_k8s_kubernetes//pkg/api/v1/pod:go_default_library",
+ "//metropolis/node",
+ "//metropolis/node/core/identity",
+ "//metropolis/proto/api",
+ "//metropolis/test/launch/cluster",
+ "@io_k8s_api//core/v1:core",
+ "@io_k8s_apimachinery//pkg/api/resource",
+ "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
+ "@io_k8s_kubernetes//pkg/api/v1/pod",
],
)
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"],
)
diff --git a/metropolis/test/e2e/kubernetes_helpers.go b/metropolis/test/e2e/kubernetes_helpers.go
index ec12ca0..44fa660 100644
--- a/metropolis/test/e2e/kubernetes_helpers.go
+++ b/metropolis/test/e2e/kubernetes_helpers.go
@@ -79,7 +79,7 @@
// TODO(phab/T793): Build and preseed our own container images
Image: "nginx:alpine",
ReadinessProbe: &corev1.Probe{
- Handler: corev1.Handler{
+ ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{Port: intstr.FromInt(80)},
},
},
@@ -123,7 +123,7 @@
Name: "test",
Image: "nginx:alpine",
ReadinessProbe: &corev1.Probe{
- Handler: corev1.Handler{
+ ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{Port: intstr.FromInt(80)},
},
},
diff --git a/metropolis/test/e2e/main_test.go b/metropolis/test/e2e/main_test.go
index 80140a3..f7dfff8 100644
--- a/metropolis/test/e2e/main_test.go
+++ b/metropolis/test/e2e/main_test.go
@@ -265,7 +265,7 @@
Containers: []corev1.Container{{
Name: "preseed-test-1",
ImagePullPolicy: corev1.PullNever,
- Image: "bazel/metropolis/test/e2e/preseedtest:preseedtest",
+ Image: "bazel/metropolis/test/e2e/preseedtest:preseedtest_image",
}},
RestartPolicy: corev1.RestartPolicyNever,
},
diff --git a/metropolis/test/e2e/preseedtest/BUILD.bazel b/metropolis/test/e2e/preseedtest/BUILD.bazel
index f88d9ad..8f13e23 100644
--- a/metropolis/test/e2e/preseedtest/BUILD.bazel
+++ b/metropolis/test/e2e/preseedtest/BUILD.bazel
@@ -2,15 +2,15 @@
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
go_library(
- name = "go_default_library",
+ name = "preseedtest",
srcs = ["main.go"],
importpath = "source.monogon.dev/metropolis/test/e2e/preseedtest",
visibility = ["//visibility:private"],
)
go_image(
- name = "preseedtest",
- embed = [":go_default_library"],
+ name = "preseedtest_image",
+ embed = [":preseedtest"],
pure = "on",
visibility = ["//metropolis/node:__pkg__"],
)