blob: 775dd1211169235dd3a271427f5eac136e43f85a [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("//metropolis/node/build/fwprune:def.bzl", "fsspec_linux_firmware")
load("//metropolis/node/build:def.bzl", "node_initramfs")
go_library(
name = "agent_lib",
srcs = [
"hwreport.go",
"main.go",
],
importpath = "source.monogon.dev/cloud/agent",
visibility = ["//visibility:private"],
deps = [
"//cloud/agent/api",
"//metropolis/pkg/nvme",
"//metropolis/pkg/scsi",
"//metropolis/pkg/smbios",
"@com_github_mdlayher_ethtool//:ethtool",
"@com_github_vishvananda_netlink//:netlink",
"@org_golang_google_protobuf//encoding/prototext",
"@org_golang_x_sys//unix",
],
)
go_binary(
name = "agent",
embed = [":agent_lib"],
visibility = ["//visibility:public"],
)
go_test(
name = "agent_test",
srcs = ["hwreport_test.go"],
data = glob(["testdata/**"]),
embed = [":agent_lib"],
deps = [
"//cloud/agent/api",
"@com_github_stretchr_testify//assert",
],
)
fsspec_linux_firmware(
name = "firmware",
firmware_files = ["@linux-firmware//:all_files"],
kernel = "//third_party/linux",
metadata = "@linux-firmware//:metadata",
)
node_initramfs(
name = "initramfs",
files = {
":agent": "/init",
"@cacerts//file": "/etc/ssl/cert.pem",
},
fsspecs = [
"//metropolis/node/build:earlydev.fsspec",
":firmware",
],
visibility = ["//cloud:__subpackages__"],
)