vagga
vagga copied to clipboard
Running vagga on strange file systems.
The examples are:
- Running on vagrant in
/vagrantfolder - Same as (1) but running on windows
- Fuse file systems
- Some kind of NFS
- Fat32 or some other weird file system (not sure it's important)
- Encrypted file systems
In the case (2) and (5) are problematic because they doesn't support symlinks. Case (1) and (3) may have issue with user namespaces (there is a patch in vagrant which probably solve the issue), because they mount filesystem with user=x,group=x. Not sure about NFS. Not sure about OS X.
There are three kind of issues:
- Unable to write files inside the namespace (at least for case (1) above)
- Unable to do symlinks
- Inefficient resource usage (NFS, Fuse, maybe vboxsf)
- Mount --bind sometimes fail (encrypted fs, #124)
The case (3) is currently fixed with storage-dir in settings
For avoiding other issues the current best practice is:
mkdir .vagga
sudo mount --bind /some/writable/folder .vagga
vagga whatever
It's probably possible to:
- Automatically detect this condition to vagga and propose
storage-dir: /home/<user>/.cache/vagga - Setup the storage dir in a way that doesn't require manipulating .vagga folder inside the user namespace and doesn't require symlinks in source folder
The problems to solve:
- There are links
.vagga/<container_name>which are super-useful in the IDE's, it's not clear how to setup them in all the cases above (i.e. when symlinks doesn't work) - The layout of
.vaggafolder to support this. Probably.vagga/.lnkmight be a text file - Security measures (i.e. if we manipulate
.vaggabefore setting up chroot, we may touch folder outside of both project dir andstorage-dir, which is a security issue)