blob: b51370cae9f9303eae8ab21cdd722e28ce195387 [file] [log] [blame]
Lorenz Brun7922d412023-02-21 20:47:39 +01001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
2load("//metropolis/node/build/mkucode:def.bzl", "cpio_ucode")
Tim Windelschmidt23fa5c12023-04-06 20:34:50 +02003load("//build/static_binary_tarball:def.bzl", "static_binary_tarball")
Lorenz Brun7922d412023-02-21 20:47:39 +01004
5go_library(
6 name = "takeover_lib",
7 srcs = ["takeover.go"],
8 embedsrcs = [
9 "//third_party/linux", #keep
10 ":ucode", #keep
11 "//cloud/agent:initramfs", #keep
12 ],
13 importpath = "source.monogon.dev/cloud/takeover",
14 visibility = ["//visibility:private"],
15 deps = [
16 "//cloud/agent/api",
17 "//metropolis/pkg/bootparam",
18 "//metropolis/pkg/kexec",
19 "//net/dump",
20 "@com_github_cavaliergopher_cpio//:cpio",
21 "@com_github_pierrec_lz4_v4//:lz4",
22 "@org_golang_google_protobuf//proto",
23 "@org_golang_x_sys//unix",
24 ],
25)
26
27go_binary(
28 name = "takeover",
29 embed = [":takeover_lib"],
30 visibility = ["//visibility:public"],
31)
32
33cpio_ucode(
34 name = "ucode",
35 ucode = {
36 "@linux-firmware//:amd_ucode": "AuthenticAMD",
37 "@intel_ucode//:fam6h": "GenuineIntel",
38 },
39)
Tim Windelschmidt23fa5c12023-04-06 20:34:50 +020040
41# Used by container_images, forces a static build of the test_agent.
42static_binary_tarball(
43 name = "takeover_layer",
44 executable = ":takeover",
45 visibility = ["//visibility:public"],
46)