blob: ca6e625480d9a69aeff4d74d2573bfac0e154aa1 [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("//osbase/build:def.bzl", "build_static_target")
load("//osbase/build/mkcpio:def.bzl", "node_initramfs")
node_initramfs(
name = "initramfs",
files = {},
fsspecs = [
"//osbase/build:earlydev.fsspec",
"//third_party:firmware",
],
visibility = ["//metropolis/cli/takeover:__subpackages__"],
)
go_library(
name = "takeover_lib",
srcs = [
"boot.go",
"install.go",
"main.go",
"takeover.go",
],
embedsrcs = [
"//third_party/linux", #keep
"//third_party:ucode", #keep
":initramfs", #keep
"//metropolis/node/core/abloader", #keep
],
importpath = "source.monogon.dev/metropolis/cli/takeover",
visibility = ["//visibility:private"],
deps = [
"//go/logging",
"//metropolis/node/core/devmgr",
"//metropolis/proto/api",
"//osbase/blockdev",
"//osbase/bootparam",
"//osbase/bringup",
"//osbase/build/mkimage/osimage",
"//osbase/efivarfs",
"//osbase/kexec",
"//osbase/net/dump",
"//osbase/net/proto",
"//osbase/oci",
"//osbase/oci/osimage",
"//osbase/structfs",
"//osbase/supervisor",
"@com_github_cavaliergopher_cpio//:cpio",
"@com_github_klauspost_compress//zstd",
"@org_golang_google_protobuf//proto",
"@org_golang_x_sys//unix",
],
)
go_binary(
name = "takeover_bin",
embed = [":takeover_lib"],
visibility = ["//visibility:public"],
)
build_static_target(
name = "takeover",
dep = ":takeover_bin",
visibility = ["//visibility:public"],
)