| 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 = [ | 
 |         "agent.go", | 
 |         "hwreport.go", | 
 |         "install.go", | 
 |         "main.go", | 
 |     ], | 
 |     importpath = "source.monogon.dev/cloud/agent", | 
 |     visibility = ["//visibility:private"], | 
 |     deps = [ | 
 |         "//cloud/agent/api", | 
 |         "//cloud/bmaas/server/api", | 
 |         "//metropolis/node/build/mkimage/osimage", | 
 |         "//metropolis/node/core/network", | 
 |         "//metropolis/pkg/bootparam", | 
 |         "//metropolis/pkg/efivarfs", | 
 |         "//metropolis/pkg/logtree", | 
 |         "//metropolis/pkg/nvme", | 
 |         "//metropolis/pkg/pki", | 
 |         "//metropolis/pkg/scsi", | 
 |         "//metropolis/pkg/smbios", | 
 |         "//metropolis/pkg/supervisor", | 
 |         "//net/proto", | 
 |         "@com_github_cenkalti_backoff_v4//:backoff", | 
 |         "@com_github_mdlayher_ethtool//:ethtool", | 
 |         "@com_github_vishvananda_netlink//:netlink", | 
 |         "@org_golang_google_grpc//:go_default_library", | 
 |         "@org_golang_google_grpc//credentials", | 
 |         "@org_golang_google_protobuf//proto", | 
 |         "@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", | 
 |         "@com_github_coredns_coredns//:coredns": "/kubernetes/bin/coredns", | 
 |         "//metropolis/node/core/network/dns:resolv.conf": "/etc/resolv.conf", | 
 |         "@cacerts//file": "/etc/ssl/cert.pem", | 
 |     }, | 
 |     fsspecs = [ | 
 |         "//metropolis/node/build:earlydev.fsspec", | 
 |         ":firmware", | 
 |     ], | 
 |     visibility = ["//cloud:__subpackages__"], | 
 | ) |