| 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", |
| "//metropolis/cli/pkg/context", |
| "@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/takeover:takeover_layer", |
| ], |
| visibility = ["//visibility:public"], |
| workdir = "/app", |
| ) |