SingularityConnector

The Singularity connector can spawn one or more instances of a Singularity container locally on the StreamFlow node. The units of deployment and binding for this connector correspond to the set of homogeneous container instances, while the unit of scheduling is the single instance.

properties

image (required)

The name of the Singularity image to run

type

string

addCaps

A comma separated capability list to add

type

string

allowSetuid

Allow setuid binaries in container (root only)

type

boolean

applyCgroups

Apply cgroups from file for container processes (root only)

type

string

bind

A user-bind path specification, in the format src[:dest[:opts]]

type

string[]

boot

Execute /sbin/init to boot container (root only)

type

boolean

cleanenv

Clean environment before running container

type

boolean

contain

Use minimal /dev and empty other directories (e.g. /tmp and $HOME) instead of sharing filesystems from your host

type

boolean

containall

Contain not only file systems, but also PID, IPC, and environment

type

boolean

disableCache

Don’t use cache and don’t create cache

type

boolean

dns

List of DNS server separated by commas to add in resolv.conf

type

string

dropCaps

A comma separated capability list to drop

type

string

env

Pass environment variable to contained process

type

string[]

envFile

Pass environment variables from file to contained process

type

string

fakeroot

Run container in new user namespace as uid 0

type

boolean

fusemount

A FUSE filesystem mount specification of the form ‘<type>:<fuse command> <mountpoint>’

type

string[]

home

A home directory specification, in the format src[:dest]

type

string

default

$HOME

hostname

Set container hostname

type

string

instanceNames

When referencing an external environment, names of existing instances must be explicitly listed

type

string[]

keepPrivs

Let root user keep privileges in container (root only)

type

boolean

net

Run container in a new network namespace (sets up a bridge network interface by default)

type

boolean

network

Specify desired network type separated by commas, each network will bring up a dedicated interface inside container

type

string

default

bridge

networkArgs

Specify network arguments to pass to CNI plugins

type

string[]

noHome

Do not mount users home directory if /home is not the current working directory

type

boolean

noInit

Do not start shim processes with –pid

type

boolean

noMount

Disable one or more mount xxx options set in singularity.conf

type

string[]

noPrivs

Drop all privileges from root user in container

type

boolean

noUmask

Do not propagate umask to the container. Set default 0022 umask

type

boolean

nohttps

Do not use HTTPS with the docker:// transport

type

boolean

nv

Enable experimental NVIDIA support

type

boolean

overlay

Use an overlayFS image for persistent data storage or as read-only layer of container

type

string[]

pemPath

Enter a path to a PEM formatted RSA key for an encrypted container

type

string

pidFile

Write instance PID to the file with the given name

type

string

replicas

Number of instances to be co-allocated

type

integer

default

1

resourcesCacheTTL

Available resources cache TTL (in seconds). When such cache expires, the connector performs a new request to check resources availability

type

integer

default

10

rocm

Enable experimental ROCM support

type

boolean

scratch

Include a scratch directory within the container that is linked to a temporary dir

type

string[]

security

Enable security features (SELinux, Apparmor, Seccomp)

type

string[]

transferBufferSize

Buffer size allocated for local and remote data transfers

type

integer

default

16kiB

userns

Run container in a new user namespace, allowing Singularity to run completely unprivileged on recent kernels. This disables some features of Singularity, for example it only works with sandbox images

type

boolean

uts

Run container in a new UTS namespace

type

boolean

workdir

Working directory to be used for /tmp, /var/tmp and $HOME (if –contain was also used)

type

string

writable

By default all Singularity containers are available as read only. This option makes the file system accessible as read/write

type

boolean

writableTmpfs

Makes the file system accessible as read/write with non persistent data (with overlay support only)

type

boolean