metropolis/vm: add kube/{generated,apis}

This is a first pass at the vm.metropolis.monogon.dev Kubnernetes API,
containing the VirtualMachine resource.

This also adds all the required BUILDfile boilerplate for the output
(generated) directory.

Test Plan: Builds should pass, eg. bazel build //metropolis/vm/kube/...

X-Origin-Diff: phab/D752
GitOrigin-RevId: d05c1a38e26b14c11b7a5d5885b15bbca8662174
diff --git a/metropolis/vm/kube/generated/BUILD.bazel b/metropolis/vm/kube/generated/BUILD.bazel
new file mode 100644
index 0000000..5e30cdc
--- /dev/null
+++ b/metropolis/vm/kube/generated/BUILD.bazel
@@ -0,0 +1,20 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_path")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_resource_bundle")
+
+go_kubernetes_resource_bundle(
+    name = "bundle",
+    apipath = "source.monogon.dev/metropolis/vm/kube/apis",
+    apis = {
+        "vm/v1alpha1": ["virtualmachine"],
+    },
+    gopath = ":go_path",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated",
+    visibility = ["//metropolis/vm/kube:__subpackages__"],
+)
+
+go_path(
+    name = "go_path",
+    deps = [
+        "//metropolis/vm/kube/apis/vm/v1alpha1:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/clientset/versioned/BUILD.bazel b/metropolis/vm/kube/generated/clientset/versioned/BUILD.bazel
new file mode 100644
index 0000000..6e21803
--- /dev/null
+++ b/metropolis/vm/kube/generated/clientset/versioned/BUILD.bazel
@@ -0,0 +1,21 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/clientset/versioned",
+    deps = [
+        "//metropolis/vm/kube/generated/clientset/versioned/typed/vm/v1alpha1:go_default_library",
+        "@io_k8s_client_go//discovery:go_default_library",
+        "@io_k8s_client_go//rest:go_default_library",
+        "@io_k8s_client_go//util/flowcontrol:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/clientset/versioned/scheme/BUILD.bazel b/metropolis/vm/kube/generated/clientset/versioned/scheme/BUILD.bazel
new file mode 100644
index 0000000..49f7a99
--- /dev/null
+++ b/metropolis/vm/kube/generated/clientset/versioned/scheme/BUILD.bazel
@@ -0,0 +1,23 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/clientset/versioned/scheme",
+    deps = [
+        "//metropolis/vm/kube/apis/vm/v1alpha1:go_default_library",
+        "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime/schema:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime/serializer:go_default_library",
+        "@io_k8s_apimachinery//pkg/util/runtime:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/clientset/versioned/typed/vm/v1alpha1/BUILD.bazel b/metropolis/vm/kube/generated/clientset/versioned/typed/vm/v1alpha1/BUILD.bazel
new file mode 100644
index 0000000..312009d
--- /dev/null
+++ b/metropolis/vm/kube/generated/clientset/versioned/typed/vm/v1alpha1/BUILD.bazel
@@ -0,0 +1,23 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/clientset/versioned/typed/vm/v1alpha1",
+    deps = [
+        "//metropolis/vm/kube/apis/vm/v1alpha1:go_default_library",
+        "//metropolis/vm/kube/generated/clientset/versioned/scheme:go_default_library",
+        "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
+        "@io_k8s_apimachinery//pkg/types:go_default_library",
+        "@io_k8s_apimachinery//pkg/watch:go_default_library",
+        "@io_k8s_client_go//rest:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/informers/externalversions/BUILD.bazel b/metropolis/vm/kube/generated/informers/externalversions/BUILD.bazel
new file mode 100644
index 0000000..290b40a
--- /dev/null
+++ b/metropolis/vm/kube/generated/informers/externalversions/BUILD.bazel
@@ -0,0 +1,25 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/informers/externalversions",
+    deps = [
+        "//metropolis/vm/kube/apis/vm/v1alpha1:go_default_library",
+        "//metropolis/vm/kube/generated/clientset/versioned:go_default_library",
+        "//metropolis/vm/kube/generated/informers/externalversions/internalinterfaces:go_default_library",
+        "//metropolis/vm/kube/generated/informers/externalversions/vm:go_default_library",
+        "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime/schema:go_default_library",
+        "@io_k8s_client_go//tools/cache:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/informers/externalversions/internalinterfaces/BUILD.bazel b/metropolis/vm/kube/generated/informers/externalversions/internalinterfaces/BUILD.bazel
new file mode 100644
index 0000000..da30152
--- /dev/null
+++ b/metropolis/vm/kube/generated/informers/externalversions/internalinterfaces/BUILD.bazel
@@ -0,0 +1,21 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/informers/externalversions/internalinterfaces",
+    deps = [
+        "//metropolis/vm/kube/generated/clientset/versioned:go_default_library",
+        "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime:go_default_library",
+        "@io_k8s_client_go//tools/cache:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/informers/externalversions/vm/BUILD.bazel b/metropolis/vm/kube/generated/informers/externalversions/vm/BUILD.bazel
new file mode 100644
index 0000000..c336d96
--- /dev/null
+++ b/metropolis/vm/kube/generated/informers/externalversions/vm/BUILD.bazel
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/informers/externalversions/vm",
+    deps = [
+        "//metropolis/vm/kube/generated/informers/externalversions/internalinterfaces:go_default_library",
+        "//metropolis/vm/kube/generated/informers/externalversions/vm/v1alpha1:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/informers/externalversions/vm/v1alpha1/BUILD.bazel b/metropolis/vm/kube/generated/informers/externalversions/vm/v1alpha1/BUILD.bazel
new file mode 100644
index 0000000..a4c5f12
--- /dev/null
+++ b/metropolis/vm/kube/generated/informers/externalversions/vm/v1alpha1/BUILD.bazel
@@ -0,0 +1,25 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/informers/externalversions/vm/v1alpha1",
+    deps = [
+        "//metropolis/vm/kube/apis/vm/v1alpha1:go_default_library",
+        "//metropolis/vm/kube/generated/clientset/versioned:go_default_library",
+        "//metropolis/vm/kube/generated/informers/externalversions/internalinterfaces:go_default_library",
+        "//metropolis/vm/kube/generated/listers/vm/v1alpha1:go_default_library",
+        "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
+        "@io_k8s_apimachinery//pkg/runtime:go_default_library",
+        "@io_k8s_apimachinery//pkg/watch:go_default_library",
+        "@io_k8s_client_go//tools/cache:go_default_library",
+    ],
+)
diff --git a/metropolis/vm/kube/generated/listers/vm/v1alpha1/BUILD.bazel b/metropolis/vm/kube/generated/listers/vm/v1alpha1/BUILD.bazel
new file mode 100644
index 0000000..8b60875
--- /dev/null
+++ b/metropolis/vm/kube/generated/listers/vm/v1alpha1/BUILD.bazel
@@ -0,0 +1,21 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("//metropolis/build/kube-code-generator:defs.bzl", "go_kubernetes_library")
+
+# keep
+go_library(
+    name = "go_default_library",
+    embed = [":go_kubernetes_library"],
+    visibility = ["//metropolis/vm:__subpackages__"],
+)
+
+go_kubernetes_library(
+    name = "go_kubernetes_library",
+    bundle = "//metropolis/vm/kube/generated:bundle",
+    importpath = "source.monogon.dev/metropolis/vm/kube/generated/listers/vm/v1alpha1",
+    deps = [
+        "//metropolis/vm/kube/apis/vm/v1alpha1:go_default_library",
+        "@io_k8s_apimachinery//pkg/api/errors:go_default_library",
+        "@io_k8s_apimachinery//pkg/labels:go_default_library",
+        "@io_k8s_client_go//tools/cache:go_default_library",
+    ],
+)