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