Feature #18960
openConfig option to make crunch-run use Go FUSE driver when all mounts are read-only
Description
If the new config option (Containers.UseBuiltinMountWhenReadOnly
, default false) is true
and there will be no writes to the fuse mount (e.g., singularity image cache, output or other writable collection mounts specified by the container), crunch-run should start a Go fuse process instead of arv-mount.
The fuse driver should be started in a separate process via "/proc/self/exe mount ..."
or similar, so it works (and uses the same code version as crunch-run itself) without any extra compute worker image preparation. Document any new runtime dependencies (hopefully none -- arv-mount already requires libfuse).
Any missing features, performance regressions, or user-observable differences (e.g., crunchstat) relative to the arv-mount setup should be noted as follow-up issues, but should not be considered blockers. The goal here is to make it possible to enable the Go option, starting with dev clusters, and test/measure for such differences and prioritize them accordingly.
Related issues