blob: 2ea4ee761fda30f55d71598292cb6f74837cceaf [file] [log] [blame]
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02002
3go_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
30go_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
54go_binary(
55 name = "equinix",
56 embed = [":equinix_lib"],
57 visibility = ["//visibility:public"],
58)
59
Tim Windelschmidt0974b222024-01-16 14:04:15 +010060load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
61
62pkg_tar(
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020063 name = "equinix_layer",
Tim Windelschmidt0974b222024-01-16 14:04:15 +010064 srcs = [":equinix"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020065)
66
Tim Windelschmidt0974b222024-01-16 14:04:15 +010067load("@rules_oci//oci:defs.bzl", "oci_image")
68
69oci_image(
70 name = "equinix_image",
71 base = "@distroless_base",
72 entrypoint = ["/equinix"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020073 tars = [
74 ":equinix_layer",
75 "//cloud/takeover:takeover_layer",
76 ],
77 visibility = ["//visibility:public"],
78 workdir = "/app",
79)