blob: eb949ee35e46552088b5fb65c09537cd5b370692 [file] [log] [blame]
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
2load("@io_bazel_rules_docker//container:container.bzl", "container_image")
3load("//build/static_binary_tarball:def.bzl", "static_binary_tarball")
4
5go_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
27go_binary(
28 name = "mini",
29 embed = [":mini_lib"],
30 visibility = ["//visibility:public"],
31)
32
33static_binary_tarball(
34 name = "mini_layer",
35 executable = ":mini",
36)
37
38container_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)