anastasis

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

anastasis.conf.5.rst (5740B)


      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 Post Authorization options
    143 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    144 
    145 COMMAND
    146   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.
    147 
    148 
    149 IBAN Authorization options
    150 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    151 
    152 CREDIT_IBAN
    153   IBAN number where the consumers must
    154   wire the money to for authentication.
    155 
    156 BUSINESS_NAME
    157   Name of the account holder.
    158 
    159 WIRE_GATEWAY_URL
    160   Base URL of the LibEuFin wire gateway (Anastasis facade).
    161 
    162 WIRE_GATEWAY_AUTH_METHOD
    163   Authentication method used to talk to the LibEuFin wire gateway, i.e. 'basic' for HTTP basic authentication.
    164 
    165 USERNAME
    166   Username to use when using HTTP basic authentication.
    167 
    168 PASSWORD
    169   Password to use when using HTTP basic authentication.
    170 
    171 
    172 Postgres database configuration
    173 -------------------------------
    174 
    175 The following options must be in the section ``[statis-postgres]`` if
    176 ``postgres`` was used for the database under ``DB`` in the
    177 ``[anastasis]`` section.
    178 
    179 CONFIG
    180   Path under which the Postgres database is that the service
    181   should use, i.e. ``postgres://anastasis``.
    182 
    183 
    184 SEE ALSO
    185 ========
    186 
    187 anastasis-httpd(1), anastasis-config(1)
    188 
    189 BUGS
    190 ====
    191 
    192 Report bugs by using https://bugs.anastasis.lu/ or by sending electronic
    193 mail to <contact@anastasis.lu>.