-
Notifications
You must be signed in to change notification settings - Fork 776
Description
New feature
Hi,
First, thank you again for Nextflow, which is a wonderful tool.
I would like to request the ability to use fusion without requiring wave. While wave is a great piece of software, I'm wondering if it is necessary just to provide the fusion executable. For example, the aws-cli executable is provided differently, and it seems possible to do the same for the fusion executable.
I have noticed that the fusion executables are available at:
https://fusionfs.seqera.io/releases/pkg/2/4/2/fusion-amd64.tar.gz
However, I didn't see any license information associated with it. Could you clarify if it's permissible to use it freely?
From what I understand, we would need to configure the container hosts to mount the fusion binary into /usr/bin and mount a temporary directory from the host into /fusion with chmod 777. This can be done with a command like:
docker run -it --mount type=tmpfs,destination=/fusion,tmpfs-mode=0777 -v /local/path/to/fusion:/usr/bin/fusion ubuntu
This can be setup easily with AWS Batch or docker with the configuration aws.batch.volumes and docker with docker.runOptions.
This kind of workaround might prevent the automatic usage of wave to provide fusion. However, I wasn't able to test this since using fusion without wave is currently not allowed by design.
Usage scenario
For pipelines based on Docker images, some users might find that wave is not required. Here are a few scenarios where using fusion without wave could be beneficial:
- Directly referencing images by digest using @ ensures maximum reproducibility, which might not be compatible with
wave. - In isolated environments within a private subnet, where all containers are provided with a local registry for security reasons,
wavemight not be accessible. - If we're using containers from a private registry that include licensed software (e.g., BLAT), sharing images externally via
wavecould pose compliance issues. wave's API rate limits and the requirement for a Tower token might be restrictive for some users.
Suggest implementation
It would be beneficial to allow the use of fusion without wave, giving users the option to manage the configuration for the provisioning of the fusion executable themselves. This could be implemented with a configuration option like fusion.useWithoutWave.