Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/docs/process
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas b807189692 swarm-logs-auth: run as a static user so nginx reaches its socket
With DynamicUser=true and RuntimeDirectoryPreserve=yes, systemd creates
the unit's runtime directory under /run/private/ (0700 root:root) and
symlinks /run/swarm-logs-auth to it (systemd.exec(5),
RuntimeDirectoryPreserve=). nginx runs as the unprivileged nginx user, so
its connect() to /run/swarm-logs-auth/auth.sock failed with EACCES, the
auth subrequest ended in a 502, and auth_request answered every agent
bearer on /select/logsql/ with a 500.

The unit now runs as a static swarm-logs-auth system user and group, the
shape swarm-controller already uses for its 0751 + Preserve socket dir.
RestrictSUIDSGID and RemoveIPC, which DynamicUser implied and the unit
did not set itself, are set explicitly.

module-eval-core-toggle gains a case that fails when any unit creating
the runtime directory of a unix: upstream of nginx combines DynamicUser
with RuntimeDirectoryPreserve. docs/process/gotchas.md records the trap.

Fixes #5235
2026-10-14 17:55:28 +02:00
..
conventions.md agents: login shells read the hive facts too; test the readers 2026-10-12 10:52:21 +02:00
gotchas.md swarm-logs-auth: run as a static user so nginx reaches its socket 2026-10-14 17:55:28 +02:00
pr-review-gate.md docs: suppress reviewed write-good.Passive false positives 2026-09-20 16:24:11 +02:00