docs(3202): state the file's scope positively

Per mara's review: "describe what is, not what is not."

The header said "the swarm services' vhosts are NOT here", which
describes the file by its absences and dates immediately — the list of
what is missing grows every time a service is added, while the list of
what the file holds does not.

Reworded to say what it is: the hive's own gateway surface (the `_`
default server and the vhost named for the hive domain), with the scope
line stating where a swarm service's vhost lives rather than where it
doesn't.
This commit is contained in:
atlas 2026-08-14 09:52:44 +02:00
commit 3be7a211d0

View file

@ -1,14 +1,14 @@
# nginx virtual-host tree for the gateway: the `_` default server —
# now only a catch-all that rejects — and the hive's own domain, which
# carries the dashboard, per-agent routing, matrix discovery and the
# swagger UI.
# nginx virtual-host tree for the **hive's own** gateway surface: the `_`
# default server, which answers unmatched `Host` with a bare 444, and the
# vhost named for the hive domain, which carries the dashboard, per-agent
# routing, matrix discovery, the swagger UI and the legacy
# `<hive>/matrix/*` redirect.
#
# ⚠️ The swarm services' vhosts are NOT here. Forge, matrix and authelia
# each declare their own, built from the same kit this file consumes
# (`services.hyperhive.gateway.lib`, ./vhost-lib.nix), so a service owns
# its whole gateway surface — vhost and dns name — inside its own
# module. A service name appearing in this file is the signal that the
# coupling is growing back.
# Scope: a swarm service declares its own vhost and dns name in its own
# module, built from the kit this file also consumes
# (`services.hyperhive.gateway.lib`, ./vhost-lib.nix). That keeps a
# service's gateway surface next to the service, and keeps this file to
# the surface the hive itself serves.
#
# Pure function — called from ./default.nix with the outer-scope config
# values as arguments; returns `{ virtualHosts }`.