blob: 58555b51251d50c77d36469e21d042f82fc08efd [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 = [
Jan Schär0f8ce4c2025-09-04 13:27:50 +020013 "//metropolis/node/allocs",
Tim Windelschmidt4f586b52025-04-02 15:04:10 +020014 "//osbase/bringup",
Jan Schär07a39e22025-09-04 11:16:59 +020015 "//osbase/net/dhcp4c",
16 "//osbase/net/dhcp4c/callback",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020017 "//osbase/supervisor",
Jan Schär341cd422025-09-04 10:33:21 +020018 "//osbase/test/socksproxy",
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)