Configuration File¶
In some cases, the user needs to pass specific parameters in the command line for each call. It may be needed to comply with a system’s constraints, or a repeated use of parameters, which can be bothersome to type for every command. For this reason, it is possible to update a selection of settings through a YAML configuration file, which is going to be read automatically at each call.
Configuration file locations¶
To have a configuration file be loaded by e4s-cl, it must be at one of these locations:
A system-wide configuration in
/etc/e4s-cl/e4s-cl.yaml
An installation-centric configuration in
<INSTALLDIR>/e4s-cl.yaml
A user-only configuration in
~/.config/e4s-cl.yaml
Each level has a higher precedence over the above. You can override a system configuration by creating your own configuration file in the user location and setting the keys to your desired values.
Configuration options¶
The following options can be set in a configuration file:
Field |
Description |
Type |
Default |
---|---|---|---|
|
The path of the directory to bind e4s-cl files in. |
Character string |
|
|
Command line options to append to the launcher when running a multi-process job. |
List of string |
|
|
Force preload of bound libraries. Useful if some of the libraries were compiled with RPATHs. |
Boolean |
|
|
Disable generation of log files on a per-rank basis. |
Boolean |
|
e4s-cl will not run if the option value is malformed or its type cannot be understood. Any other key-value pair not supported by e4s-cl will be ignored.
Some configuration values can also be enabled on a per-module basis. They will be detailed on those modules’ documentation.
Configuration file template¶
Running e4s-cl with the --print-config
option makes the program output a YAML document with all supported configuration fields and default values.
$ e4s-cl --print-config | tee ~/.config/e4s-cl.yaml
backends:
apptainer:
exec_options: []
executable: ''
options: []
podman:
executable: ''
options: []
run_options: []
shifter:
executable: ''
options: []
singularity:
exec_options: []
executable: ''
options: []
barebones:
exec_options: []
options: []
container_directory: /.e4s-cl
disable_ranked_log: true
launcher_options: []
preload_root_libraries: false
profile_list_columns: []