14.8. libeufin-nexus(1)¶
14.8.1. Name¶
libeufin-nexus - Service to interface to various bank access APIs
14.8.2. Synopsis¶
libeufin-nexus [-h | –help] [–version] COMMAND [ARGS…]
Commands: serve, superuser, parse-camt, reset-tables
14.8.3. Description¶
libeufin-nexus is a program that provides a service to interface to various bank access APIs, using JSON as the response format. It maintains state in its own private database. You interact with it through HTTP requests either over the network or via a Unix domain socket. Related program libeufin-cli is the preferred front end for that mode of operation. There is also a mode where libeufin-nexus accepts commands directly, useful for doing administrative tasks.
Its options are as follows:
- -h | –help
Print short help on options.
- –version
Print version information.
The interaction model is as follows:
Configure the nexus with command
superuser
.Start the HTTP server with command
serve
. Let this run in a shell, writing logs to stderr.Interact with libeufin-nexus.
When finished, interrupt the
serve
process and clean up with commandreset-tables
.
The following sections describe each command in detail.
14.8.3.1. superuser¶
This command adds a superuser, or changes the password.
It takes argument USERNAME
.
Option --password TEXT
specifies the password.
If omitted, libeufin-nexus will query interactively for it.
For example:
$ libeufin-nexus superuser joe
This creates superuser joe
and interactively queries for the password.
14.8.3.2. parse-camt¶
This command parses a camt file and displays the result to stdout.
It takes argument FILENAME
, which names a file in CAMT format.
Parsing may also display log information to stderr.
The normal log level is DEBUG
.
To change it, use --log-level LEVEL
, where LEVEL
is one of:
ERROR
, WARN
, INFO
, DEBUG
, TRACE
.
For example:
$ libeufin-nexus parse-camt camt53-gls-style-0.xml
{
"transactions" : [ {
"amount" : "EUR:2.35",
"creditDebitIndicator" : "DBIT",
...
} ]
}
14.8.3.3. serve¶
This command starts the HTTP server, listening on port 5001.
To use a different port, use option --port INT
.
To listen, instead, on a Unix domain socket,
use option --with-unix-socket PATH
.
When both --port
and --with-unix-socket
are given,
--with-unix-socket
takes precedence.
The process runs in the foreground, writing its logs to standard error.
The normal log level is DEBUG
.
To change it, use --log-level LEVEL
, where LEVEL
is one of:
ERROR
, WARN
, INFO
, DEBUG
, TRACE
.
Before invoking serve
, the following environment variable needs to be set:
LIBEUFIN_NEXUS_DB_CONNECTION
This specifies the database libeufin-nexus uses to maintain state. Currently, both Sqlite and PostgreSQL are supported. (Only one needs to be specified.) Examples:
jdbc:sqlite:/tmp/libeufin-nexus.db
jdbc:postgresql://localhost:5432/libeufindb?user=Foo&password=secret
Normally, the serve
command runs until interrupted.
When run in a shell, you can use Control-C
for that.
14.8.3.4. reset-tables¶
This command drops all the tables in the internal database. (The next time the tables are needed, libeufin-nexus creates them again, automatically.)
It should only be used when the nexus is quiescent.
14.8.4. See Also¶
14.8.5. Bugs¶
Report bugs by using https://bugs.taler.net or by sending electronic mail to <taler@gnu.org>.