hyperhive/nix/modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 056a442a18 fix(#2310): hive-ci private network — bridge-connected, no host-loopback reach
Give hive-ci its own network namespace (privateNetwork=true, hostBridge)
instead of sharing the host netns. This closes the path by which a
prompt-injected PR nix build could reach the unauthenticated dashboard
at 127.0.0.1:7000.

The runner now reaches the forge through the gateway:
- networking.extraHosts maps forgeCfg.domain → bridgeIp
- runner url = http://${forgeCfg.domain} (gateway port 80, addSSL=true,
  no HTTP→HTTPS redirect — HTTP is served alongside HTTPS)
- networking.useDHCP = true for the bridge-attached veth
- networking.nameservers = [bridgeIp] (dnsmasq on bridge, external fwd)

Ports 80 and 443 are already open on the bridge firewall (hive-network.nix).
The bridge→127.0.0.0/8 DROP rule (defence-in-depth) is unchanged — CI
can no longer reach 127.0.0.1:{7000 dashboard, forge httpPort, etc.}.

Requires forge.behindGateway=true (the default when hyperhive is enabled)
— asserted so misconfigured hosts get a clear build error.

Note: the host-side hive-ci-prefetch script still uses
127.0.0.1:${httpPort} directly (it runs on the host, not in the
container) — no change needed there.
2026-07-10 12:54:46 +02:00
..
hive-c0re.nix fix(#1868): use HIVE_FORGE_URL for internal forge calls 2026-07-09 00:45:13 +02:00
hive-ci.nix fix(#2310): hive-ci private network — bridge-connected, no host-loopback reach 2026-07-10 12:54:46 +02:00
hive-forge.nix chore(docs,nix): fix stale 'localhost via shared netns' claims in forge/matrix 2026-07-04 22:54:38 +02:00
hive-gateway.nix chore(nix): remove stale 'privsep phase 2' labels from comments 2026-07-04 21:04:18 +02:00
hive-matrix.nix chore(docs,nix): fix stale 'localhost via shared netns' claims in forge/matrix 2026-07-04 22:54:38 +02:00
hive-network.nix chore(nix): trim stale body from deprecated isolateContainers option doc 2026-07-04 21:57:26 +02:00
hive-tls.nix refactor(#2015): drop redundant domain != null checks (domain is required) + update docs 2026-06-27 21:02:55 +02:00