hyperhive/nix/modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 1a3f82a459 nix(gateway): self-signed TLS as the implicit default, deprecate the toggle
Make self-signed TLS the gateway's default whenever no external TLS source
is configured, and deprecate the explicit selfSignedTls toggle. Self-signed
is now derived as `tls.certDir == null && !tls.acme.enable`, so an operator
selects a TLS mode by setting tls.certDir or tls.acme — or neither, for the
self-signed default. There is no http-only mode: matrix discovery hardcodes
https, so the gateway always terminates TLS.

The selfSignedTls option is kept as a deprecated no-op (warns when set to
false) so existing configs still eval. The two selfSignedTls mutual-
exclusion assertions and the HSTS-requires-TLS assertion are dropped — they
are impossible or vacuous now that self-signed is the floor. The hive-tls
module and the forge ROOT_URL scheme consume the derived value: the gateway
always terminates TLS, so behind the gateway the forge is always advertised
over https.

Updates docs/gateway.md (TLS-modes table, self-signed section, the removed
http-only section, firewall + discovery notes). Eval-proven: default →
self-signed (hive CA active, https ROOT_URL); tls.certDir → CA inactive;
selfSignedTls=false → deprecation warning fires.
2026-06-17 21:14:05 +02:00
..
hive-c0re.nix nix(tls): host hive-CA + gateway leaf for self-signed mode 2026-06-17 19:04:52 +02:00
hive-ci.nix fix(ci): resolve the forge domain to loopback in the hive-ci runner 2026-06-15 13:32:01 +02:00
hive-forge.nix nix(gateway): self-signed TLS as the implicit default, deprecate the toggle 2026-06-17 21:14:05 +02:00
hive-gateway.nix nix(gateway): self-signed TLS as the implicit default, deprecate the toggle 2026-06-17 21:14:05 +02:00
hive-matrix.nix nix: remove the non-isolated (shared-netns) mode 2026-06-17 15:29:52 +02:00
hive-network.nix nix: remove the non-isolated (shared-netns) mode 2026-06-17 15:29:52 +02:00
hive-tls.nix nix(gateway): self-signed TLS as the implicit default, deprecate the toggle 2026-06-17 21:14:05 +02:00