#! /bin/sh -xe ## ## singularity deployment on octopus worker nodes ## case $1 in "") echo "Usage: $0 SINGULARITY_STORE_ITEM" exit 1 ;; *) singularity=$1 echo $singularity ;; esac # Symlink singularity executable. sudo ln --force --symbolic $singularity/bin/singularity /usr/local/bin/singularity # To set up singularity, we imitate what the Guix # singularity-service-type does. # Install setuid binaries. sudo mkdir -p /usr/local/libexec/singularity/bin for program in action mount start; do sudo cp $singularity/libexec/singularity/bin/$program-suid /usr/local/libexec/singularity/bin/singularity-$program-helper sudo chmod u+s /usr/local/libexec/singularity/bin/singularity-$program-helper done # Create the directories that Singularity 2.6 expects to find. for directory in container final overlay session; do sudo mkdir -p /var/singularity/mnt/$directory sudo chmod 755 /var/singularity/mnt/$directory done