feat: add namespace isolation and minimal root filesystem to bwrap sandboxes #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Nanobot/chat-app:feat/bwrap-isolation-v2"
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?
Replace --ro-bind / / (entire host filesystem) with minimal root:
only explicitly bound paths are accessible.
Namespace isolation (no user namespace — breaks Bun module resolution):
Minimal filesystem binds:
Verified:
Updated AGENTS.md with PR workflow (fork-based PRs)
Broken: log line
Prints the literal string
/usr/local/bin/bun --version. Should be$(${BUN} --version).Broken:
SESSION_SECRET_PATHon the backendThe backend gets
--setenv SESSION_SECRET_PATH "${AUTH_DIR}/session-secret"but has no bind mount forAUTH_DIR. That path doesn't exist in the backend's filesystem view. The backend should read the session secret via the auth socket, delete this env var.waitdoesn't handle crashesIf either process dies,
waitjust waits for the remaining one forever. The container stays "up" with half the app dead.wait -nexits as soon as either child dies, letting the container runtime restart cleanly.Fixed all three:
$($BUN --version)— now prints actual versionSESSION_SECRET_PATHfrom backend sandbox — path wasn't mountedwaitcalls →wait -n— exits when either process diesView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.