anastasis

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

anastasis.conf.5.rst (6416B)


      1 anastasis.conf(5)
      2 #################
      3 
      4 .. only:: html
      5 
      6    Name
      7    ====
      8 
      9    **anastasis.conf** - Anastasis configuration file
     10 
     11 
     12 Description
     13 ===========
     14 
     15 The configuration file is line-oriented.
     16 Blank lines and whitespace at the beginning and end of a line are ignored.
     17 Comments start with ``#`` or ``%`` in the first column
     18 (after any beginning-of-line whitespace) and go to the end of the line.
     19 
     20 The file is split into sections.
     21 Every section begins with “[SECTIONNAME]” and
     22 contains a number of options of the form “OPTION=VALUE”.
     23 There may be whitespace around the ``=`` (equal sign).
     24 Section names and options are *case-insensitive*.
     25 
     26 The values, however, are *case-sensitive*.
     27 In particular, boolean values are one of ``YES`` or ``NO``.
     28 Values can include whitespace by surrounding
     29 the entire value with ``"`` (double quote).
     30 Note, however, that there are no escape characters in such strings;
     31 all characters between the double quotes (including other double quotes)
     32 are taken verbatim.
     33 
     34 Values that represent filenames can begin with a ``/bin/sh``-like
     35 variable reference.
     36 This can be simple, such as ``$TMPDIR/foo``, or complex,
     37 such as ``${TMPDIR:-${TMP:-/tmp}}/foo``.
     38 See ``[PATHS]`` (below).
     39 
     40 Values that represent a time duration are represented as a series of one or
     41 more ``NUMBER UNIT`` pairs, e.g. ``60 s``, ``4 weeks 1 day``, ``5 years 2 minutes``.
     42 
     43 Values that represent an amount are in the usual amount syntax:
     44 ``CURRENCY:VALUE.FRACTION``, e.g. ``EUR:1.50``.
     45 The ``FRACTION`` portion may extend up to 8 places.
     46 
     47 Files containing default values for many of the options described below
     48 are installed under ``$ANASTASIS_PREFIX/share/taler/config.d/``.
     49 The configuration file given with **-c** to Anastasis binaries
     50 overrides these defaults.
     51 
     52 A configuration file may include another, by using the ``@INLINE@`` directive,
     53 for example, in ``main.conf``, you could write ``@INLINE@ sub.conf`` to
     54 include the entirety of ``sub.conf`` at that point in ``main.conf``.
     55 .. TODO: Document ‘anastasis-config -V’ in light of ‘@INLINE@’ in taler-config(1).
     56 
     57 
     58 GLOBAL OPTIONS
     59 --------------
     60 
     61 The following options are from the ``[anastasis]`` section and used by
     62 the **anastasis-httpd** service.
     63 
     64 ANNUAL_FEE
     65   Annual fee to be paid for policy uploads, i.e. "EUR:1.5".
     66 
     67 TRUTH_UPLOAD_FEE
     68   Annual fee to be paid for truth uploads, i.e. "EUR:1.5".
     69 
     70 INSURANCE
     71   Amount up to which key shares are warranted, i.e. "EUR:1000000".
     72 
     73 DB
     74   Database backend to use, only ``postgres`` is supported right now.
     75 
     76 UPLOAD_LIMIT_MB
     77   Maximum upload size for policy uploads in megabytes. Default is 1.
     78 
     79 ANNUAL_POLICY_UPLOAD_LIMIT
     80   Maximum number of policies uploaded per year of service. Default is 42.
     81 
     82 BUSINESS_NAME
     83   Name of the business.
     84 
     85 SERVER_SALT
     86   Must be set to a high-entropy random server salt that the provider must never
     87   change after the initial configuration.
     88 
     89 PORT
     90   TCP port on which the HTTP service should listen on.
     91 
     92 
     93 Backend options
     94 ---------------
     95 
     96 The following options are from the ``[anastasis-merchant-backend]`` section and used by
     97 the **anastasis-httpd** service.
     98 
     99 PAYMENT_BACKEND_URL
    100   Base-URL of the Taler merchant backend instance to use for payments.
    101 
    102 API_KEY
    103   API key to transmit to the merchant backend for authentication.
    104 
    105 
    106 
    107 Authorization options
    108 ---------------------
    109 
    110 For each active authorization plugin, options must be configured in a
    111 section called ``[authorization-$PLUGIN]`` where ``$PLUGIN`` is the
    112 name of the authorization plugin.  Specific plugins may require
    113 additional options, which are described in the respective sections
    114 below.
    115 
    116 CURRENCY
    117   Currency in which this plugin is to be paid. Must match the
    118   currency given in COST. (This option should eventually be
    119   removed, as it is redundant.)
    120 
    121 COST
    122   Fee the user has to pay to obtain a challenge from this
    123   authorization plugin during recovery.
    124 
    125 ENABLED
    126   ``yes`` to enable this plugin, ``no`` to disable.
    127 
    128 
    129 SMS Authorization options
    130 ^^^^^^^^^^^^^^^^^^^^^^^^^
    131 
    132 COMMAND
    133   Helper command to run to send SMS.  The command will be given the phone number as its first argument. The message to be transmitted will be passed via STDIN.
    134 
    135 Email Authorization options
    136 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    137 
    138 COMMAND
    139   Helper command to run to send E-mail.  The command will be given the e-mail address as its first argument. The message to be transmitted will be passed via STDIN.
    140 
    141 
    142 File Authorization options
    143 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    144 
    145 The ``file`` method writes the challenge code to a file instead of sending
    146 it anywhere.  It is meant for testing and for exercising user interfaces;
    147 anyone who can read the file can pass the challenge, so it must not be
    148 enabled on a production provider.
    149 
    150 DIRECTORY
    151   Directory the challenge files are written to.  The file name is derived from
    152   the (client-supplied) truth data, and a name that would escape this
    153   directory is refused.  Defaults to ``$TMPDIR/anastasis-file-challenges``,
    154   which is a predictable name in a shared directory: on a multi-user host, set
    155   this to a directory only the provider can read.
    156 
    157 
    158 Post Authorization options
    159 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    160 
    161 COMMAND
    162   Helper command to run to send physical mail.  The command will be given the mailing address address as its first argument in JSON object fields 'full_name', 'street', 'city', 'postcode' and 'country'. The message to be transmitted will be passed via STDIN.
    163 
    164 
    165 IBAN Authorization options
    166 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    167 
    168 CREDIT_IBAN
    169   IBAN number where the consumers must
    170   wire the money to for authentication.
    171 
    172 BUSINESS_NAME
    173   Name of the account holder.
    174 
    175 WIRE_GATEWAY_URL
    176   Base URL of the LibEuFin wire gateway (Anastasis facade).
    177 
    178 WIRE_GATEWAY_AUTH_METHOD
    179   Authentication method used to talk to the LibEuFin wire gateway, i.e. 'basic' for HTTP basic authentication.
    180 
    181 USERNAME
    182   Username to use when using HTTP basic authentication.
    183 
    184 PASSWORD
    185   Password to use when using HTTP basic authentication.
    186 
    187 
    188 Postgres database configuration
    189 -------------------------------
    190 
    191 The following options must be in the section ``[statis-postgres]`` if
    192 ``postgres`` was used for the database under ``DB`` in the
    193 ``[anastasis]`` section.
    194 
    195 CONFIG
    196   Path under which the Postgres database is that the service
    197   should use, i.e. ``postgres://anastasis``.
    198 
    199 
    200 SEE ALSO
    201 ========
    202 
    203 anastasis-httpd(1), anastasis-config(1)
    204 
    205 BUGS
    206 ====
    207 
    208 Report bugs by using https://bugs.anastasis.lu/ or by sending electronic
    209 mail to <contact@anastasis.lu>.