Skip to content

Add opt-in sandboxfs created ownership mapping - #170

Open
nickryand wants to merge 1 commit into
earendil-works:mainfrom
nickryand:fuse-cache-owner-group
Open

nickryand wants to merge 1 commit into
earendil-works:mainfrom
nickryand:fuse-cache-owner-group

Conversation

@nickryand

Copy link
Copy Markdown
Contributor

This adds a new opt-in feature to sandboxfs called map_created_ownership which will preserve the UID/GID of a created file or directory within the Guest. This is in-memory only while the sandbox is being ran. If the sandbox vm reboots, the files/directories revert back to the hosts uid/gid.

I ran into an issue when trying to run hunk diff viewers daemon mode within the sandbox. Hunk drops credentials to the file system so other instances of hunk can read those credentials and connect to the local socket. Hunk has a permissions check where it validates the owner of the directory it's going to write the credentials into is owned by the UID the hunk process is running as. This would fail inside of Gondolin when trying to write the credentials to a mounted folder that is owned by a different UID than the hunk process running inside the sandbox.

It is global for all mounted host mounted directories in the current form. I hand tested it and was successful.

Contribution Agreement

Please ensure this PR follows the guidelines in CONTRIBUTING.md.

By submitting this pull request, I confirm the following:

I understand that the entity Earendil Inc. (incorporated in the state of Delaware in 2025) needs some rights from me in order to utilize my contributions in this PR. As a contributor I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Earendil Inc. can use, modify, copy, and redistribute my contributions, under Earendil Inc.'s choice of terms.

@nickryand
nickryand force-pushed the fuse-cache-owner-group branch from 96eaa4c to ff31dd0 Compare October 13, 2026 05:14

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant