go/svc: finish porting services to Bazel

The following services were never ported:
 - cmc-proxy
 - arista-proxy
 - m6220-proxy
 - topo

They now build.

Change-Id: I0688bfe43cdff946e6662e21969ef539382c0e86
diff --git a/go/svc/cmc-proxy/proto/BUILD.bazel b/go/svc/cmc-proxy/proto/BUILD.bazel
index e924906..605570c 100644
--- a/go/svc/cmc-proxy/proto/BUILD.bazel
+++ b/go/svc/cmc-proxy/proto/BUILD.bazel
@@ -1,8 +1,23 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
+
+proto_library(
+    name = "proto_proto",
+    srcs = ["proxy.proto"],
+    visibility = ["//visibility:public"],
+)
+
+go_proto_library(
+    name = "proto_go_proto",
+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+    importpath = "code.hackerspace.pl/hscloud/go/svc/cmc-proxy/proto",
+    proto = ":proto_proto",
+    visibility = ["//visibility:public"],
+)
 
 go_library(
     name = "go_default_library",
-    srcs = ["generate.go"],
+    embed = [":proto_go_proto"],
     importpath = "code.hackerspace.pl/hscloud/go/svc/cmc-proxy/proto",
     visibility = ["//visibility:public"],
 )
diff --git a/go/svc/cmc-proxy/proto/generate.go b/go/svc/cmc-proxy/proto/generate.go
deleted file mode 100644
index fc6193d..0000000
--- a/go/svc/cmc-proxy/proto/generate.go
+++ /dev/null
@@ -1,3 +0,0 @@
-//go:generate protoc -I.. ../proxy.proto --go_out=plugins=grpc:.
-
-package proto
diff --git a/go/svc/cmc-proxy/proto/proxy.proto b/go/svc/cmc-proxy/proto/proxy.proto
new file mode 100644
index 0000000..a231693
--- /dev/null
+++ b/go/svc/cmc-proxy/proto/proxy.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+package proto;
+option go_package = "code.hackerspace.pl/hscloud/go/svc/cmc-proxy/proto";
+
+message GetKVMDataRequest {
+    int64 blade_num = 1;
+}
+
+message GetKVMDataResponse {
+    repeated string arguments = 1;
+}
+
+service CMCProxy {
+    rpc GetKVMData(GetKVMDataRequest) returns (GetKVMDataResponse);
+}