-
Notifications
You must be signed in to change notification settings - Fork 651
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
OCI Auto mode in Singularity/Apptainer #4548
Conversation
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Hold on, see my thread on the originating issue: #4543 |
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
To summarise, currently this PR allows the use of OCI (Docker) containers converting implicitly to SIF image file format both for Singularity and Apptainer by adding respectively the option
Along with this is also supported the native OCI support in singularity 4 by using
However, considering they are both OCI containers may a better naming could be
and
OR
and
|
Yep, second 100% your summary around the proposed functionalities. I will review this PR on Wed at the latest. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few small requests along the code - thanks Paolo!
modules/nextflow/src/main/groovy/nextflow/container/ContainerConfig.groovy
Outdated
Show resolved
Hide resolved
modules/nextflow/src/main/groovy/nextflow/container/ContainerConfig.groovy
Outdated
Show resolved
Hide resolved
modules/nextflow/src/main/groovy/nextflow/container/ContainerHandler.groovy
Show resolved
Hide resolved
@@ -70,8 +70,7 @@ class WaveContainerResolver implements ContainerResolver { | |||
final freeze = client().config().freezeMode() | |||
final config = task.getContainerConfig() | |||
final engine = getContainerEngine0(config) | |||
final singularityOciMode = config.singularityOciMode() | |||
final singularitySpec = freeze && engine in SINGULARITY_LIKE && !singularityOciMode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is SingularitySpec used for in Wave?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I see that SingularitySpec controls whether a Singularityfile or Dockerfile is used.
At this stage it is not clear to me why this is conditional to canRunOciImage
being false; though this is not in scope for this PR.
Forgot to mention: these updates to Oci options need to be reflected in the |
Signed-off-by: Jordi Deu-Pons <jordi@jordeu.net>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Ok, considering the term OCI native is used is several places with different meaning, I went for The docs has been updated correspondingly. |
Add the ability to run OCI containers with Apptainer without the need to convert them explicitly via ApptainerCache