-
Notifications
You must be signed in to change notification settings - Fork 61
Open
Description
Hi Bpipies,
At the moment, when using containered execution (e.g. singularity), it is possible to bind extra paths
to make them visible inside the container, using a filesystems declaration block. For example:
config {
filesystems {
reference {
type='bind'
bind='/reference'
}
}
}Container systems (i.e. both Docker and Singularity) allow you to bind paths with different locations inside the container to the external host location. For example:
docker run -it -v /some/complicated/path/to/my/reference/data:/reference ...The command line syntax for this is currently the same for both docker and singularity, namely:
src[:dest[:flags]]
So for now it might work to write my bpipe config:
config {
filesystems {
reference {
type='bind'
bind='/some/complicated/path/to/my/reference/data:/reference:ro'
}
}
}but this seems undesirable for three reasons.
- If the syntax changes in either tool, my configuration will break.
- The bind string is effectively an opaque object to bpipe so it can't check that it makes sense.
- If editing the binding to localise the pipeline, it is easy to mess up, and change the mount in unintended ways.
I propose the following more nuanced specification; the current form could be retained but deprecated for compatability.
config {
filesystems {
reference {
type='bind'
source='/some/complicated/path/to/my/reference/data'
destination='/reference'
read_only=true
}
}
}Metadata
Metadata
Assignees
Labels
No labels