configuration section in manual

This commit is contained in:
Marcello Stanisci 2017-05-30 17:20:44 +02:00
parent 46321de968
commit b6f6e429e8
No known key found for this signature in database
GPG Key ID: 8D526861953F4C0F

View File

@ -644,6 +644,68 @@ key will get a starting time of @cite{t}, and the @cite{j}-th key will
get a starting time of @cite{x + duration_withdraw}, where @cite{x} is
the starting time of the @cite{(j-1)}-th key.
@chapter Configuration in Taler
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 @code{$@{prefix@}/share/taler/config.d/}, in
@emph{.conf} files. In order to override these defaults, the user can write a custom
@emph{.conf} file and either pass it to the component at execution time, or name it
@code{taler.conf} and place it under @code{$HOME/.config/}.
A config file is a text file containing `sections`, and each section contains
its `values`. The right format follows::
@smallexample
[section1]
value1 = string
value2 = 23
[section2]
value21 = string
value22 = /path22
@end smallexample
Throughout any configuration file, it is possible to use @emph{$}-prefixed variables,
like @code{$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: @code{$@{VAR:-default@}}.
However, there are two ways a user can set @emph{$}-prefixable variables:
by defining them under a @code{[paths]} section, see example below,
@smallexample
[paths]
TALER_DEPLOYMENT_SHARED = ${HOME}/shared-data
..
[section-x]
path-x = ${TALER_DEPLOYMENT_SHARED}/x
@end smallexample
or by setting them in the environment
@smallexample
$ export VAR=/x
@end smallexample
The configuration loader will give precedence to variables set under @code{[path]},
though.
The utility @code{taler-config}, which gets installed along with the exchange,
serves to get and set configuration values without directly editing the @emph{.conf}.
The option @code{-f} is particularly useful to resolve pathnames, when they use
several levels of @emph{$}-expanded variables. See @code{taler-config --help}.
Note that, in this stage of development, the file @code{$HOME/.config/taler.conf}
can contain sections for @emph{all} the component. For example, both an exchange and
a bank can read values from it.
The repository @emph{git://taler.net/deployment} contains examples of configuration
file used in our demos. See under @code{deployment/config}.
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.
@node Deployment