vault: stop systemd-tmpfiles reaping openbao plugin sockets #508
Reference in New Issue
Block a user
Delete Branch "benvin/openbao-plugin-socket-tmpfiles"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
The litellm secrets engine died on the OpenBao cluster (terraform-vault#112): every request returned
rpc Unavailable / dial unix /tmp/pluginNNN: no such file, fixed only by a manualsys/plugins/reload/backend.Root cause (evidenced from central logs): go-plugin puts each plugin's control socket at
/tmp/pluginNNN.vault.serviceruns without PrivateTmp, andsystemd-tmpfiles-cleanruns daily on every bao node deleting aged/tmpfiles. bao had a single systemd invocation across 3+ weeks (no restart), so the socket was far older than the cleanup age and got reaped. The plugin process never crashed (no panic/OOM/signal/exit in the journal until the manual reload) — the cleaner just removed the socket out from under a live process. Node 2002's clean ran 08-04 14:50Z; issue #112 was filed ~10 min later.This is not litellm-specific: every OpenBao plugin (gpg, rancher, gitea, ...) shares the same
/tmpsocket and the same fate.Change
x /tmp/plugin*on all vault servers so plugin control sockets survivesystemd-tmpfiles-clean.Takes effect on the next clean; no vault restart required.
https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
Superseded by the permanent TMPDIR drop-in approach (per user): instead of excluding plugin sockets from the /tmp cleaner, move them off /tmp entirely onto /run (tmpfs, no age-based cleanup) via a vault.service drop-in. Closing in favour of the new PR.
Pull request closed