Configuration File
When the user first invokes nlds from the command line or issues a command
from the nlds_client.clientlib API, a configuration file is required in the
user’s home directory with the path:
~/.nlds-config
This configuration file is JSON formatted and contains the authentication credentials required by:
The OAuth server
The Object Storage cache
It also contains the default user and group to use when issuing a request to the
NLDS. These can be overriden by the -u|--user and -g|--group command
line options.
Finally, it contains the URL of the server and the API version, and the location
of the OAuth token file that is also created the first time the nlds command
is invoked.
An example configuration file is shown below.
{
"server" : {
"url" : "{{ nlds_api_url }}",
"api" : "{{ nlds_api_version }}"
},
"user" : {
"default_user" : "{{ user_name }}",
"default_group" : "{{ user_gws }}"
},
"authentication" : {
"oauth_client_id" : "{{ oauth_client_id }}",
"oauth_client_secret" : "{{ oauth_client_secret }}",
"oauth_token_url" : "{{ oauth_token_url }}",
"oauth_scopes" : "{{ oauth_scopes }}"",
"oauth_token_file_location" : "~/.nlds-token"
},
"object_storage" : {
"tenancy" : "{{ object_store_tenancy }}",
"access_key" : "{{ object_store_access_key }}",
"secret_key" : "{{ object_store_secret_key }}"
}
}
The values for the authentication section have been redacted for this
documentation, we recommend you use the init command to populate them.
The init command
The required values for the authentication section of the config file can be
obtained via the nlds init command, which will get values for each of the
the oauth_ keys in the authentication section of the config and insert
them either (a) into an existing config, or (b) into a blank template config
file if one doesn’t already exist at the expected path in the user’s home
directory. This will get you started if you don’t already have a fully filled-in
config file. Note, however, that the oauth_token_file_location will not be
altered. For more information about this command please see the relevant part
of the API reference section.
Note
If you are taking part in the nlds beta testing program, you will also
need to specify a url with the -u switch and turn off ssl verification
with the -k flag, so your init command will look a bit like this:
> nlds init -u {{ nlds-testing-url }} -k
but with the {{ nlds-testing-url }} replaced with the url provided to
you by the JASMIN staff.
The init command will not populate the default_user or default_group, so
these will have to be filled in with the relevant user and group-workspace for
your use case. The access_key and secret_key will also need to be
populated with a token and secret_key generated on the
object-store portal for the
appropriate tenancy you wish to use. In most cases this will be the default
nlds-cache-01-o, so we recommend that, unless you know what you are doing,
the tenancy field should just be omitted.