@@ -14,23 +14,43 @@ const (
1414 RemoteUse string = `remote [remote options...]`
1515 RemoteShort string = `Manage singularity remote endpoints, keyservers and OCI/Docker registry credentials`
1616 RemoteLong string = `
17- The 'remote' commands allow you to manage Singularity remote endpoints, keyservers
18- and OCI/Docker registry credentials through its subcommands. The remote configuration
19- is stored in $HOME/.singularity/remotes.yaml by default.`
17+ The 'remote' command allows you to manage Singularity remote endpoints,
18+ standalone keyservers and OCI/Docker registry credentials through its
19+ subcommands.
20+
21+ A 'remote endpoint' is the Sylabs Cloud, a Singularity Enterprise installation,
22+ or a compatible group of services. The remote endpoint is a single address,
23+ e.g. 'cloud.sylabs.io' through which linked library, builder and keystore
24+ sevices will be automatically discovered.
25+
26+ To configure a remote endpoint you must 'remote add' it. You can 'remote login' if
27+ you will be performing actions needing authentication. Switch between
28+ configured remote endpoints with the 'remote use' command. The active remote
29+ endpoint will be used for remote builds, key operations, and 'library://' pull
30+ and push. You can also 'remote logout' from and 'remote remove' an endpoint that
31+ is no longer required.
32+
33+ To configure credentials for OCI registries that should be used when pulling or
34+ pushing from/to 'docker://'' or 'oras://' URIs, use the 'remote login' command
35+ only. You do not have to 'remote add' OCI registries. To remove credentials
36+ 'remote logout' with the same URI. You do not need to 'remote remove' OCI
37+ credentials.
38+
39+ The remote configuration is stored in $HOME/.singularity/remotes.yaml by default.`
2040 RemoteExample string = `
2141 All group commands have their own help output:
2242
23- $ singularity help remote list
24- $ singularity remote list`
43+ $ singularity help remote list
44+ $ singularity remote list`
2545 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2646 // remote add command
2747 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2848 RemoteAddUse string = `add [add options...] <remote_name> <remote_URI>`
29- RemoteAddShort string = `Create a new singularity remote endpoint`
49+ RemoteAddShort string = `Add a new singularity remote endpoint`
3050 RemoteAddLong string = `
31- The 'remote add' command allows you to create a new remote endpoint to be
32- be used for singularity remote services. Authentication with a newly created
33- endpoint will occur automatically.`
51+ The 'remote add' command allows you to add a new remote endpoint to be
52+ be used for singularity remote services. Authentication with a newly created
53+ endpoint will occur automatically.`
3454 RemoteAddExample string = `
3555 $ singularity remote add SylabsCloud cloud.sylabs.io`
3656 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -57,28 +77,39 @@ const (
5777 // remote list command
5878 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5979 RemoteListUse string = `list`
60- RemoteListShort string = `List all singularity remote endpoints and services that are configured`
80+ RemoteListShort string = `List all singularity remote endpoints, keyservers, and OCI credentials that are configured`
6181 RemoteListLong string = `
62- The 'remote list' command lists all remote endpoints configured for use. If a remote
63- is in use, its name will be encompassed by brackets.`
82+ The 'remote list' command lists all remote endpoints, keyservers, and OCI registry
83+ credentials configured for use.
84+
85+ The current remote is indicated by 'YES' in the 'ACTIVE' column and can be changed
86+ with the 'remote use' command.`
6487 RemoteListExample string = `
6588 $ singularity remote list`
6689 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6790 // remote login command
6891 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6992 RemoteLoginUse string = `login [login options...] <remote_name|registry_uri>`
70- RemoteLoginShort string = `Log into a singularity remote endpoint, an OCI/Docker registry or a keyserver using credentials`
93+ RemoteLoginShort string = `Login to a singularity remote endpoint, an OCI/Docker registry or a keyserver using credentials`
7194 RemoteLoginLong string = `
7295 The 'remote login' command allows you to set credentials for a specific endpoint,
73- an OCI/Docker registry or a keyserver. This command can produce a link directing you to
74- the token service you can use to generate a valid token. If no endpoint or registry is
75- specified, it will try the default remote endpoint (SylabsCloud).`
96+ an OCI/Docker registry or a keyserver.
97+
98+ If no endpoint or registry is specified, the command will login to the currently
99+ active remote endpoint. This is cloud.sylabs.io by default.`
76100 RemoteLoginExample string = `
77101 To log in to an endpoint:
78102 $ singularity remote login SylabsCloud
79103
80104 To login in to a docker/OCI registry:
81- $ singularity remote login --username foo --password bar docker://docker.io`
105+ $ singularity remote login --username foo docker://docker.io
106+ $ singularity remote login --username foo oras://myregistry.example.com
107+
108+ Note that many cloud OCI registries use token based authentication. The token
109+ should be specified as the password for login. A username is still required. E.g.
110+ when using a standard Azure identity and token to login to an ACR registry the
111+ username '00000000-0000-0000-0000-000000000000' is required. Consult your provider
112+ documentation for detail of their login requirements.`
82113 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83114 // remote logout command
84115 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -87,7 +118,8 @@ const (
87118 RemoteLogoutLong string = `
88119 The 'remote logout' command allows you to log out from a singularity specific endpoint,
89120 an OCI/Docker registry or a keyserver. If no endpoint or service is specified, it will
90- try the default remote endpoint (SylabsCloud).`
121+ logout from the current active remote endpoint.
122+ `
91123 RemoteLogoutExample string = `
92124 To log out from an endpoint
93125 $ singularity remote logout SylabsCloud
0 commit comments