hyperhive/nix/modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 89609aaa6a feat(#569): wireguard inter-hive mesh option
Add opt-in WireGuard mesh support to services.hyperhive.swarm:

- swarm.peers.<domain>.wireguardPublicKey — peer's wg public key
- swarm.peers.<domain>.wireguardEndpoint  — peer's UDP endpoint (optional)
- swarm.peers.<domain>.wireguardAddress   — peer's mesh IP with prefix

- swarm.wireguard.enable           — bring up wg-hive interface
- swarm.wireguard.privateKeyFile   — path to host's wg private key
- swarm.wireguard.address          — this host's mesh IP/prefix
- swarm.wireguard.listenPort       — UDP listen port (default 51820)
- swarm.wireguard.persistentKeepalive — keepalive seconds (default 25)

When enabled, generates networking.wireguard.interfaces.wg-hive with
one peer entry per mesh-enabled swarm.peers entry. Opens listenPort
UDP on the host firewall. Adds wireguard_address to HYPERHIVE_PEERS
JSON so hive-c0re can use mesh IPs for intra-swarm routing.

Assertions guard against enable=true without privateKeyFile or address.

Also refactors networking.firewall.allowedTCPPortRanges from the
nested attrset form (which conflicted with the new allowedUDPPorts
line) to the per-attribute form.

docs/swarm.md: adds WireGuard setup section with key generation
commands, two-hive config example, NAT/keepalive notes.
2026-06-03 15:19:16 +02:00
..
hive-c0re.nix feat(#569): wireguard inter-hive mesh option 2026-06-03 15:19:16 +02:00
hive-ci.nix fix(#981): validate runner credentials on every boot, purge stale .runner 2026-06-02 00:27:47 +02:00
hive-forge.nix fix(#981): enable Forgejo Actions so runner registration token API works 2026-06-01 18:38:44 +02:00
hive-gateway.nix fix(#1052): use systemctl reload nginx instead of systemd-run 2026-06-02 01:00:48 +02:00
hive-matrix.nix fix(#1061): suppress tuwunel default displayname suffix 2026-06-02 11:18:38 +02:00
hive-network.nix network: fix stale assertion messages; move prose to docs/network.md 2026-06-03 11:19:29 +02:00