blob: f8a5e723a8b618af06a9500371cbd6f4a7f64f4e [file] [log] [blame]
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +02002
3go_library(
4 name = "mini_lib",
5 srcs = [
6 "main.go",
7 "provider.go",
8 "ssh.go",
9 ],
10 importpath = "source.monogon.dev/cloud/shepherd/mini",
11 visibility = ["//visibility:public"],
12 deps = [
13 "//cloud/bmaas/bmdb",
14 "//cloud/bmaas/bmdb/model",
15 "//cloud/bmaas/bmdb/webug",
16 "//cloud/lib/component",
17 "//cloud/shepherd",
18 "//cloud/shepherd/manager",
Tim Windelschmidt5f5f3302024-02-22 23:50:24 +010019 "//go/net/ssh",
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020020 "@io_k8s_klog_v2//:klog",
21 "@org_golang_x_crypto//ssh",
22 ],
23)
24
25go_binary(
26 name = "mini",
27 embed = [":mini_lib"],
28 visibility = ["//visibility:public"],
29)
30
Tim Windelschmidt0974b222024-01-16 14:04:15 +010031load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
32
33pkg_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 +010038load("@rules_oci//oci:defs.bzl", "oci_image")
39
40oci_image(
41 name = "mini_image",
42 base = "@distroless_base",
43 entrypoint = ["/mini"],
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020044 tars = [
45 ":mini_layer",
Tim Windelschmidt79ffbbe2024-02-22 19:15:51 +010046 "//cloud/agent/takeover:takeover_layer",
Tim Windelschmidtb6308cd2023-10-10 21:19:03 +020047 ],
48 visibility = ["//visibility:public"],
49 workdir = "/app",
50)