Remote Endpoints¶
Sylabs introduced the Singularity Container Services for enabling users to Create,
Secure, and
Share their container images
with others. With the development of the remote
command, you can now
configure Singularity to point to a specific instance of the container services,
enabling access to a private Container Library, Remote Builder and Key Store.
The remote
command group manages these endpoints. The configurations are
usually stored in ~/.singularity/remote.yaml
file.
Overview¶
The remote endpoints can be configured per-user or globally for all users.
Multiple endpoints can be defined allowing the greatest flexibility.
This page will describe the subcommands under the remote
command group.
Once a remote point is added
, and logged in, commands like the following can
be used with the selected remote endpoint:
pull, push, build –remote, key, search, verify, exec, shell, run, instance
Note
docker://
and shub://
prefixes are unaffected by these commands
Usage¶
To list
existing remote endpoints, run this:
$ singularity remote list
To add
an endpoint (local to current user):
$ singularity remote add <remote_name> <remote_uri>
To add
a global endpoint (available to all users on the system):
$ sudo singularity remote add --global <remote_name> <remote_uri>
Note
Global remote configurations can only be modified by the root user and can
be viewed in ~/.singularity/remote.yaml
file.
Conversely, to remove
an endpoint:
$ sudo singularity remote remove <remote_name>
Setting a default endpoint:
$ singularity remote use <remote_name>
Before using an endpoint, you’ll need to login
to it. This will require
an access token to be obtained from your cloud
account.
$ singularity remote login <remote_name>
Instructions for creating and saving a token will then be displayed.
To check status
of an endpoint and the various services:
$ singularity remote status <remote_name>
Once logged in to a remote endpoint, you can push & pull images to your
designated endpoint using the library://
uri.
Note
Since, the remote endpoints are linked with the user, make sure to use all
the commands either with or without sudo privilege. If you add
an
endpoint using sudo, you must list
it using sudo as well.