blob: 948eb4013206d71e6528ef3ee598173b27f43f9a [file] [log] [blame]
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
Tim Windelschmidt156248b2025-01-10 00:27:45 +01002load("@rules_oci//oci:defs.bzl", "oci_image")
3load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02004
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",
Tim Windelschmidt5f5f3302024-02-22 23:50:24 +010021 "//go/net/ssh",
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020022 "@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
Tim Windelschmidt0974b222024-01-16 14:04:15 +010033pkg_tar(
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020034 name = "mini_layer",
Tim Windelschmidt0974b222024-01-16 14:04:15 +010035 srcs = [":mini"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020036)
37
Tim Windelschmidt0974b222024-01-16 14:04:15 +010038oci_image(
39 name = "mini_image",
40 base = "@distroless_base",
41 entrypoint = ["/mini"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020042 tars = [
43 ":mini_layer",
Tim Windelschmidt79ffbbe2024-02-22 19:15:51 +010044 "//cloud/agent/takeover:takeover_layer",
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020045 ],
46 visibility = ["//visibility:public"],
47 workdir = "/app",
48)