hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 467cb347ad feat(3112): the swarm-nats container, fail-closed
A swarm has one message queue; this is the container that runs it, in
the same shape as every other swarm service. Off by default, and off
means absent.

The auth_callout block is the interim state and the final one at once.
Measured on the pinned nats-server rather than reasoned about: an empty
authorization block, and one with an empty users list, both accept an
anonymous client and answer PONG. auth_callout sets auth_required and
refuses everyone until a responder approves them, so a config whose
responder does not exist yet denies by default -- and the responder
lands beside it without any of this being swapped out.

That matters more here than it would elsewhere because the container
shares the host netns, so an unauthenticated interim state would be
reachable from every agent container on the hive.

No package option, deliberately: nixpkgs' nats module resolves
pkgs.nats-server itself and exposes none, so one here would name
something it cannot control.

No gateway vhost either: NATS speaks its own TCP protocol, nginx cannot
front it, and cross-hive reach is the wireguard mesh.
2026-08-14 16:26:12 +02:00
..
hive-c0re fix(3191): let hive-c0re write the gateway conf dir under strict sandboxing 2026-08-12 16:39:58 +02:00
hive-forge refactor(3202): the forge declares its own vhost and dns name 2026-08-13 16:14:36 +02:00
hive-gateway docs(3202): state the file's scope positively 2026-08-14 09:52:44 +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(3112): the swarm-nats container, fail-closed 2026-08-14 16:26:12 +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(3150): deliver the OIDC client secret from authelia to the homeserver 2026-08-14 10:56:34 +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 docs(3191): drop the migration history from the gateway comments 2026-08-12 13:26:58 +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 refactor(3202): all-local asserts the host's own /etc/hosts entries 2026-08-13 17:26:08 +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(3202): authelia declares its own vhost and dns name 2026-08-13 16:14:37 +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-controller.nix swarm-ui: real hive-roster overview page 2026-08-13 11:21:30 +02:00
swarm-nats.nix feat(3112): the swarm-nats container, fail-closed 2026-08-14 16:26:12 +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-ui.nix refactor(3202): the swarm UI declares its own vhost and dns name 2026-08-13 16:19:08 +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(3167): options + certificate name for the swarm UI 2026-08-12 17:29:13 +02:00