Details about the contents of the configuration file are describe in
the anastasis.conf(5)
chapter. This chapter only describes the
configuration format.
In Taler realm, any component obeys to the same pattern to get configuration values. According to this pattern, once the component has been installed, the installation deploys default values in ${prefix}/share/taler/config.d/, in .conf files. In order to override these defaults, the user can write a custom .conf file and either pass it to the component at execution time, or name it taler.conf and place it under $HOME/.config/.
A config file is a text file containing sections, and each section contains its values. The right format follows:
[section1]
value1 = string
value2 = 23
[section2]
value21 = string
value22 = /path22
Throughout any configuration file, it is possible to use $
-prefixed
variables, like $VAR
, especially when they represent filesystem
paths. It is also possible to provide defaults values for those
variables that are unset, by using the following syntax:
${VAR:-default}
. However, there are two ways a user can set
$
-prefixable variables:
by defining them under a [paths]
section, see example below,
[paths]
TALER_DEPLOYMENT_SHARED = ${HOME}/shared-data
..
[section-x]
path-x = ${TALER_DEPLOYMENT_SHARED}/x
or by setting them in the environment:
$ export VAR=/x
The configuration loader will give precedence to variables set under
[path]
, though.
The utility taler-config
, which gets installed along with the
exchange, serves to get and set configuration values without directly
editing the .conf. The option -f
is particularly useful to resolve
pathnames, when they use several levels of $
-expanded variables. See
taler-config --help
.
Note that, in this stage of development, the file
$HOME/.config/taler.conf
can contain sections for all the
component. For example, both an exchange and a bank can read values from
it.
The repository git://taler.net/deployment
contains examples of
configuration file used in our demos. See under deployment/config
.
Note
Expectably, some components will not work just by using default values, as their work is often interdependent. For example, a merchant needs to know an exchange URL, or a database name.
The tool anastasis-config
can be used to extract or manipulate
configuration values; however, the configuration use the well-known INI
file format and can also be edited by hand.
Run
$ anastasis-config -s $SECTION
to list all of the configuration values in section $SECTION
.
Run
$ anastasis-config -s $section -o $option
to extract the respective configuration value for option $option
in
section $section
.
Finally, to change a setting, run
$ anastasis-config -s $section -o $option -V $value
to set the respective configuration value to $value
. Note that you
have to manually restart the Taler backend after you change the
configuration to make the new configuration go into effect.
Some default options will use $-variables, such as $DATADIR
within
their value. To expand the $DATADIR
or other $-variables in the
configuration, pass the -f
option to anastasis-config
. For example,
compare:
$ anastasis-config -s ACCOUNT-bank \
-o WIRE_RESPONSE
$ anastasis-config -f -s ACCOUNT-bank \
-o WIRE_RESPONSE
While the configuration file is typically located at
$HOME/.config/taler.conf
, an alternative location can be specified
to taler-merchant-httpd
and anastasis-config
using the -c
option.