16.2. libeufin-nexus(1)

16.2.1. Name

libeufin-nexus - Service to interface to various bank access APIs

16.2.2. Synopsis

libeufin-nexus [-h | –help] [–version] COMMAND [ARGS…]

Commands: serve, superuser, parse-camt, reset-tables

16.2.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 command reset-tables.

The following sections describe each command in detail.

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.

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",
    ...
  } ]
}

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.

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.

16.2.4. See Also

16.2.5. Bugs

Report bugs by using https://bugs.taler.net or by sending electronic mail to <taler@gnu.org>.