mirror of https://gerrit.hackerspace.pl/hscloud
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: I0688bfe43cdff946e6662e21969ef539382c0e86changes/03/3/1
parent
3e21233b14
commit
838cf6526a
133
WORKSPACE
133
WORKSPACE
|
@ -104,7 +104,6 @@ http_file(
|
|||
downloaded_file_path = "factorio.tar.xz",
|
||||
)
|
||||
|
||||
|
||||
# Go rules
|
||||
|
||||
http_archive(
|
||||
|
@ -219,3 +218,135 @@ go_repository(
|
|||
commit = "72a7793efd38728796273861bb27d590cc33d9d4",
|
||||
importpath = "github.com/sebastiaanklippert/go-wkhtmltopdf",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_ziutek_telnet",
|
||||
commit = "c3b780dc415b28894076b4ec975ea3ea69e3980f",
|
||||
importpath = "github.com/ziutek/telnet",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_ybbus_jsonrpc",
|
||||
commit = "94088458a1e880219bd312fc0ccb8548993ebf80",
|
||||
importpath = "github.com/ybbus/jsonrpc",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_digitalocean_go_netbox",
|
||||
commit = "29433ec527e78486ea0a5758817ab672d977f90e",
|
||||
importpath = "github.com/digitalocean/go-netbox",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_cenkalti_backoff",
|
||||
commit = "4b4cebaf850ec58f1bb1fec5bdebdf8501c2bc3f",
|
||||
importpath = "github.com/cenkalti/backoff",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "ml_vbom_util",
|
||||
commit = "efcd4e0f97874370259c7d93e12aad57911dea81",
|
||||
importpath = "vbom.ml/util",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_strfmt",
|
||||
commit = "6faa644e1cdafc07f7b38eb06c1af5f92128f289",
|
||||
importpath = "github.com/go-openapi/strfmt",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_swag",
|
||||
commit = "de649ffb9e02183a414820c5b1b4582f7b009792",
|
||||
importpath = "github.com/go-openapi/swag",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_errors",
|
||||
commit = "9b273e805998abc751853b4e1574d66e5df888b4",
|
||||
importpath = "github.com/go-openapi/errors",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_runtime",
|
||||
commit = "58872d9a7ca5f28beff9effa19ac4c17d3e42cd3",
|
||||
importpath = "github.com/go-openapi/runtime",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_validate",
|
||||
commit = "6405b9095e4c96aabb45856da08a9323d50d9336",
|
||||
importpath = "github.com/go-openapi/validate",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_mitchellh_mapstructure",
|
||||
commit = "3536a929edddb9a5b34bd6861dc4a9647cb459fe",
|
||||
importpath = "github.com/mitchellh/mapstructure",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "org_mongodb_go_mongo_driver",
|
||||
commit = "9ec4480161a76f5267d56fc836b7f6d357fd9209",
|
||||
importpath = "go.mongodb.org/mongo-driver",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "in_gopkg_yaml_v2",
|
||||
commit = "51d6538a90f86fe93ac480b35f37b2be17fef232",
|
||||
importpath = "gopkg.in/yaml.v2",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_asaskevich_govalidator",
|
||||
commit = "f61b66f89f4a311bef65f13e575bcf1a2ffadda6",
|
||||
importpath = "github.com/asaskevich/govalidator",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_spec",
|
||||
commit = "bdfd7e07daecc404d77868a88b2364d0aed0ee5a",
|
||||
importpath = "github.com/go-openapi/spec",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_mailru_easyjson",
|
||||
commit = "b2ccc519800e761ac8000b95e5d57c80a897ff9e",
|
||||
importpath = "github.com/mailru/easyjson",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_analysis",
|
||||
commit = "48f4521ad6c3df9d6192efb04287c4a411e1f806",
|
||||
importpath = "github.com/go-openapi/analysis",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_jsonpointer",
|
||||
commit = "a105a905c5e6ad147f08504784917f3e178e0ba5",
|
||||
importpath = "github.com/go-openapi/jsonpointer",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_loads",
|
||||
commit = "8548893a17237be4a5b2f74773f23002f4179bbe",
|
||||
importpath = "github.com/go-openapi/loads",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_openapi_jsonreference",
|
||||
commit = "2903bfd4bfbaf188694f1edf731f2725a8fa344f",
|
||||
importpath = "github.com/go-openapi/jsonreference",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_puerkitobio_purell",
|
||||
commit = "44968752391892e1b0d0b821ee79e9a85fa13049",
|
||||
importpath = "github.com/PuerkitoBio/purell",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_puerkitobio_urlesc",
|
||||
commit = "de5bf2ad457846296e2031421a34e2568e304e35",
|
||||
importpath = "github.com/PuerkitoBio/urlesc",
|
||||
)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
infra
|
|
@ -1,8 +0,0 @@
|
|||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["generate.go"],
|
||||
importpath = "code.hackerspace.pl/hscloud/go/proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,3 +0,0 @@
|
|||
//go:generate protoc -I../../proto ../../proto/infra/control.proto --go_out=plugins=grpc:.
|
||||
|
||||
package proto
|
|
@ -1,19 +1,4 @@
|
|||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
||||
|
||||
proto_library(
|
||||
name = "proto_proto",
|
||||
srcs = ["arista.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/arista-proxy",
|
||||
proto = ":proto_proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
@ -21,7 +6,6 @@ go_library(
|
|||
"main.go",
|
||||
"service.go",
|
||||
],
|
||||
embed = [":proto_go_proto"],
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/arista-proxy",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
|
|
|
@ -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 = ["arista.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/arista-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/arista-proxy/proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package proto;
|
||||
option go_package = "code.hackerspace.pl/hscloud/go/svc/arista-proxy/proto";
|
||||
|
||||
message ShowVersionRequest {
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
//go:generate protoc -I.. ../arista.proto --go_out=plugins=grpc:.
|
||||
|
||||
package proto
|
|
@ -1,19 +1,4 @@
|
|||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "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",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
@ -21,7 +6,6 @@ go_library(
|
|||
"client.go",
|
||||
"main.go",
|
||||
],
|
||||
embed = [":proto_go_proto"],
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/cmc-proxy",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
|
|
|
@ -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"],
|
||||
)
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
//go:generate protoc -I.. ../proxy.proto --go_out=plugins=grpc:.
|
||||
|
||||
package proto
|
|
@ -1,6 +1,6 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package proto;
|
||||
option go_package = "code.hackerspace.pl/hscloud/go/svc/cmc-proxy/proto";
|
||||
|
||||
message GetKVMDataRequest {
|
||||
int64 blade_num = 1;
|
|
@ -1,19 +1,4 @@
|
|||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "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/m6220-proxy",
|
||||
proto = ":proto_proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
@ -21,13 +6,12 @@ go_library(
|
|||
"cli.go",
|
||||
"main.go",
|
||||
],
|
||||
embed = [":proto_go_proto"],
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/m6220-proxy",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
"//go/mirko:go_default_library",
|
||||
"//go/proto/infra:go_default_library",
|
||||
"//go/svc/m6220-proxy/proto:go_default_library",
|
||||
"//proto/infra:go_default_library",
|
||||
"@com_github_golang_glog//:go_default_library",
|
||||
"@com_github_ziutek_telnet//:go_default_library",
|
||||
"@org_golang_google_grpc//codes:go_default_library",
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
|
||||
ipb "code.hackerspace.pl/hscloud/go/proto/infra"
|
||||
pb "code.hackerspace.pl/hscloud/go/svc/m6220-proxy/proto"
|
||||
ipb "code.hackerspace.pl/hscloud/proto/infra"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -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/m6220-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/m6220-proxy/proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
//go:generate protoc -I.. ../proxy.proto --go_out=plugins=grpc:.
|
||||
|
||||
package proto
|
|
@ -1,5 +1,6 @@
|
|||
syntax = "proto3";
|
||||
package proto;
|
||||
option go_package = "code.hackerspace.pl/hscloud/go/svc/m6220-proxy/proto";
|
||||
|
||||
message RunCommandRequest {
|
||||
string command = 1;
|
|
@ -1,18 +1,4 @@
|
|||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
||||
|
||||
proto_library(
|
||||
name = "proto_proto",
|
||||
srcs = ["config.proto"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_proto_library(
|
||||
name = "proto_go_proto",
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/topo",
|
||||
proto = ":proto_proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
@ -20,19 +6,18 @@ go_library(
|
|||
"main.go",
|
||||
"service.go",
|
||||
],
|
||||
embed = [":proto_go_proto"],
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/topo",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
"//go/mirko:go_default_library",
|
||||
"//go/proto/infra:go_default_library",
|
||||
"//go/statusz:go_default_library",
|
||||
"//go/svc/topo/assets:go_default_library",
|
||||
"//go/svc/topo/graph:go_default_library",
|
||||
"//go/svc/topo/proto:go_default_library",
|
||||
"//go/svc/topo/state:go_default_library",
|
||||
"//proto/infra:go_default_library",
|
||||
"@com_github_digitalocean_go_netbox//netbox:go_default_library",
|
||||
"@com_github_digitalocean_go_netbox//netbox/client:go_default_library",
|
||||
"@com_github_gobuffalo_packr//:go_default_library",
|
||||
"@com_github_golang_glog//:go_default_library",
|
||||
"@com_github_golang_protobuf//proto:go_default_library",
|
||||
"@ml_vbom_util//sortorder:go_default_library",
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//extras:embed_data.bzl", "go_embed_data")
|
||||
|
||||
go_embed_data(
|
||||
name = "assets",
|
||||
srcs = glob(["*.js"]),
|
||||
package = "assets",
|
||||
flatten = True,
|
||||
)
|
||||
|
||||
# keep
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [":assets"],
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/topo/assets",
|
||||
visibility = ["//go/svc/topo:__pkg__"],
|
||||
)
|
|
@ -13,9 +13,8 @@ import (
|
|||
"github.com/golang/glog"
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
pb "code.hackerspace.pl/hscloud/go/svc/topo/proto"
|
||||
|
||||
"code.hackerspace.pl/hscloud/go/svc/topo/graph"
|
||||
pb "code.hackerspace.pl/hscloud/go/svc/topo/proto"
|
||||
"code.hackerspace.pl/hscloud/go/svc/topo/state"
|
||||
)
|
||||
|
||||
|
|
|
@ -1,8 +1,22 @@
|
|||
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 = ["topo.proto"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
go_proto_library(
|
||||
name = "proto_go_proto",
|
||||
importpath = "code.hackerspace.pl/hscloud/go/svc/topo/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/topo/proto",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
//go:generate protoc -I.. ../config.proto --go_out=plugins=grpc:.
|
||||
|
||||
package proto
|
|
@ -1,6 +1,7 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package proto;
|
||||
package topo;
|
||||
option go_package = "code.hackerspace.pl/hscloud/go/svc/topo/proto";
|
||||
|
||||
message Config {
|
||||
repeated Switch switch = 1;
|
|
@ -7,13 +7,15 @@ import (
|
|||
"sort"
|
||||
"strings"
|
||||
|
||||
"vbom.ml/util/sortorder"
|
||||
|
||||
"code.hackerspace.pl/hscloud/go/mirko"
|
||||
ipb "code.hackerspace.pl/hscloud/go/proto/infra"
|
||||
"code.hackerspace.pl/hscloud/go/statusz"
|
||||
ipb "code.hackerspace.pl/hscloud/proto/infra"
|
||||
|
||||
"code.hackerspace.pl/hscloud/go/svc/topo/assets"
|
||||
"code.hackerspace.pl/hscloud/go/svc/topo/graph"
|
||||
"code.hackerspace.pl/hscloud/go/svc/topo/state"
|
||||
"github.com/gobuffalo/packr"
|
||||
"vbom.ml/util/sortorder"
|
||||
)
|
||||
|
||||
type Service struct {
|
||||
|
@ -103,8 +105,19 @@ const switchportsFragment = `
|
|||
`
|
||||
|
||||
func (s *Service) Setup(m *mirko.Mirko) {
|
||||
assets := packr.NewBox("./assets")
|
||||
m.HTTPMux().Handle("/assets/", http.StripPrefix("/assets/", http.FileServer(assets)))
|
||||
m.HTTPMux().Handle("/assets/", http.StripPrefix("/assets/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
data, ok := assets.Data[r.RequestURI]
|
||||
if !ok {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
if strings.HasSuffix(r.RequestURI, ".js") {
|
||||
w.Header().Set("Content-Type", "text/javascript")
|
||||
}
|
||||
|
||||
w.Write(data)
|
||||
})))
|
||||
m.HTTPMux().HandleFunc("/debug/graphviz", s.httpHandleGraphviz)
|
||||
statusz.AddStatusPart("Switch Ports", switchportsFragment, s.statusHandleSwitchports)
|
||||
statusz.AddStatusPart("Topology", topologyFragment, func(ctx context.Context) interface{} {
|
||||
|
|
|
@ -7,8 +7,8 @@ go_library(
|
|||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//go/pki:go_default_library",
|
||||
"//go/proto/infra:go_default_library",
|
||||
"//go/svc/topo/proto:go_default_library",
|
||||
"//proto/infra:go_default_library",
|
||||
"@org_golang_google_grpc//:go_default_library",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -7,10 +7,10 @@ import (
|
|||
|
||||
"google.golang.org/grpc"
|
||||
|
||||
ipb "code.hackerspace.pl/hscloud/go/proto/infra"
|
||||
pb "code.hackerspace.pl/hscloud/go/svc/topo/proto"
|
||||
|
||||
"code.hackerspace.pl/hscloud/go/pki"
|
||||
ipb "code.hackerspace.pl/hscloud/proto/infra"
|
||||
|
||||
pb "code.hackerspace.pl/hscloud/go/svc/topo/proto"
|
||||
)
|
||||
|
||||
type SwitchportState struct {
|
||||
|
|
Loading…
Reference in New Issue