blob: d7f9d12932c51aefdd835baf47d06ac32025a5e0 [file] [log] [blame]
Lorenz Brun52f7f292020-06-24 16:42:02 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
Tim Windelschmidtbed76d92025-02-18 03:04:14 +01002load("//osbase/build/mkcpio:def.bzl", "node_initramfs")
Lorenz Brun52f7f292020-06-24 16:42:02 +02003
4go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +02005 name = "nanoswitch_lib",
Serge Bazanskibe742842022-04-04 13:18:50 +02006 srcs = [
7 "nanoswitch.go",
8 "socks.go",
9 ],
Serge Bazanski31370b02021-01-07 16:31:14 +010010 importpath = "source.monogon.dev/metropolis/test/nanoswitch",
Lorenz Brun52f7f292020-06-24 16:42:02 +020011 visibility = ["//visibility:private"],
12 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020013 "//metropolis/node",
14 "//metropolis/node/core/network/dhcp4c",
15 "//metropolis/node/core/network/dhcp4c/callback",
Tim Windelschmidt4f586b52025-04-02 15:04:10 +020016 "//osbase/bringup",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020017 "//osbase/socksproxy",
18 "//osbase/supervisor",
Lorenz Brund13c1c62022-03-30 19:58:58 +020019 "@com_github_google_nftables//:nftables",
20 "@com_github_google_nftables//expr",
21 "@com_github_insomniacslk_dhcp//dhcpv4",
22 "@com_github_insomniacslk_dhcp//dhcpv4/server4",
23 "@com_github_vishvananda_netlink//:netlink",
Lorenz Brun52f7f292020-06-24 16:42:02 +020024 ],
25)
26
27go_binary(
28 name = "nanoswitch",
Lorenz Brund13c1c62022-03-30 19:58:58 +020029 embed = [":nanoswitch_lib"],
Serge Bazanski0be9be82021-01-07 15:23:44 +010030 visibility = ["//visibility:private"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020031)
32
Serge Bazanski662b5b32020-12-21 13:49:00 +010033node_initramfs(
Lorenz Brun52f7f292020-06-24 16:42:02 +020034 name = "initramfs",
35 files = {
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010036 "/init": ":nanoswitch",
Lorenz Brun52f7f292020-06-24 16:42:02 +020037
38 # CA Certificate bundle
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010039 "/etc/ssl/cert.pem": "@cacerts//file",
Lorenz Brun52f7f292020-06-24 16:42:02 +020040 },
Serge Bazanskia3938142022-04-04 17:04:47 +020041 fsspecs = [
Tim Windelschmidtc2290c22024-08-15 19:56:00 +020042 "//osbase/build:earlydev.fsspec",
Serge Bazanskia3938142022-04-04 17:04:47 +020043 ],
Serge Bazanski0be9be82021-01-07 15:23:44 +010044 visibility = ["//metropolis/test:__subpackages__"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020045)