nixcfg/systems
Harald Hoyer 67b7c3a9fd feat(headscale): add ACL policy, isolate mx, make mx an exit node
Introduces a headscale ACL policy (file-mode) plus matching client config:

- New systems/x86_64-linux/attic/headscale-policy.hujson:
  * tag:llm restricts a node to talking only to halo:8000
  * all other harald@ nodes have full mesh access to each other
  * harald@ nodes can route internet traffic via approved exit nodes
  * autoApprovers.exitNode = [tag:llm] auto-approves the exit route
    advertised by any tag:llm node (currently mx)

- attic headscale.nix: wire policy.mode = "file" / policy.path to
  the .hujson above.

- mx default.nix: enable useRoutingFeatures = "server" (needed for IP
  forwarding) and add extraSetFlags = ["--advertise-exit-node"] so the
  flag is reapplied on every activation, not just initial login.

Operational steps after deploy:
  headscale nodes tag -i 10 -t tag:llm
2026-05-13 09:06:40 +02:00
..
aarch64-darwin feat(m4): add opencode 2026-04-25 05:11:39 +02:00
aarch64-linux nix fmt 2026-02-24 13:25:42 +01:00
x86_64-darwin/mpro nix fmt 2024-11-19 10:31:29 +01:00
x86_64-linux feat(headscale): add ACL policy, isolate mx, make mx an exit node 2026-05-13 09:06:40 +02:00
nixbuild.nix chore: nix fmt 2026-05-03 14:57:49 +02:00