docs: let the crate README own the technical detail, point at it

Per review: crate READMEs will be served on the docs page, so the same
technical content in docs/swarm.md and the repo map is redundancy, not
thoroughness.

docs/swarm.md keeps only what is operator-facing and specific to it --
the option, and why enable is not derived from services.hyperhive.enable
-- and points at the README for the socket-directory constraint. The repo
map keeps the one-line warning and the pointer, not the argument.

This is the same correction as the AgentWindow comments: I had written
the socket rationale into five places and called it coverage. Correcting
every copy is what preserves the cause.
This commit is contained in:
atlas 2026-08-05 12:31:51 +02:00 committed by mara
commit dde0e1a8c1
2 changed files with 12 additions and 33 deletions

View file

@ -145,13 +145,9 @@ hand-maintained per-file tree drifts out of sync with the code.
(`services.hyperhive.swarm.controller.enable`). Where `hive-c0re` owns
the agents on **one** host, this owns what is true **across** hives; a
swarm runs one of them, so most hives leave it off. Serves HTTP over a
unix socket (never a TCP port) that the gateway's nginx proxies to.
⚠️ The socket lives in its **own** `RuntimeDirectory`: it is `0666`
(nginx is a different user and `connect(2)` needs write), so the
containing directory — bind-mounted wholesale into the gateway
container — is the only access control there is. Never move it under a
directory shared with anything else, `/run/hyperhive` (host admin
socket) above all. A unit test pins the path.
unix socket the gateway's nginx proxies to — ⚠️ **the socket's
directory is its access control**; the constraint that governs it is in
the crate's README, and a unit test pins the path.
### External dependencies with no directory here