summaryrefslogtreecommitdiff
path: root/man/libeufin-nexus.conf.5
blob: a93b85242224880bd273e84b603b766a22aff6bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "LIBEUFIN-NEXUS.CONF" "5" "Apr 12, 2024" "0.9" "GNU Taler"
.SH NAME
libeufin-nexus.conf \- LibEuFin Nexus configuration file
.SH DESCRIPTION
.sp
The configuration file is line\-oriented.  Blank lines and whitespace at the
beginning and end of a line are ignored.  Comments start with \fB#\fP or \fB%\fP
in the first column (after any beginning\-of\-line whitespace) and go to the end
of the line.
.sp
The file is split into sections.  Every section begins with \fB[SECTIONNAME]\fP
and contains a number of options of the form \fBOPTION=VALUE\fP\&.  There may be
whitespace around the \fB=\fP (equal sign).  Section names and options are
\fIcase\-insensitive\fP\&.
.sp
The values, however, are \fIcase\-sensitive\fP\&.  In particular, boolean values are
one of \fBYES\fP or \fBNO\fP\&.  Values can include whitespace by surrounding the
entire value with \fB\(dq\fP (double quote).  Note, however, that there are no
escape characters in such strings; all characters between the double quotes
(including other double quotes) are taken verbatim.
.sp
Durations must be expressed with a number followed by the time unit.  The following
time units are supported: ‘s’ (seconds), ‘m’ (minutes), ‘h’ (hours).  For example,
the value \fI5m\fP denotes a duration of \fIfive minutes\fP\&.
.sp
Values that represent filenames can begin with a \fB/bin/sh\fP\-like variable
reference.  This can be simple, such as \fB$TMPDIR/foo\fP, or complex, such as
\fB${TMPDIR:\-${TMP:\-/tmp}}/foo\fP\&.  The variables are expanded either using
key\-values from the \fB[PATHS]\fP section (see below) or from the environment
(\fBgetenv()\fP). The values from \fB[PATHS]\fP take precedence over those from
the environment.  If the variable name is found in neither \fB[PATHS]\fP nor the
environment, a warning is printed and the value is left unchanged.  Variables (including those from the environment) are expanded recursively, so if \fBFOO=$BAR\fP and \fBBAR=buzz\fP then the result is \fBFOO=buzz\fP\&.  Recursion is bounded to at most 128 levels to avoid undefined behavior for mutually recursive expansions like if \fBBAR=$FOO\fP in the example above.
.sp
The \fB[PATHS]\fP section is special in that it contains paths that can be
referenced using \fB$\fP in other configuration values that specify
\fIfilenames\fP\&. Note that configuration options that are not specifically
retrieved by the application as \fIfilenames\fP will not see “$”\-expressions
expanded. To expand \fB$\fP\-expressions when using \fBtaler\-config\fP, you must pass
the \fB\-f\fP command\-line option.
.sp
The system automatically pre\-populates the \fB[PATHS]\fP section with a few values
at run\-time (in addition to the values that are in the actual configuration
file and automatically overwriting those values if they are present).
These automatically generated values refer to installation properties
from \fI\%GNU autoconf\fP\&. The
values are usually dependent on an \fBINSTALL_PREFIX\fP which is determined by
the \fB\-\-prefix\fP option given to configure.  The canonical values are:
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
LIBEXECDIR = $INSTALL_PREFIX/taler/libexec/
.IP \(bu 2
DOCDIR = $INSTALL_PREFIX/share/doc/taler/
.IP \(bu 2
ICONDIR = $INSTALL_PREFIX/share/icons/
.IP \(bu 2
LOCALEDIR = $INSTALL_PREFIX/share/locale/
.IP \(bu 2
PREFIX = $INSTALL_PREFIX/
.IP \(bu 2
BINDIR = $INSTALL_PREFIX/bin/
.IP \(bu 2
LIBDIR = $INSTALL_PREFIX/lib/taler/
.IP \(bu 2
DATADIR = $INSTALL_PREFIX/share/taler/
.UNINDENT
.UNINDENT
.UNINDENT
.sp
Note that on some platforms, the given paths may differ depending
on how the system was compiled or installed, the above are just the
canonical locations of the various resources.  These
automatically generated values are never written to disk.
.sp
Files containing default values for many of the options described below
are installed under \fB$TALER_PREFIX/share/libeufin\-nexus/config.d/\fP\&.
The configuration file given with \fB\-c\fP to Taler binaries
overrides these defaults.
.sp
A configuration file may include another, by using the \fB@INLINE@\fP directive,
for example, in \fBmain.conf\fP, you could write \fB@INLINE@ sub.conf\fP to
include the entirety of \fBsub.conf\fP at that point in \fBmain.conf\fP\&.
.sp
Be extra careful when using \fBtaler\-config \-V VALUE\fP to change configuration
values: it will destroy all uses of \fB@INLINE@\fP and furthermore remove all
comments from the configuration file!
.SS GLOBAL OPTIONS
.sp
Setting the database belongs to the “[nexus\-postgres]” section and the
following value.
.INDENT 0.0
.TP
.B CONFIG
PostgreSQL connection string.  Note: this option is NOT used by the
ebics\-setup subcommand, as it stores the key files directly on the
filesystem.
.UNINDENT
.sp
The “[paths]” section is special in that it contains paths that can be
referenced using “$” in other configuration values that specify
filenames. For Taler, it commonly contains the following paths:
.INDENT 0.0
.TP
.B LIBEUFIN_HOME
Home directory of the user, usually “${HOME}”. Can be overwritten by
testcases by setting ${LIBEUFIN_TEST_HOME}.
.UNINDENT
.SS EBICS SETUP OPTIONS
.sp
The following options are from the “[nexus\-ebics]” section and used by
the \fBlibeufin\-nexus ebics\-setup\fP command.
.INDENT 0.0
.TP
.B CURRENCY
Name of the currency, e.g.\ “EUR” for Euro.
.TP
.B HOST_BASE_URL
URL of the EBICS server
.TP
.B BANK_DIALECT
Name of the following combination: EBICS version and ISO20022 recommendations
that Nexus would honor in the communication with the bank.  Currently only the
‘postfinance’ value is supported.
.TP
.B HOST_ID
EBICS specific: name of the EBICS host
.TP
.B USER_ID
EBICS specific: user ID of the EBICS subscriber.  This value must be assigned
by the bank after having activated a new EBICS subscriber.
.TP
.B PARTNER_ID
EBICS specific: partner ID of the EBICS subscriber.  This value must be assigned
by the bank after having activated a new EBICS subscriber.
.TP
.B BANK_PUBLIC_KEYS_FILE
Filesystem location where Nexus should store the bank public keys.
.TP
.B CLIENT_PRIVATE_KEYS_FILE
Filesystem location where Nexus should store the subscriber private keys.
.TP
.B IBAN
IBAN of the bank account that is associated with the EBICS subscriber.
.TP
.B BIC
BIC of the bank account that is associated with the EBICS subscriber.
.TP
.B NAME
Legal entity that is associated with the EBICS subscriber.
.UNINDENT
.SS EBICS SUBMIT OPTIONS
.sp
The following configuration value(s) belong to the “[nexus\-submit]” section.
.INDENT 0.0
.TP
.B FREQUENCY
Duration value to instruct the \fBebics\-submit\fP subcommand how much to wait
before checking the database again to find new unsubmitted payments.
.UNINDENT
.SS EBICS FETCH OPTIONS
.sp
The following configuration value(s) belong to the “[nexus\-fetch]” section.
.INDENT 0.0
.TP
.B FREQUENCY
Duration value to instruct the \fBebics\-fetch\fP subcommand how often it should
download from the bank.
.TP
.B IGNORE_TRANSACTIONS_BEFORE
Ignore all transactions before a certain YYYY\-MM\-DD date, useful when you want to use an existing account with old transactions that should not be bounced.
.UNINDENT
.SS DATABASE OPTIONS
.sp
Setting the database belongs to the “[libeufin\-nexusdb\-postgres]” section and the following value.
.INDENT 0.0
.TP
.B CONFIG
PostgreSQL connection string.
.TP
.B SQL_DIR
Where are the SQL files to setup our tables?
.UNINDENT
.SH SEE ALSO
.sp
libeufin\-nexus(1)
.SH BUGS
.sp
Report bugs by using \fI\%https://bugs.taler.net/\fP or by sending electronic
mail to <\fI\%taler@gnu.org\fP>.
.SH AUTHOR
GNU Taler contributors
.SH COPYRIGHT
2014-2024 Taler Systems SA (GPLv3+ or GFDL 1.3+)
.\" Generated by docutils manpage writer.
.