commit decc94a842de8ae351a4ed1240524298f468bdad parent 38db50e6ef6de74b36e77b6f725bc82b00e47f68 Author: MS <ms@taler.net> Date: Tue, 4 Oct 2022 09:58:39 +0200 Complete euFin setup. Diffstat:
| M | docker/hybrid/docker-compose.yml | | | 4 | ++-- |
| M | docker/hybrid/images/base/Dockerfile | | | 2 | +- |
| M | docker/hybrid/images/libeufin/startup.sh | | | 85 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------- |
3 files changed, 81 insertions(+), 10 deletions(-)
diff --git a/docker/hybrid/docker-compose.yml b/docker/hybrid/docker-compose.yml @@ -24,5 +24,5 @@ services: bank: build: ./images/libeufin ports: - - 5557:5000 - - 5558:5001 + - 5557:5000 # Sandbox + - 5558:5001 # Nexus diff --git a/docker/hybrid/images/base/Dockerfile b/docker/hybrid/images/base/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get install -y autoconf autopoint libtool texinfo \ libjansson-dev python3-pip git recutils libsqlite3-dev \ libpq-dev postgresql libcurl4-openssl-dev libsodium-dev git \ libqrencode-dev zip jq nodejs npm openjdk-17-jre nginx procps \ - curl python3-jinja2 wget curl + curl python3-jinja2 wget curl python3-sphinx python3-sphinx-rtd-theme RUN pip3 install requests click diff --git a/docker/hybrid/images/libeufin/startup.sh b/docker/hybrid/images/libeufin/startup.sh @@ -34,21 +34,92 @@ is_serving() { export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:/libeufin.sqlite3" export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret export LIBEUFIN_SANDBOX_URL="http://localhost:5000/demobanks/default" +echo -n "Creating EUR default demobank..." libeufin-sandbox config --currency EUR default +echo DONE +echo -n "Launching Sandbox..." libeufin-sandbox serve --no-localhost-only & +echo DONE is_serving 5000 Sandbox EXCHANGE_IBAN=DE159593 -EXCHANGE_USERNAME=taler-exchange -EXCHANGE_PASSWORD=x - -register_sandbox_account $EXCHANGE_USERNAME $EXCHANGE_PASSWORD $EXCHANGE_IBAN "Exchange Company" - +EXCHANGE_SANDBOX_USERNAME=exchange-at-sandbox +EXCHANGE_SANDBOX_PASSWORD=x +echo -n "Register the Exchange at Sandbox..." +register_sandbox_account $EXCHANGE_SANDBOX_USERNAME $EXCHANGE_SANDBOX_PASSWORD $EXCHANGE_IBAN "Exchange Company" +echo DONE +echo -n "Create exchange EBICS subscriber at Sandbox.." +export LIBEUFIN_SANDBOX_USERNAME=admin +export LIBEUFIN_SANDBOX_PASSWORD=secret +echo -n "Create EBICS host at Sandbox.." +libeufin-cli sandbox \ + --sandbox-url http://localhost:5000 \ + ebicshost create --host-id talerebics +echo DONE +libeufin-cli sandbox \ + demobank new-ebicssubscriber --host-id talerebics \ + --user-id exchangeebics --partner-id talerpartner \ + --bank-account $EXCHANGE_SANDBOX_USERNAME +echo DONE ## NEXUS SETUP +EXCHANGE_NEXUS_USERNAME=exchange-at-nexus +EXCHANGE_NEXUS_PASSWORD=x export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:/libeufin.sqlite3" -libeufin-nexus superuser exchange --password x +echo -n "Creating Nexus superuser..." +libeufin-nexus superuser $EXCHANGE_NEXUS_USERNAME --password $EXCHANGE_NEXUS_PASSWORD +echo DONE +echo -n "Launching Nexus..." libeufin-nexus serve --no-localhost-only & - +echo DONE is_serving 5001 Nexus +export LIBEUFIN_NEXUS_USERNAME=$EXCHANGE_NEXUS_USERNAME +export LIBEUFIN_NEXUS_PASSWORD=$EXCHANGE_NEXUS_PASSWORD +export LIBEUFIN_NEXUS_URL="http://localhost:5001" +echo -n Creating a EBICS connection at Nexus.. +libeufin-cli connections new-ebics-connection \ + --ebics-url "http://localhost:5000/ebicsweb" \ + --host-id talerebics \ + --partner-id talerpartner \ + --ebics-user-id exchangeebics \ + talerconn +echo DONE +echo -n Setup EBICS keying.. +libeufin-cli connections connect talerconn > /dev/null +echo DONE +echo -n Download bank account name from Sandbox.. +libeufin-cli connections download-bank-accounts talerconn +echo DONE +echo -n Importing bank account info into Nexus.. +NEXUS_IMPORTED_BANKACCOUNT=nexus-bankaccount +libeufin-cli connections import-bank-account \ + --offered-account-id $EXCHANGE_SANDBOX_USERNAME \ + --nexus-bank-account-id $NEXUS_IMPORTED_BANKACCOUNT \ + talerconn +echo DONE +echo -n Setup payments submission task.. +# Tries every second. +libeufin-cli accounts task-schedule \ + --task-type submit \ + --task-name exchange-payments \ + --task-cronspec "* * *" \ + $NEXUS_IMPORTED_BANKACCOUNT +echo DONE +# Tries every second. Ask C52 +echo -n Setup history fetch task.. +libeufin-cli accounts task-schedule \ + --task-type fetch \ + --task-name exchange-history \ + --task-cronspec "* * *" \ + --task-param-level report \ + --task-param-range-type latest \ + $NEXUS_IMPORTED_BANKACCOUNT +echo DONE +echo -n Create the Taler facade at Nexus.. +libeufin-cli facades \ + new-taler-wire-gateway-facade \ + --currency EUR --facade-name test-facade \ + talerconn $NEXUS_IMPORTED_BANKACCOUNT +echo DONE + wait