blob: 7b1a7ad56394e8e3f10179a148ed04bcdccfef01 [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 Windelschmidtb6308cd2023-10-10 21:19:03 +020021 "@io_k8s_klog_v2//:klog",
22 "@org_golang_x_crypto//ssh",
23 ],
24)
25
26go_binary(
27 name = "mini",
28 embed = [":mini_lib"],
29 visibility = ["//visibility:public"],
30)
31
Tim Windelschmidt0974b222024-01-16 14:04:15 +010032pkg_tar(
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020033 name = "mini_layer",
Tim Windelschmidt0974b222024-01-16 14:04:15 +010034 srcs = [":mini"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020035)
36
Tim Windelschmidt0974b222024-01-16 14:04:15 +010037oci_image(
38 name = "mini_image",
39 base = "@distroless_base",
40 entrypoint = ["/mini"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020041 tars = [
42 ":mini_layer",
Tim Windelschmidt79ffbbe2024-02-22 19:15:51 +010043 "//cloud/agent/takeover:takeover_layer",
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020044 ],
45 visibility = ["//visibility:public"],
46 workdir = "/app",
47)