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") |
| 2 | load("@io_bazel_rules_docker//container:container.bzl", "container_image") |
| 3 | load("//build/static_binary_tarball:def.bzl", "static_binary_tarball") |
| 4 | |
| 5 | go_library( |
| 6 | name = "mini_lib", |
| 7 | srcs = [ |
| 8 | "main.go", |
| 9 | "provider.go", |
| 10 | "ssh.go", |
| 11 | ], |
| 12 | importpath = "source.monogon.dev/cloud/shepherd/mini", |
| 13 | visibility = ["//visibility:public"], |
| 14 | deps = [ |
| 15 | "//cloud/bmaas/bmdb", |
| 16 | "//cloud/bmaas/bmdb/model", |
| 17 | "//cloud/bmaas/bmdb/webug", |
| 18 | "//cloud/lib/component", |
| 19 | "//cloud/shepherd", |
| 20 | "//cloud/shepherd/manager", |
| 21 | "//metropolis/cli/pkg/context", |
| 22 | "@io_k8s_klog_v2//:klog", |
| 23 | "@org_golang_x_crypto//ssh", |
| 24 | ], |
| 25 | ) |
| 26 | |
| 27 | go_binary( |
| 28 | name = "mini", |
| 29 | embed = [":mini_lib"], |
| 30 | visibility = ["//visibility:public"], |
| 31 | ) |
| 32 | |
| 33 | static_binary_tarball( |
| 34 | name = "mini_layer", |
| 35 | executable = ":mini", |
| 36 | ) |
| 37 | |
| 38 | container_image( |
| 39 | name = "mini_container", |
| 40 | base = "@go_image_base//image", |
| 41 | entrypoint = ["/app/cloud/shepherd/mini/mini_/mini"], |
| 42 | tars = [ |
| 43 | ":mini_layer", |
| 44 | "//cloud/takeover:takeover_layer", |
| 45 | ], |
| 46 | visibility = ["//visibility:public"], |
| 47 | workdir = "/app", |
| 48 | ) |