-
Notifications
You must be signed in to change notification settings - Fork 683
Support downloading plugins using ORAS #5968
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Tom Sellman <[email protected]>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
What's the benefits of using oras protocol instead of downloading the plugin assets via http(s) ? |
One particularly nice thing is it allows the download url to be more readable, similar to a docker style tag (eg |
Think it's not enough to justify the new dependency. It would be preferable nextflow remains agnostic on this |
@pditommaso wasn't there a similar debate on http vs oras for downloading wave singularity images? Do you remember which one we preferred for that and why? |
For container we use both. Oras when Singularity is pulling it natively, and https for legacy runs to download the container and locally and run it as a file. |
Okay so oras wasn't an issue with singularity because the singularity CLI handles the download 👍 |
Does this refer to when the user specifies the plugin identifier in their config? Can we set up Nextflow so that |
ORAS (OCI Registry As Storage) is a way to store arbitrary artifacts in OCI Registries (see https://oras.land/).
This change adds support for downloading Nextflow plugins stored using ORAS. When a plugin download url starts with the protocol
oras://
the download is handled by a new OrasPluginDownloader class instead of the default pf4j FileDownloader.It also defines an ORAS artifact type (
application/vnd.nextflow.plugin+zip
) and checks that the metadata of the given ORAS url matches this type.This change should have no impact on any other download urls or plugin download mechanism.