hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 93b89fd566 feat(nix): assert swarm service names live under swarm.domain
Those names are certified by the swarm-services sub-CA, which is
name-constrained to the swarm's own tree. A service hostname outside
it has no issuer in this deployment -- not a misconfiguration that
degrades, one that cannot produce a matching certificate at all.

Asserting it turns "your certs mysteriously don't work" into an eval
failure that names the option to edit. It applies to every
deployment, not only the autoconfigured one: an operator bringing
their own certificates still needs to know which names they are
bringing them for.

The message names the option rather than only the value, which is why
the hostnames are carried as (option, value) pairs and flattened into
serviceDomains afterwards -- flattening drops exactly the provenance
an error message needs.

Guarded on a null swarm.domain so hive-network.nix's required-domain
assertion stays the one that fires for that case.
2026-08-05 22:43:03 +02:00
..
hive-c0re refactor(nix): swarm.peers becomes swarm.hives, a directory of every hive 2026-08-05 20:44:16 +02:00
hive-forge fix(nix): keep the domain-derived defaults total 2026-08-05 15:56:49 +02:00
hive-gateway feat(nix): serve swarm-service vhosts the swarm-services leaf 2026-08-05 22:43:03 +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 refactor(nix): swarm.peers becomes swarm.hives, a directory of every hive 2026-08-05 20:44:16 +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 refactor(nix): swarm.peers becomes swarm.hives, a directory of every hive 2026-08-05 20:44:16 +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): issue a swarm-services leaf, and renew it with the hive one 2026-08-05 22:43:03 +02:00
hyperhive.nix refactor(nix): make all-local a deployment mode, not a default 2026-08-05 19:41:11 +02:00
local-defaults.nix refactor(nix): make all-local a deployment mode, not a default 2026-08-05 19:41:11 +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 refactor(nix): make all-local a deployment mode, not a default 2026-08-05 19:41:11 +02:00
swarm-ca.nix feat(nix): issue a swarm-services leaf, and renew it with the hive one 2026-08-05 22:43:03 +02:00
swarm-controller.nix feat(nix): swarm-controller systemd unit, service user and socket 2026-08-05 14:59:37 +02:00
swarm-peers-removed.nix refactor(nix): swarm.peers becomes swarm.hives, a directory of every hive 2026-08-05 20:44:16 +02:00
swarm-required-services.nix refactor(nix): make all-local a deployment mode, not a default 2026-08-05 19:41:11 +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(nix): swarm.peers becomes swarm.hives, a directory of every hive 2026-08-05 20:44:16 +02:00
swarm.nix feat(nix): assert swarm service names live under swarm.domain 2026-08-05 22:43:03 +02:00