| Tim Windelschmidt | b6308cd | 2023-10-10 21:19:03 +0200 | [diff] [blame] | 1 | load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") |
| Tim Windelschmidt | b6308cd | 2023-10-10 21:19:03 +0200 | [diff] [blame] | 2 | |
| 3 | go_library( |
| 4 | name = "equinix_lib", |
| 5 | srcs = [ |
| 6 | "main.go", |
| 7 | "provider.go", |
| 8 | "provider_config.go", |
| 9 | "updater.go", |
| 10 | ], |
| 11 | importpath = "source.monogon.dev/cloud/shepherd/provider/equinix", |
| 12 | visibility = ["//visibility:private"], |
| 13 | deps = [ |
| 14 | "//cloud/bmaas/bmdb", |
| 15 | "//cloud/bmaas/bmdb/metrics", |
| 16 | "//cloud/bmaas/bmdb/model", |
| 17 | "//cloud/bmaas/bmdb/webug", |
| 18 | "//cloud/equinix/wrapngo", |
| 19 | "//cloud/lib/component", |
| 20 | "//cloud/lib/sinbin", |
| 21 | "//cloud/shepherd", |
| 22 | "//cloud/shepherd/manager", |
| 23 | "//metropolis/cli/pkg/context", |
| 24 | "@com_github_packethost_packngo//:packngo", |
| 25 | "@io_k8s_klog_v2//:klog", |
| 26 | "@org_golang_x_crypto//ssh", |
| 27 | ], |
| 28 | ) |
| 29 | |
| 30 | go_test( |
| 31 | name = "equinix_test", |
| 32 | srcs = [ |
| 33 | "fakequinix_test.go", |
| 34 | "initializer_test.go", |
| 35 | "provisioner_test.go", |
| 36 | "recoverer_test.go", |
| 37 | "updater_test.go", |
| 38 | ], |
| 39 | data = [ |
| 40 | "@cockroach", |
| 41 | ], |
| 42 | embed = [":equinix_lib"], |
| 43 | deps = [ |
| 44 | "//cloud/bmaas/bmdb", |
| 45 | "//cloud/bmaas/bmdb/model", |
| 46 | "//cloud/lib/component", |
| 47 | "//cloud/shepherd/manager", |
| 48 | "@com_github_google_uuid//:uuid", |
| 49 | "@com_github_packethost_packngo//:packngo", |
| 50 | "@org_golang_x_time//rate", |
| 51 | ], |
| 52 | ) |
| 53 | |
| 54 | go_binary( |
| 55 | name = "equinix", |
| 56 | embed = [":equinix_lib"], |
| 57 | visibility = ["//visibility:public"], |
| 58 | ) |
| 59 | |
| Tim Windelschmidt | 0974b22 | 2024-01-16 14:04:15 +0100 | [diff] [blame] | 60 | load("@rules_pkg//pkg:tar.bzl", "pkg_tar") |
| 61 | |
| 62 | pkg_tar( |
| Tim Windelschmidt | b6308cd | 2023-10-10 21:19:03 +0200 | [diff] [blame] | 63 | name = "equinix_layer", |
| Tim Windelschmidt | 0974b22 | 2024-01-16 14:04:15 +0100 | [diff] [blame] | 64 | srcs = [":equinix"], |
| Tim Windelschmidt | b6308cd | 2023-10-10 21:19:03 +0200 | [diff] [blame] | 65 | ) |
| 66 | |
| Tim Windelschmidt | 0974b22 | 2024-01-16 14:04:15 +0100 | [diff] [blame] | 67 | load("@rules_oci//oci:defs.bzl", "oci_image") |
| 68 | |
| 69 | oci_image( |
| 70 | name = "equinix_image", |
| 71 | base = "@distroless_base", |
| 72 | entrypoint = ["/equinix"], |
| Tim Windelschmidt | b6308cd | 2023-10-10 21:19:03 +0200 | [diff] [blame] | 73 | tars = [ |
| 74 | ":equinix_layer", |
| Tim Windelschmidt | 79ffbbe | 2024-02-22 19:15:51 +0100 | [diff] [blame^] | 75 | "//cloud/agent/takeover:takeover_layer", |
| Tim Windelschmidt | b6308cd | 2023-10-10 21:19:03 +0200 | [diff] [blame] | 76 | ], |
| 77 | visibility = ["//visibility:public"], |
| 78 | workdir = "/app", |
| 79 | ) |