anastasis

Credential backup and recovery protocol and service
Log | Files | Refs | Submodules | README | LICENSE

configuration-format.rst (2096B)


      1 Configuration format
      2 --------------------
      3 
      4 In Taler realm, any component obeys to the same pattern to get
      5 configuration values. According to this pattern, once the component has
      6 been installed, the installation deploys default values in
      7 ${prefix}/share/taler/config.d/, in .conf files. In order to override
      8 these defaults, the user can write a custom .conf file and either pass
      9 it to the component at execution time, or name it taler.conf and place
     10 it under $HOME/.config/.
     11 
     12 A config file is a text file containing sections, and each section
     13 contains its values. The right format follows:
     14 
     15 .. code-block:: ini
     16 
     17    [section1]
     18    value1 = string
     19    value2 = 23
     20 
     21    [section2]
     22    value21 = string
     23    value22 = /path22
     24 
     25 Throughout any configuration file, it is possible to use ``$``-prefixed
     26 variables, like ``$VAR``, especially when they represent filesystem
     27 paths. It is also possible to provide defaults values for those
     28 variables that are unset, by using the following syntax:
     29 ``${VAR:-default}``. However, there are two ways a user can set
     30 ``$``-prefixable variables:
     31 
     32 by defining them under a ``[paths]`` section, see example below,
     33 
     34 .. code-block:: ini
     35 
     36    [paths]
     37    TALER_DEPLOYMENT_SHARED = ${HOME}/shared-data
     38    ..
     39    [section-x]
     40    path-x = ${TALER_DEPLOYMENT_SHARED}/x
     41 
     42 or by setting them in the environment:
     43 
     44 .. code-block:: console
     45 
     46    $ export VAR=/x
     47 
     48 The configuration loader will give precedence to variables set under
     49 ``[path]``, though.
     50 
     51 The utility ``taler-config``, which gets installed along with the
     52 exchange, serves to get and set configuration values without directly
     53 editing the .conf. The option ``-f`` is particularly useful to resolve
     54 pathnames, when they use several levels of ``$``-expanded variables. See
     55 ``taler-config --help``.
     56 
     57 Note that, in this stage of development, the file
     58 ``$HOME/.config/taler.conf`` can contain sections for *all* the
     59 component. For example, both an exchange and a bank can read values from
     60 it.
     61 
     62 The repository ``git://git.taler.net/deployment`` contains examples of
     63 configuration file used in our demos. See under ``deployment/config``.
     64