taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit ff6db32eeed6555607d12222d63bbb1caef71b4c
parent 83429780e5f459ebcc969e6eef91f62fa4e3f5c9
Author: Antoine A <>
Date:   Sat,  6 Dec 2025 17:41:32 +0100

ebisync: improve manual

Diffstat:
Mlibeufin/ebisync-manual.rst | 92++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
Mmanpages/libeufin-ebisync.1.rst | 2+-
2 files changed, 71 insertions(+), 23 deletions(-)

diff --git a/libeufin/ebisync-manual.rst b/libeufin/ebisync-manual.rst @@ -80,13 +80,40 @@ Navigate into the *libeufin* local repository, and from top-level run: .. code-block:: console $ ./bootstrap - $ ./configure --prefix=$PREFIX - $ make install -If the previous steps succeeded, the ``libeufin-ebisync`` command should -be found in the $PATH. +Install deb package +~~~~~~~~~~~~~~~~~~~ -.. _ebisync-setup: +To install EbiSync as a Debian/Ubuntu package with an automated secure setup and systemd services: + +.. code-block:: console + + $ sudo apt install debhelper + $ make deb + $ sudo dpkg -i ../libeufin-ebisync*.deb + +If the previous steps succeeded, the ``libeufin-ebisync`` command should be found in the $PATH. + + +Services, users, groups and file system hierarchy +------------------------------------------------- + +The *libeufin-ebisync* package will create several system users +to compartmentalize different parts of the system: + +* ``libeufin-ebisync``: runs the EBICS fetcher. +* ``postgres``: runs the PostgreSQL database (from *postgresql* package). + +The package will deploy systemd service files in +``/usr/lib/systemd/system/`` for the various components: + +* ``libeufin-ebisync-fetch.service``: worker daemon that retrieves files via EBICS and upload them to a destination. +* ``libeufin-ebisync.target``: main target for EbiSYnc to be operational. + +The deployment creates the following key locations in the system: + +* ``/etc/libeufin-ebisync/``: configuration files. +* ``/var/lib/libeufin-ebisync/``: serves as the $HOME for libeufin-ebisync and contains the EBICS authentication keys. Database setup ============== @@ -96,6 +123,7 @@ tells EbiSync how it should connect to the database. The default is: .. code-block:: ini + :caption: /etc/libeufin-ebisync/secrets/ebisync-db.secret.conf [ebisyncdb-postgres] config = postgres:///libeufin-ebisync @@ -106,13 +134,10 @@ created (or updated) to the current EbiSync version using the following command: .. code-block:: console - $ libeufin-ebisync dbinit -c "$CONFIG_FILE" - -where ``$CONFIG_FILE`` is again the path to a configuration that contains at -least the above ``[ebisyncdb-postgres]`` section. + $ sudo libeufin-ebisync-dbconfig -Setting up the EBICS subscriber -=============================== +EBICS setup +=========== When you sign up for an EBICS-enabled bank account, the bank will provide you with various credentials. Those must be provided in the @@ -123,6 +148,7 @@ The following snippet shows the mandatory configuration values: .. _core-config: .. code-block:: ini + :caption: /etc/libeufin-ebisync/libeufin-ebisync.conf [ebisync] # Bank @@ -155,12 +181,11 @@ Make sure this file is accessible to the user running ``libeufin-ebisync``, for Create new client keys ---------------------- -Assuming that the configuration file exists at ``$CONFIG_FILE``, the following -command should start the EBICS setup process: +The following command should start the EBICS setup process: .. code-block:: console - $ libeufin-ebisync setup -c "$CONFIG_FILE" + $ sudo -u libeufin-ebisync libeufin-ebisync setup -c /etc/libeufin-ebisync/libeufin-ebisync.conf If the previous command failed when running EBICS INI with an error code of ``EBICS_INVALID_USER_OR_USER_STATE``, you need to confirm your keys to your bank to @@ -175,20 +200,44 @@ Once the bank has received and processed this document you can continue. Get bank keys ------------- -Assuming that the configuration file exists at ``$CONFIG_FILE``, the following -command will finish the EBICS setup process: +The following command will finish the EBICS setup process: .. code-block:: console - $ libeufin-ebisync setup -c "$CONFIG_FILE" + $ sudo -u libeufin-ebisync libeufin-ebisync setup -c /etc/libeufin-ebisync/libeufin-ebisync.conf The EBICS setup is finished once the bank keys have been accepted. -Make sure this bank keys are accessible to the user running ``libeufin-ebisync``, for the default services you should run: +Fetch destination setup +======================= + +Azure Blob Storage +------------------ + +The following snippet shows the mandatory configuration values: + +.. code-block:: ini + :caption: /etc/libeufin-ebisync/conf.d/ebisync-fetch.conf + + [ebisync-fetch] + DESTINATION = azure-blob-storage + +Some configuration values are sensitive and must be written to a secret configuration file that is only accessible to the ``libeufin-ebisync`` user. + +.. code-block:: ini + :caption: /etc/libeufin-ebisync/secrets/ebisync-fetch.secret.conf + + [ebisync-fetch] + AZURE_API_URL = https://myaccount.blob.core.windows.net/ + AZURE_ACCOUNT_NAME = myaccount + AZURE_ACCOUNT_KEY = Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw== + AZURE_COUNTAINER = mycontainer + +The following command will finish the fetcher setup process: .. code-block:: console - $ chown libeufin-ebisync:libeufin-ebisync /var/lib/libeufin-ebisync/bank-ebics-keys.json + $ sudo -u libeufin-ebisync libeufin-ebisync setup -c /etc/libeufin-ebisync/libeufin-ebisync.conf Fetching files ============== @@ -234,12 +283,11 @@ The checkpoint time of day **may** be specified as [ebisync-fetch] CHECKPOINT_TIME_OF_DAY = 19:00 -Assuming that ``$CONFIG_FILE`` contains all required options, the following -command would download any unseen EBICS files: +The following command would download any unseen EBICS files: .. code-block:: console - $ libeufin-ebisync fetch -c "$CONFIG_FILE" --transient + $ sudo -u libeufin-ebisync libeufin-ebisync fetch -c /etc/libeufin-ebisync/libeufin-ebisync.conf --transient The ``fetch`` subcommand will always cause libeufin-ebisync to download EBICS files and upload them to the configured destination. diff --git a/manpages/libeufin-ebisync.1.rst b/manpages/libeufin-ebisync.1.rst @@ -1,5 +1,5 @@ libeufin-ebisync(1) -################# +################### .. only:: html