hyperhive/nix
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 30551464c1 fix(nix): drop the swarm-service-domain assertion, it asserted intent
Measured against a real config, not reasoned about: pinning
`swarm.forge.domain = "forge.<hive domain>"` while `swarm.domain` is a
different apex -- the documented way an existing deployment keeps its
names while joining a swarm -- FAILED eval under this assertion.

And the reason it gave was false. It said those names are certified by
the services sub-CA, "which is constrained to the swarm's own tree, so a
name outside it has no issuer here". The sub-CA is constrained to the
**configured names** (swarm-ca.nix builds its nameConstraints from the
derived list), and the swarm root carries no name constraints at all --
only basicConstraints and keyUsage. So any configured name is issuable,
and a legacy name under the hive domain is additionally signable by the
hive CA.

The assertion therefore encoded the shape I had in mind rather than a
constraint the code implements, and it rejected a configuration that
works. Removed rather than weakened: a narrower version would still
carry a claim nothing backs.

`serviceDomains` stays -- it feeds the sub-CA's name constraints, the
leaf's SANs and the per-vhost cert choice, and those three agreeing is
the thing that mattered. The (option, value) pairs collapse back to a
plain list, since the provenance existed only for the assertion message.
2026-08-05 22:43:03 +02:00
..
agent-modules docs: name the swarm display name by its new path 2026-08-05 11:15:41 +02:00
docs refactor(nix): move the matrix host options under services.hyperhive.swarm 2026-08-05 13:45:09 +02:00
host-modules fix(nix): drop the swarm-service-domain assertion, it asserted intent 2026-08-05 22:43:03 +02:00
packages fix(nix): swarm-controller is not a core binary, and it needed a README 2026-08-05 14:59:37 +02:00
templates refactor: nix/host-modules + nix/agent-modules layout, update doc paths 2026-07-13 22:05:49 +02:00
checks.nix fix(#2550): make pedantic clippy lints a hard error, fix stale checks.nix comment 2026-07-17 01:58:27 +02:00
devshell.nix refactor: slim flake.nix into nix/ entry files 2026-07-13 20:55:43 +02:00
rust.nix fix: select rust sources via filesets so new dirs keep the cargo cache 2026-07-13 21:16:29 +02:00
sources.nix refactor: slim flake.nix into nix/ entry files 2026-07-13 20:55:43 +02:00
treefmt.nix refactor: slim flake.nix into nix/ entry files 2026-07-13 20:55:43 +02:00