cloud: add container_bundle

Change-Id: I3101b02c570d90b77860a1d928f48139d7ce8889
Reviewed-on: https://review.monogon.dev/c/monogon/+/1444
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/build/print-workspace-status.sh b/build/print-workspace-status.sh
index f69f49e..07b5fd8 100755
--- a/build/print-workspace-status.sh
+++ b/build/print-workspace-status.sh
@@ -18,6 +18,9 @@
 KUBERNETES_gitMinor="24"
 KUBERNETES_gitVersion="v1.24.2+mngn"
 
+# CI doesnt have the user set...
+IMAGE_TAG=${USER:-unknown}-$(date +%s)
+
 cat <<EOF
 KUBERNETES_gitCommit $(git rev-parse "HEAD^{commit}")
 KUBERNETES_gitTreeState $KUBERNETES_gitTreeState
@@ -28,4 +31,5 @@
   ${SOURCE_DATE_EPOCH:+"--date=@${SOURCE_DATE_EPOCH}"} \
  -u +'%Y-%m-%dT%H:%M:%SZ')
 STABLE_METROPOLIS_version $METROPOLIS_VERSION
+IMAGE_TAG $IMAGE_TAG
 EOF
diff --git a/cloud/BUILD.bazel b/cloud/BUILD.bazel
new file mode 100644
index 0000000..f9fbd9a
--- /dev/null
+++ b/cloud/BUILD.bazel
@@ -0,0 +1,16 @@
+load("@io_bazel_rules_docker//container:bundle.bzl", "container_bundle")
+load("@io_bazel_rules_docker//contrib:push-all.bzl", "container_push")
+
+container_bundle(
+    name = "cloud_containers",
+    images = {
+        "gcr.io/monogon-infra/cloud/apigw:{IMAGE_TAG}": "//cloud/apigw:apigw_container",
+        "gcr.io/monogon-infra/cloud/shepherd/equinix:{IMAGE_TAG}": "//cloud/shepherd/equinix/manager/server:server_container",
+    },
+)
+
+container_push(
+    name = "push",
+    bundle = ":cloud_containers",
+    format = "Docker",
+)