cap-std icon indicating copy to clipboard operation
cap-std copied to clipboard

Ability to construct virtual `Dir`s to mount files and subdirectories into

Open primoly opened this issue 9 months ago • 5 comments

Specifically with the option for those files/dirs to just be paths that don’t need to be opened when mounted. Note: When I say “mount” here this would only be internal to the Dir struct and not actual mounts on the underling filesystem. Similar to Pool’s insert methods.

Would particularly be interesting to create a root Dir which would just be / on Unix but on Windows a folder exposing all drive letters as subfolders. I understand that this specific use case may be controversial, as it seems to go against the spirit of this crate. But I believe the opposite to be true: The great thing about this API is that it doesn’t just have one or two layers (as more basic security systems), but arbitrarily many as each Dir recursively can be used to create narrower views. So I don’t think one global directory as the base to craft more specialised capabilities would inherently be a bad idea.

Based originally on thinking in https://github.com/bytecodealliance/wasmtime/issues/8552 to solve the problem of Windows (unlike Unix) not having a single root folder but essentially one for each volume, which makes cap-std difficult to use in some contexts.

I apologise should what I propose already be possible, in a quick look into the docs I haven’t figured out a way to do this.

primoly avatar May 06 '24 17:05 primoly