mirror of
https://github.com/andrewyng/openworker.git
synced 2026-11-14 14:07:13 +00:00
Copied credentials (and the policy file) went into tempfile.mkdtemp() under /tmp and were bind-mounted into the sandbox. NVIDIA's installer runs the gateway as a systemd user service with PrivateTmp=true, so the gateway has its own empty /tmp: the mount source "does not exist" for it and every session with a shared credential failed to create. Verified through /proc/<gateway pid>/mountinfo and /proc/<pid>/root/tmp. The folder is now `<state dir>/sandbox-runtime/ow-openshell-<pid>-<random>/`: on the real filesystem, owner-only, and a SIBLING of `sandbox/`, never a child, because `sandbox/` is mounted read-only into every sandbox for the runner and copied keys must not be readable from another session's sandbox. The server pid in the name lets the registry's reap sweep the folders of a dead server, which /tmp used to do on its own.