usnistgov / fair-chain-compute-container

Specification and Guidelines for FAIR Containerized Computational Software
Other
5 stars 5 forks source link

The executable shall allow callers to define area to write output? #3

Open kinow opened 11 months ago

kinow commented 11 months ago

Hi,

In our containerized computational workflows, we have several applications containerized with Singularity (images written for OCI, built and then deployed to GitHub registry, and finally deployed to different HPC's & EuroHPC's).

We recently wrote a deliverable for a project with a set of best practices for containers and for the software containerized. The recommended best practices in this repository are very similar to what we wrote.

One thing that is missing here, though, is that we recommend our executables to allow users to pass the area to write output via args. This allows us to use volumes, and avoid issues with immutable & read-only Singularity defaults. Maybe that could be added to this list too, without mentioning Singularity (I follow that practice for Docker, podman, too, as that allows me to persist data outside the container).

image

Cheers, Bruno

MyleneSimon commented 11 months ago

Hi Bruno,

So you are saying that if the outputs would be written to a folder for example, to pass the path to this folder via the CLI arguments of the containerized software, correct? This is how we do it as well, this is a good point that we should make it more explicit in the documentation.

kinow commented 11 months ago

So you are saying that if the outputs would be written to a folder for example, to pass the path to this folder via the CLI arguments of the containerized software, correct?

Exactly.

This is how we do it as well, this is a good point that we should make it more explicit in the documentation.

That's what we did in our internal best practices docs :+1:

Thanks @MyleneSimon !