anastasis

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

anastasis.conf.5 (7939B)


      1 .\" Man page generated from reStructuredText.
      2 .
      3 .TH "ANASTASIS.CONF" "5" "Aug 24, 2021" "0.0" "Anastasis"
      4 .SH NAME
      5 anastasis.conf \- anastasis configuration file
      6 .
      7 .nr rst2man-indent-level 0
      8 .
      9 .de1 rstReportMargin
     10 \\$1 \\n[an-margin]
     11 level \\n[rst2man-indent-level]
     12 level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
     13 -
     14 \\n[rst2man-indent0]
     15 \\n[rst2man-indent1]
     16 \\n[rst2man-indent2]
     17 ..
     18 .de1 INDENT
     19 .\" .rstReportMargin pre:
     20 . RS \\$1
     21 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
     22 . nr rst2man-indent-level +1
     23 .\" .rstReportMargin post:
     24 ..
     25 .de UNINDENT
     26 . RE
     27 .\" indent \\n[an-margin]
     28 .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
     29 .nr rst2man-indent-level -1
     30 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
     31 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
     32 ..
     33 .SH DESCRIPTION
     34 .sp
     35 The configuration file is line\-oriented.
     36 Blank lines and whitespace at the beginning and end of a line are ignored.
     37 Comments start with \fB#\fP or \fB%\fP in the first column
     38 (after any beginning\-of\-line whitespace) and go to the end of the line.
     39 .sp
     40 The file is split into sections.
     41 Every section begins with “[SECTIONNAME]” and
     42 contains a number of options of the form “OPTION=VALUE”.
     43 There may be whitespace around the \fB=\fP (equal sign).
     44 Section names and options are \fIcase\-insensitive\fP\&.
     45 .sp
     46 The values, however, are \fIcase\-sensitive\fP\&.
     47 In particular, boolean values are one of \fBYES\fP or \fBNO\fP\&.
     48 Values can include whitespace by surrounding
     49 the entire value with \fB"\fP (double quote).
     50 Note, however, that there are no escape characters in such strings;
     51 all characters between the double quotes (including other double quotes)
     52 are taken verbatim.
     53 .sp
     54 Values that represent filenames can begin with a \fB/bin/sh\fP\-like
     55 variable reference.
     56 This can be simple, such as \fB$TMPDIR/foo\fP, or complex,
     57 such as \fB${TMPDIR:\-${TMP:\-/tmp}}/foo\fP\&.
     58 See \fB[PATHS]\fP (below).
     59 .sp
     60 Values that represent a time duration are represented as a series of one or
     61 more \fBNUMBER UNIT\fP pairs, e.g. \fB60 s\fP, \fB4 weeks 1 day\fP, \fB5 years 2 minutes\fP\&.
     62 .sp
     63 Values that represent an amount are in the usual amount syntax:
     64 \fBCURRENCY:VALUE.FRACTION\fP, e.g. \fBEUR:1.50\fP\&.
     65 The \fBFRACTION\fP portion may extend up to 8 places.
     66 .sp
     67 Values that represent a price may give one amount per currency, separated
     68 by ";", e.g. \fBEUR:1.50;CHF:1.50;USD:1.80\fP\&.  Within one such option
     69 either every amount is zero (the option is free) or none is: charging in
     70 one currency and not in another does not price the service, it prices the
     71 user\(aqs choice of currency, and \fBanastasis\-httpd\fP refuses to start on
     72 it.  An empty value means the option is free.
     73 .sp
     74 Files containing default values for many of the options described below
     75 are installed under \fB$ANASTASIS_PREFIX/share/taler/config.d/\fP\&.
     76 The configuration file given with \fB\-c\fP to Anastasis binaries
     77 overrides these defaults.
     78 .sp
     79 A configuration file may include another, by using the \fB@INLINE@\fP directive,
     80 for example, in \fBmain.conf\fP, you could write \fB@INLINE@ sub.conf\fP to
     81 include the entirety of \fBsub.conf\fP at that point in \fBmain.conf\fP\&.
     82 \&.. TODO: Document ‘anastasis\-config \-V’ in light of ‘@INLINE@’ in taler\-config(1).
     83 .SS GLOBAL OPTIONS
     84 .sp
     85 The following options are from the \fB[anastasis]\fP section and used by
     86 the \fBanastasis\-httpd\fP service.
     87 .INDENT 0.0
     88 .TP
     89 .B CURRENCIES
     90 Currencies the service is priced in, separated by ";", i.e.
     91 "EUR;CHF;USD".  The first entry is the primary currency, which is what
     92 the scalar fields of the \fB/config\fP response report for the benefit of
     93 clients that predate multi\-currency support.  Every priced option must
     94 give a price in exactly these currencies, or \fBanastasis\-httpd\fP refuses
     95 to start: without that check a user could discover during recovery that
     96 some step is unavailable in the currency they hold, which is the worst
     97 possible moment.  May be omitted by a provider pricing in a single
     98 currency, in which case it is derived from the fees themselves.
     99 .TP
    100 .B ANNUAL_FEE
    101 Annual fee to be paid for policy uploads, one amount per currency in
    102 \fBCURRENCIES\fP, i.e. "EUR:1.5;CHF:1.5;USD:1.8".
    103 .TP
    104 .B TRUTH_UPLOAD_FEE
    105 Annual fee to be paid for truth uploads, one amount per currency, i.e.
    106 "EUR:1.5;CHF:1.5;USD:1.8".
    107 .TP
    108 .B DB
    109 Database backend to use, only \fBpostgres\fP is supported right now.
    110 .TP
    111 .B UPLOAD_LIMIT_MB
    112 Maximum upload size for policy uploads in megabytes. Default is 1.
    113 .TP
    114 .B ANNUAL_POLICY_UPLOAD_LIMIT
    115 Maximum number of policies uploaded per year of service. Default is 42.
    116 .TP
    117 .B BUSINESS_NAME
    118 Name of the business.
    119 .TP
    120 .B SERVER_SALT
    121 Must be set to a high\-entropy random server salt that the provider must never
    122 change after the initial configuration.
    123 .TP
    124 .B PORT
    125 TCP port on which the HTTP service should listen on.
    126 .UNINDENT
    127 .SS Backend options
    128 .sp
    129 The following options are from the \fB[anastasis\-merchant\-backend]\fP section and used by
    130 the \fBanastasis\-httpd\fP service.
    131 .INDENT 0.0
    132 .TP
    133 .B PAYMENT_BACKEND_URL
    134 Base\-URL of the Taler merchant backend instance to use for payments.
    135 .TP
    136 .B API_KEY
    137 API key to transmit to the merchant backend for authentication.
    138 .UNINDENT
    139 .SS Authorization options
    140 .sp
    141 For each active authorization plugin, options must be configured in a
    142 section called \fB[authorization\-$PLUGIN]\fP where \fB$PLUGIN\fP is the
    143 name of the authorization plugin.  Specific plugins may require
    144 additional options, which are described in the respective sections
    145 below.
    146 .INDENT 0.0
    147 .TP
    148 .B COST
    149 Fee the user has to pay to obtain a challenge from this
    150 authorization plugin during recovery.
    151 .TP
    152 .B ENABLED
    153 \fByes\fP to enable this plugin, \fBno\fP to disable.
    154 .UNINDENT
    155 .SS SMS Authorization options
    156 .INDENT 0.0
    157 .TP
    158 .B COMMAND
    159 Helper command to run to send SMS.
    160 .UNINDENT
    161 .SS Email Authorization options
    162 .INDENT 0.0
    163 .TP
    164 .B COMMAND
    165 Helper command to run to send E\-mail.
    166 .UNINDENT
    167 .SS File Authorization options
    168 .sp
    169 The \fBfile\fP method writes the challenge code to a file instead of sending
    170 it anywhere.  It is meant for testing and for exercising user interfaces;
    171 anyone who can read the file can pass the challenge, so it must not be
    172 enabled on a production provider.
    173 .INDENT 0.0
    174 .TP
    175 .B DIRECTORY
    176 Directory the challenge files are written to.  The file name is derived from
    177 the (client\-supplied) truth data, and a name that would escape this directory
    178 is refused.  Defaults to \fB$TMPDIR/anastasis\-file\-challenges\fP, which is a
    179 predictable name in a shared directory: on a multi\-user host, set this to a
    180 directory only the provider can read.
    181 .UNINDENT
    182 .SS Post Authorization options
    183 .INDENT 0.0
    184 .TP
    185 .B COMMAND
    186 Helper command to run to send physical mail.
    187 .UNINDENT
    188 .SS IBAN Authorization options
    189 .INDENT 0.0
    190 .TP
    191 .B CREDIT_IBAN
    192 IBAN number where the consumers must
    193 wire the money to for authentication.
    194 .TP
    195 .B BUSINESS_NAME
    196 Name of the account holder.
    197 .TP
    198 .B WIRE_GATEWAY_URL
    199 Base URL of the LibEuFin wire gateway (Anastasis facade).
    200 .TP
    201 .B WIRE_GATEWAY_AUTH_METHOD
    202 Authentication method used to talk to the LibEuFin wire gateway, i.e. \(aqbasic\(aq for HTTP basic authentication.
    203 .TP
    204 .B USERNAME
    205 Username to use when using HTTP basic authentication.
    206 .TP
    207 .B PASSWORD
    208 Password to use when using HTTP basic authentication.
    209 .UNINDENT
    210 .SS Postgres database configuration
    211 .sp
    212 The following options must be in the section \fB[statis\-postgres]\fP if
    213 \fBpostgres\fP was used for the database under \fBDB\fP in the
    214 \fB[anastasis]\fP section.
    215 .INDENT 0.0
    216 .TP
    217 .B CONFIG
    218 Path under which the Postgres database is that the service
    219 should use, i.e. \fBpostgres://anastasis\fP\&.
    220 .UNINDENT
    221 .SH SEE ALSO
    222 .sp
    223 anastasis\-httpd(1), anastasis\-config(1)
    224 .SH BUGS
    225 .sp
    226 Report bugs by using \fI\%https://bugs.anastasis.lu/\fP or by sending electronic
    227 mail to <\fI\%contact@anastasis.lu\fP>.
    228 .SH AUTHOR
    229 Anastasis SARL
    230 .SH COPYRIGHT
    231 2020-2021 Anastasis SARL (AGPLv3+ or GFDL 1.3+)
    232 .\" Generated by docutils manpage writer.
    233 .