Protocol specification for VMs

These are the protobufs for the VM system communication

Change-Id: I16915c5391a05b7c7a9c68a0017dc2365de7e367
Reviewed-on: https://review.monogon.dev/c/monogon/+/125
Reviewed-by: Sergiusz Bazanski <serge@nexantic.com>
diff --git a/metropolis/vm/proto/BUILD.bazel b/metropolis/vm/proto/BUILD.bazel
new file mode 100644
index 0000000..0ad5b7b
--- /dev/null
+++ b/metropolis/vm/proto/BUILD.bazel
@@ -0,0 +1,24 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
+
+proto_library(
+    name = "metropolis_vm_proto",
+    srcs = ["vm.proto"],
+    visibility = ["//visibility:public"],
+)
+
+go_proto_library(
+    name = "metropolis_vm_go_proto",
+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+    importpath = "source.monogon.dev/metropolis/vm/proto",
+    proto = ":metropolis_vm_proto",
+    visibility = ["//visibility:public"],
+)
+
+go_library(
+    name = "go_default_library",
+    embed = [":metropolis_vm_go_proto"],
+    importpath = "source.monogon.dev/metropolis/vm/proto",
+    visibility = ["//visibility:public"],
+)