hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas cc74a2c1f6 feat(nix): make the swarm CA hierarchy opt-in
A swarm's services and its hives can live on different hosts, and a host
has no way to tell whether it is the one holding the root — so setting
the swarm CA up is an operator action, not something a host infers.
`swarm.ca.autoConfigure` is off by default and is the only thing that
issues a hive sub-CA, which is also the only case that *can*: signing
one needs the root's private key, and that key is deliberately not on a
hive host otherwise.

With the flag off, a hive self-signs its CA exactly as it always has.
That keeps a plain hive working out of the box; what it gives up is
membership of a swarm's trust hierarchy, which is the right thing to
give up for a hive nobody has federated.

Replaces a default derived from `swarm.peers == { }`. That read "no
peers declared" as "everything is local", which is not the same claim —
a hive can belong to a swarm it has not declared yet, or to one whose
services run elsewhere entirely.
2026-08-05 15:57:50 +02:00
..
hive-c0re refactor(nix): move the matrix host options under services.hyperhive.swarm 2026-08-05 13:45:09 +02:00
hive-forge fix(nix): keep the domain-derived defaults total 2026-08-05 15:56:49 +02:00
hive-gateway refactor(nix): move the matrix host options under services.hyperhive.swarm 2026-08-05 13:45:09 +02:00
lib feat(nix): issue each hive's CA under a swarm root CA 2026-08-05 15:57:50 +02:00
default.nix feat(nix): issue each hive's CA under a swarm root CA 2026-08-05 15:57:50 +02:00
hive-ci.nix feat(nix): move the forge host options under services.hyperhive.swarm 2026-08-05 03:44:53 +02:00
hive-matrix.nix fix(nix): keep the domain-derived defaults total 2026-08-05 15:56:49 +02:00
hive-network.nix feat(nix): require swarm.domain and hiveName 2026-08-05 15:56:49 +02:00
hive-priv.nix fix(#2573): also add /etc/tmpfiles.d to hive-priv ReadWritePaths (same EROFS class) 2026-07-18 16:39:20 +02:00
hive-tls.nix feat(nix): make the swarm CA hierarchy opt-in 2026-08-05 15:57:50 +02:00
hyperhive.nix feat(nix): require swarm.domain and hiveName 2026-08-05 15:56:49 +02:00
otel.nix refactor: nix/host-modules + nix/agent-modules layout, update doc paths 2026-07-13 22:05:49 +02:00
swarm-ca.nix feat(nix): make the swarm CA hierarchy opt-in 2026-08-05 15:57:50 +02:00
swarm-controller.nix feat(nix): swarm-controller systemd unit, service user and socket 2026-08-05 14:59:37 +02:00
swarm-snapshot-store.nix refactor(#2862): keep the option at services.hyperhive.snapshotStore 2026-07-31 19:03:24 +02:00
swarm-wireguard.nix refactor(#2862): split the wireguard mesh out of swarm.nix 2026-07-31 19:03:24 +02:00
swarm.nix refactor(#2862): one snapshot store per swarm, not one per peer 2026-07-31 22:15:37 +02:00