m/test/localregistry: use osbase/oci/registry

This replaces the localregistry implementation with a small wrapper
around the new registry package.

The images attribute of the Bazel rule was changed from a list to a
dict, which makes the repository and tag independent from the file path.

Change-Id: I1f6213dd67f7bdcf2373fe136958caa68b9f4d10
Reviewed-on: https://review.monogon.dev/c/monogon/+/4089
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/test/e2e/BUILD.bazel b/metropolis/test/e2e/BUILD.bazel
index 85ef13a..dc43be6 100644
--- a/metropolis/test/e2e/BUILD.bazel
+++ b/metropolis/test/e2e/BUILD.bazel
@@ -2,12 +2,12 @@
 
 localregistry_manifest(
     name = "testimages_manifest",
-    images = [
-        "//metropolis/test/e2e/selftest:selftest_image",
-        "//metropolis/test/e2e/persistentvolume:persistentvolume_image",
-        "//metropolis/test/e2e/httpserver:httpserver_image",
-        "//metropolis/test/e2e/connectivity/agent:agent_image",
-    ],
+    images = {
+        "selftest:latest": "//metropolis/test/e2e/selftest:selftest_image",
+        "persistentvolume:latest": "//metropolis/test/e2e/persistentvolume:persistentvolume_image",
+        "httpserver:latest": "//metropolis/test/e2e/httpserver:httpserver_image",
+        "connectivity/agent:latest": "//metropolis/test/e2e/connectivity/agent:agent_image",
+    },
     visibility = [
         "//metropolis/test/e2e/suites:__subpackages__",
     ],
diff --git a/metropolis/test/e2e/connectivity/connectivity.go b/metropolis/test/e2e/connectivity/connectivity.go
index 070bacc..7ecbb08 100644
--- a/metropolis/test/e2e/connectivity/connectivity.go
+++ b/metropolis/test/e2e/connectivity/connectivity.go
@@ -218,7 +218,7 @@
 			Spec: corev1.PodSpec{
 				Containers: []corev1.Container{{
 					Name:  "connectivitytester",
-					Image: "test.monogon.internal/metropolis/test/e2e/connectivity/agent/agent_image",
+					Image: "test.monogon.internal/connectivity/agent:latest",
 					Stdin: true,
 				}},
 				EnableServiceLinks: ptr.To(false),
diff --git a/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go b/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go
index 1f45fab..02eddfd 100644
--- a/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go
+++ b/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go
@@ -78,7 +78,7 @@
 						{
 							Name:            "test",
 							ImagePullPolicy: corev1.PullIfNotPresent,
-							Image:           "test.monogon.internal/metropolis/test/e2e/httpserver/httpserver_image",
+							Image:           "test.monogon.internal/httpserver:latest",
 							LivenessProbe: &corev1.Probe{
 								ProbeHandler: corev1.ProbeHandler{
 									HTTPGet: &corev1.HTTPGetAction{Port: intstr.FromInt(8080)},
@@ -130,7 +130,7 @@
 						{
 							Name:            "test",
 							ImagePullPolicy: corev1.PullIfNotPresent,
-							Image:           "test.monogon.internal/metropolis/test/e2e/selftest/selftest_image",
+							Image:           "test.monogon.internal/selftest:latest",
 						},
 					},
 					RestartPolicy: corev1.RestartPolicyOnFailure,
@@ -191,7 +191,7 @@
 						{
 							Name:            "test",
 							ImagePullPolicy: corev1.PullIfNotPresent,
-							Image:           "test.monogon.internal/metropolis/test/e2e/persistentvolume/persistentvolume_image",
+							Image:           "test.monogon.internal/persistentvolume:latest",
 							Args:            []string{"-runtimeclass", runtimeClass},
 							VolumeMounts: []corev1.VolumeMount{
 								{