hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas d14963ad2b fix(#3391): give the swarm controller hive-CA trust
The controller's forge client speaks TLS to `https://<forge domain>`,
which the gateway serves with a leaf signed by the hive CA. That CA is
generated at runtime, so nothing build-time can name it and it is not in
the system store -- and `reqwest`/`rustls` resolves roots through
`rustls-native-certs`, whose `SSL_CERT_FILE` *replaces* the store rather
than adding to it. With no bundle wired, every forge call failed
`invalid peer certificate: UnknownIssuer` and agent creation died at its
first step.

`lib/hive-ca-trust.nix` already solved this, but only for containers: it
sources the CA through `/run/hive-ca/trust-bundle.pem`, a bind mount that
does not exist on the host. `hostUnit` makes it read the host copy and
wait on `hive-tls-ca.service` itself -- one flag driving both, because a
host source without that ordering is a race.

`enable` is the other half, and it is the sharp edge: a container caller
imports this into the container's module set, so it disappears with the
container. A host caller imports it at the host's top level, where
`imports` is unconditional -- without the flag, a hive with the
controller turned off would get a bundle oneshot and a `swarm-controller`
service conjured by `genAttrs`, holding an `SSL_CERT_FILE` and no
`ExecStart`.
2026-08-18 17:49:57 +02:00
..
hive-c0re feat(swarm): wire a hive's queue coordinates for status publishing 2026-08-16 13:14:03 +02:00
hive-forge fix(#3396): move the forge onto the shared trust-bundle helper 2026-08-17 20:35:56 +02:00
hive-gateway docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
lib fix(#3391): give the swarm controller hive-CA trust 2026-08-18 17:49:57 +02:00
default.nix feat(#3265): swarm metrics UI as a Grafana container 2026-08-16 22:27:05 +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(#3162): warn when a hive with an existing homeserver has not pinned serverName 2026-08-18 12:29:31 +02:00
hive-network.nix docs(3191): the gateway's comments describe a host service, not a container 2026-08-12 12:20:28 +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 fix(#3349): do not define a controller env key on hives with no controller 2026-08-16 20:55:39 +02:00
hyperhive.nix refactor(nix): a hive's domain comes out of the swarm directory 2026-08-05 22:43:17 +02:00
local-defaults.nix fix(#3343): move the all-local queue derivations into the deployment mode 2026-08-16 19:37:49 +02:00
otel.nix docs(#3265): observability.md still said the endpoint was required 2026-08-16 22:27:05 +02:00
swarm-authelia.nix fix(#3422): stop pointing the bridge at a second user store 2026-08-18 10:31:48 +02:00
swarm-ca.nix fix(nix): a missing swarm-services leaf must not kill the whole gateway 2026-08-06 00:30:22 +02:00
swarm-container-resolver.nix fix(#3363): swarm containers write their own resolver file 2026-08-17 17:30:15 +02:00
swarm-controller.nix fix(#3391): give the swarm controller hive-CA trust 2026-08-18 17:49:57 +02:00
swarm-grafana.nix feat(#3405): declarative grafana plugins for the swarm dashboard 2026-08-17 22:24:07 +02:00
swarm-nats.nix fix(#3363): give the queue's auth responder the hive CA 2026-08-17 19:57:44 +02:00
swarm-peers-removed.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm-required-services.nix swarm-required-services: trim otel.enable comment per review 2026-08-17 19:36:49 +02:00
swarm-snapshot-store.nix refactor(#2862): keep the option at services.hyperhive.snapshotStore 2026-07-31 19:03:24 +02:00
swarm-ui.nix feat(#3255): expose the controller's webhook endpoint through the swarm vhost 2026-08-18 12:28:09 +02:00
swarm-victoriametrics.nix fix(#3363): swarm containers write their own resolver file 2026-08-17 17:30:15 +02:00
swarm-wireguard.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm.nix feat(swarm): wire a hive's queue coordinates for status publishing 2026-08-16 13:14:03 +02:00