blob: a3163f5caf3583e684a294c61e13bb9eefefce5f [file] [log] [blame]
Lorenz Brun52f7f292020-06-24 16:42:02 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
Serge Bazanski662b5b32020-12-21 13:49:00 +01002load("//metropolis/node/build: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",
16 "//metropolis/pkg/logtree",
Serge Bazanskibe742842022-04-04 13:18:50 +020017 "//metropolis/pkg/socksproxy",
Lorenz Brund13c1c62022-03-30 19:58:58 +020018 "//metropolis/pkg/supervisor",
19 "//metropolis/test/launch",
20 "@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"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020032 pure = "on",
Serge Bazanski0be9be82021-01-07 15:23:44 +010033 visibility = ["//visibility:private"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020034)
35
Serge Bazanski662b5b32020-12-21 13:49:00 +010036node_initramfs(
Lorenz Brun52f7f292020-06-24 16:42:02 +020037 name = "initramfs",
38 files = {
39 ":nanoswitch": "/init",
40
41 # CA Certificate bundle
42 "@cacerts//file": "/etc/ssl/cert.pem",
43 },
Serge Bazanskia3938142022-04-04 17:04:47 +020044 fsspecs = [
45 "//metropolis/node/build:earlydev.fsspec",
46 ],
Serge Bazanski0be9be82021-01-07 15:23:44 +010047 visibility = ["//metropolis/test:__subpackages__"],
Lorenz Brun52f7f292020-06-24 16:42:02 +020048)