summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configuration-basics.rst68
-rw-r--r--impl-exchange.rst9
-rw-r--r--index.rst8
3 files changed, 78 insertions, 7 deletions
diff --git a/configuration-basics.rst b/configuration-basics.rst
new file mode 100644
index 00000000..9296a2b4
--- /dev/null
+++ b/configuration-basics.rst
@@ -0,0 +1,68 @@
+..
+ This file is part of GNU TALER.
+ Copyright (C) 2014, 2015, 2016 INRIA
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2.1, or (at your option) any later version.
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+ @author Marcello Stanisci
+
+======================
+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 `${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/`.
+
+
+--------------------
+Configuration format
+--------------------
+
+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
+
+Throught any configuration file, it is possible to use ``$``-prefixed variables,
+especially when a value needs a pathname. Some of them are automatically resolved,
+like ``${TALER_DATA_HOME}``, ``${TALER_RUNTIME_DIR}``, or ``${HOME}``. (FIXME: explain
+how/where/when those defaults get resolved) Other variables can be defined under the
+`paths` section. For example::
+
+ [paths]
+ TALER_DEPLOYMENT_SHARED = ${HOME}/shared-data
+ ..
+ [section-x]
+ path-x = ${TALER_DEPLOYMENT_SHARED}/x
+
+The utility ``taler-config``, which gets installed along with the exchange, serves to get and
+set configuration values without directly editing the `.conf`. 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.
diff --git a/impl-exchange.rst b/impl-exchange.rst
index 2c118d8e..b1446308 100644
--- a/impl-exchange.rst
+++ b/impl-exchange.rst
@@ -12,14 +12,18 @@
@author Christian Grothoff
-===================================
+=====================================
The Exchange Reference Implementation
-===================================
+=====================================
----------------------
The Configuration File
----------------------
+.. note::
+ Get the ``git://taler.net/deployment`` codebase, and see the file ``deployment/config/test.taler.net/taler.conf``
+ in order to get an insight of how to configure Taler components.
+
The section `[taler]` contains global options for the exchange:
* `currency`: The currency supported by the exchange (i.e. "EUR")
@@ -27,6 +31,7 @@ The section `[taler]` contains global options for the exchange:
The section `[exchange]` contains various global options for the exchange:
+* `master_priv_file`: Path to the exchange's master private file.
* `master_public_key`: Must specify the exchange's master public key.
* `wireformat`: The wireformat supported by the exchange (i.e. "SEPA")
diff --git a/index.rst b/index.rst
index 23ac97a2..1463375d 100644
--- a/index.rst
+++ b/index.rst
@@ -38,11 +38,8 @@ any other banking institution.
The system will be based on free software and open protocols.
In this document, we describe the REST-based APIs between the various
-components, as well as the internal architecture of key components.
-However, you do not have to re-implement these APIs to use Taler: the
-project includes free software reference implementations of the
-various components.
-
+components, internal architecture of key components, and how to get them
+installed.
-----------------
Operator Handbook
@@ -55,6 +52,7 @@ It focuses on how to install, configure and run the required software.
:maxdepth: 2
global_licensing
+ configuration-basics
impl-exchange
impl-merchant
versioning