blob: 21b891a86c5524d221b25036fb0d8447ecbd4af9 [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",
Lorenz Brund0be3712023-04-11 13:22:25 +020020 "//net/proto",
Lorenz Brun7922d412023-02-21 20:47:39 +010021 "@com_github_cavaliergopher_cpio//:cpio",
22 "@com_github_pierrec_lz4_v4//:lz4",
23 "@org_golang_google_protobuf//proto",
24 "@org_golang_x_sys//unix",
25 ],
26)
27
28go_binary(
29 name = "takeover",
30 embed = [":takeover_lib"],
31 visibility = ["//visibility:public"],
32)
33
34cpio_ucode(
35 name = "ucode",
36 ucode = {
37 "@linux-firmware//:amd_ucode": "AuthenticAMD",
38 "@intel_ucode//:fam6h": "GenuineIntel",
39 },
40)
Tim Windelschmidt23fa5c12023-04-06 20:34:50 +020041
42# Used by container_images, forces a static build of the test_agent.
43static_binary_tarball(
44 name = "takeover_layer",
45 executable = ":takeover",
46 visibility = ["//visibility:public"],
47)