hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 0befa4f36d feat(tls): adopt the swarm CA automatically, but only where it is safe
A hive whose CA predates the swarm root keeps a self-signed CA, and
nothing re-roots it. That is what makes the hierarchy non-disruptive,
and it also means the O(1)-trust payoff never arrives for that hive.

Adoption now happens by itself where this host owns the root, and
nowhere else. The split is the whole design: adoption invalidates an
anchor consumers already trust, and they refresh on their own schedule —
on one box that schedule is knowable, across hosts it is not. So the
all-local case migrates itself and every other case gets a failure that
names both files, gives the two-command recipe, says why it is not
automatic, and offers the marker as a deliberate opt-out.

The previous CA rides in the trust bundle afterwards. Consumers read the
bundle rather than ca.pem, so adoption is additive before it is
subtractive; agents pick up new trust only when their container
restarts, which is a window even on a single host. Dropping the old
anchor stays a separate, deliberate step.
2026-08-05 18:53:51 +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): the swarm's authelia, in a swarm-authelia container 2026-08-05 17:56:51 +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 feat(nix): matrix follows the swarm's shared-services toggle 2026-08-05 17:58:31 +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(tls): adopt the swarm CA automatically, but only where it is safe 2026-08-05 18:53:51 +02:00
hyperhive.nix feat(nix): one switch for an all-on-one-host deployment 2026-08-05 17:50:46 +02:00
otel.nix refactor: nix/host-modules + nix/agent-modules layout, update doc paths 2026-07-13 22:05:49 +02:00
swarm-authelia.nix feat(nix): the swarm's authelia, in a swarm-authelia container 2026-08-05 17:56:51 +02:00
swarm-ca.nix feat(nix): one switch for an all-on-one-host deployment 2026-08-05 17:50:46 +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 docs: split swarm.md into a directory, starting with the services page 2026-08-05 18:07:04 +02:00