blob: c82f4094f730474a55d9f30a594d0fd1489b9be1 [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 Windelschmidt9f21f532024-05-07 15:14:20 +020016 "//osbase/logtree",
17 "//osbase/socksproxy",
18 "//osbase/supervisor",
19 "//osbase/test/launch",
Lorenz Brund13c1c62022-03-30 19:58:58 +020020 "@com_github_google_nftables//:nftables",
21 "@com_github_google_nftables//expr",
22 "@com_github_insomniacslk_dhcp//dhcpv4",
23 "@com_github_insomniacslk_dhcp//dhcpv4/server4",
24 "@com_github_vishvananda_netlink//:netlink",
25 "@org_golang_x_sys//unix",
Lorenz Brun52f7f292020-06-24 16:42:02 +020026 ],
27)
28
29go_binary(
30 name = "nanoswitch",
Lorenz Brund13c1c62022-03-30 19:58:58 +020031 embed = [":nanoswitch_lib"],
Serge Bazanski0be9be82021-01-07 15:23:44 +010032 visibility = ["//visibility:private"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020033)
34
Serge Bazanski662b5b32020-12-21 13:49:00 +010035node_initramfs(
Lorenz Brun52f7f292020-06-24 16:42:02 +020036 name = "initramfs",
37 files = {
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010038 "/init": ":nanoswitch",
Lorenz Brun52f7f292020-06-24 16:42:02 +020039
40 # CA Certificate bundle
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010041 "/etc/ssl/cert.pem": "@cacerts//file",
Lorenz Brun52f7f292020-06-24 16:42:02 +020042 },
Serge Bazanskia3938142022-04-04 17:04:47 +020043 fsspecs = [
Tim Windelschmidtc2290c22024-08-15 19:56:00 +020044 "//osbase/build:earlydev.fsspec",
Serge Bazanskia3938142022-04-04 17:04:47 +020045 ],
Serge Bazanski0be9be82021-01-07 15:23:44 +010046 visibility = ["//metropolis/test:__subpackages__"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020047)