blob: ef1ab5323a4ea9fe28f74baa7ed52b2559a5fc1f [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
go_library(
name = "equinix_lib",
srcs = [
"main.go",
"provider.go",
"provider_config.go",
"updater.go",
],
importpath = "source.monogon.dev/cloud/shepherd/provider/equinix",
visibility = ["//visibility:private"],
deps = [
"//cloud/bmaas/bmdb",
"//cloud/bmaas/bmdb/metrics",
"//cloud/bmaas/bmdb/model",
"//cloud/bmaas/bmdb/webug",
"//cloud/equinix/wrapngo",
"//cloud/lib/component",
"//cloud/lib/sinbin",
"//cloud/shepherd",
"//cloud/shepherd/manager",
"//go/net/ssh",
"@com_github_packethost_packngo//:packngo",
"@io_k8s_klog_v2//:klog",
"@org_golang_x_crypto//ssh",
],
)
go_test(
name = "equinix_test",
srcs = [
"fakequinix_test.go",
"initializer_test.go",
"provisioner_test.go",
"recoverer_test.go",
"updater_test.go",
],
data = [
"@cockroach",
],
embed = [":equinix_lib"],
deps = [
"//cloud/bmaas/bmdb",
"//cloud/bmaas/bmdb/model",
"//cloud/lib/component",
"//cloud/shepherd/manager",
"@com_github_google_uuid//:uuid",
"@com_github_packethost_packngo//:packngo",
"@org_golang_x_time//rate",
],
)
go_binary(
name = "equinix",
embed = [":equinix_lib"],
visibility = ["//visibility:public"],
)
load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
pkg_tar(
name = "equinix_layer",
srcs = [":equinix"],
)
load("@rules_oci//oci:defs.bzl", "oci_image")
oci_image(
name = "equinix_image",
base = "@distroless_base",
entrypoint = ["/equinix"],
tars = [
":equinix_layer",
"//cloud/agent/takeover:takeover_layer",
],
visibility = ["//visibility:public"],
workdir = "/app",
)