diff options
author | Florian Dold <florian@dold.me> | 2023-01-13 13:31:01 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-01-13 13:31:01 +0100 |
commit | 15cbdf8cd7a73ff1f74afa74703805568e5bbc2e (patch) | |
tree | 2b06889325dd3cfd5c2f9286fb6cda66fb0c528a /docker/demo/images/libeufin/startup.sh | |
parent | c5b80768d7956825167ccb141798038dd01d0a64 (diff) | |
download | deployment-15cbdf8cd7a73ff1f74afa74703805568e5bbc2e.tar.gz deployment-15cbdf8cd7a73ff1f74afa74703805568e5bbc2e.tar.bz2 deployment-15cbdf8cd7a73ff1f74afa74703805568e5bbc2e.zip |
move sandcastle and some other docker files
Diffstat (limited to 'docker/demo/images/libeufin/startup.sh')
-rw-r--r-- | docker/demo/images/libeufin/startup.sh | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/docker/demo/images/libeufin/startup.sh b/docker/demo/images/libeufin/startup.sh deleted file mode 100644 index 5f6193f..0000000 --- a/docker/demo/images/libeufin/startup.sh +++ /dev/null @@ -1,194 +0,0 @@ -#!/bin/bash - -set -o pipefail -set -eu -export JAVA_OPTS="-Xss4m -XX:MaxJavaStackTraceDepth=1073741823" - -MAYBE_VOLUME_MOUNTPOINT="/data/libeufin" -export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:${MAYBE_VOLUME_MOUNTPOINT}/sandbox.sqlite3" -export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:${MAYBE_VOLUME_MOUNTPOINT}/nexus.sqlite3" -# This file indicates that data preparation ran already -# once. It helps against some non idempotent commands. -INIT_MARKER=${MAYBE_VOLUME_MOUNTPOINT}/init-done -export LD_LIBRARY_PATH=/usr/local/lib # helps taler-config -CURRENCY=`taler-config -c /config/deployment.conf -s taler-deployment -o currency` -SANDBOX_PORT=15000 -NEXUS_PORT=15001 -SANDBOX_BASE_URL="http://localhost:${SANDBOX_PORT}" -EXCHANGE_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o default-exchange` -CAPTCHA_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o bank-url` -# As wanted by the Libeufin CLI: -export LIBEUFIN_SANDBOX_URL=${SANDBOX_BASE_URL} -export LIBEUFIN_NEXUS_URL="http://localhost:${NEXUS_PORT}" - -# invoke: username password iban name -register_sandbox_account() { - export LIBEUFIN_SANDBOX_USERNAME=$1 - export LIBEUFIN_SANDBOX_PASSWORD=$2 - # A unavailable username upon registration should - # fail, hence non idempotence is acceptable here. - test -a $INIT_MARKER || libeufin-cli sandbox demobank register --name "$4" --iban $3 - unset LIBEUFIN_SANDBOX_USERNAME - unset LIBEUFIN_SANDBOX_PASSWORD -} - -# takes port and service name -is_serving() { - echo Is $1 serving? - for n in `seq 1 80` - do - echo "." - sleep 0.1 - OK=1 - wget $1 -o /dev/null -O /dev/null >/dev/null && break - OK=0 - done - if [ 1 != $OK ] - then - echo "$2 unreachable." - exit 1 - fi - echo $2 reachable. -} -EXCHANGE_IBAN=DE159593 - -mkdir -p ${MAYBE_VOLUME_MOUNTPOINT} -export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret -echo -n "Creating ${CURRENCY} default demobank..." -test -a $INIT_MARKER || libeufin-sandbox config \ - --currency ${CURRENCY} \ - --with-signup-bonus \ - --captcha-url ${CAPTCHA_URL} \ - default -echo DONE -echo -n "Specify default exchange..." -test -a $INIT_MARKER || libeufin-sandbox default-exchange \ - ${EXCHANGE_URL} \ - "payto://iban/SANDBOXX/${EXCHANGE_IBAN}?receiver-name=Exchange+Company" -echo DONE - -# Provide navigation bar links. -export TALER_ENV_URL_MERCHANT_BLOG=`taler-config -c /config/deployment.conf -s taler-deployment -o blog-url` -export TALER_ENV_URL_MERCHANT_DONATIONS=`taler-config -c /config/deployment.conf -s taler-deployment -o donations-url` -export TALER_ENV_URL_MERCHANT_SURVEY=`taler-config -c /config/deployment.conf -s taler-deployment -o survey-url` -export TALER_ENV_URL_INTRO=`taler-config -c /config/deployment.conf -s taler-deployment -o landing-url` -export TALER_ENV_URL_BANK=`taler-config -c /config/deployment.conf -s taler-deployment -o bank-url` - -echo -n "Launching Sandbox (container-internal URL: ${SANDBOX_BASE_URL})..." -libeufin-sandbox serve --ipv4-only --no-localhost-only --port $SANDBOX_PORT 2>&1 | \ - rotatelogs -e /logs/libeufin-sandbox-serve-%Y-%m-%d.log 86400 & -echo DONE -is_serving "${SANDBOX_BASE_URL}/demobanks/default/integration-api/config" Sandbox - -source create_bank_accounts.sh - -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.." -test -a $INIT_MARKER || libeufin-cli sandbox ebicshost create --host-id talerebics -echo DONE -echo -n "Create exchange's EBICS subscriber at Sandbox.." -test -a $INIT_MARKER || 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=`taler-config -c /config/deployment.conf -s taler-deployment -o exchange-nexus-username` -EXCHANGE_NEXUS_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o exchange-nexus-password` - - -echo -n "Creating Nexus superuser..." -# Idempotent in the sense that if the user is found, -# they'll get the password changed. -libeufin-nexus superuser $EXCHANGE_NEXUS_USERNAME \ - --password $EXCHANGE_NEXUS_PASSWORD -echo DONE -echo -n "Launching Nexus (container-internal URL: $LIBEUFIN_NEXUS_URL)..." -libeufin-nexus serve --ipv4-only --no-localhost-only --port $NEXUS_PORT 2>&1 | \ - rotatelogs -e /logs/libeufin-nexus-serve-%Y-%m-%d.log 86400 & -echo DONE -is_serving $LIBEUFIN_NEXUS_URL Nexus - -export LIBEUFIN_NEXUS_USERNAME=$EXCHANGE_NEXUS_USERNAME -export LIBEUFIN_NEXUS_PASSWORD=$EXCHANGE_NEXUS_PASSWORD - -echo -n Creating a EBICS connection at Nexus.. -# Not idempotent: the implementation does check if -# a connection with the requested name exists, and -# returns "409 Conflict". FIXME -test -a $INIT_MARKER || libeufin-cli connections new-ebics-connection \ - --ebics-url "${SANDBOX_BASE_URL}/ebicsweb" \ - --host-id talerebics \ - --partner-id talerpartner \ - --ebics-user-id exchangeebics \ - talerconn -echo DONE -echo -n Setup EBICS keying.. -# idempotent (noop if 'talerconn' is found) -libeufin-cli connections connect talerconn > /dev/null -echo DONE -echo -n Download bank account name from Sandbox.. -# idempotent (only stores new bank account names) -libeufin-cli connections download-bank-accounts talerconn -echo DONE -echo -n Importing bank account info into Nexus.. -# idempotent -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. -# Not idempotent, FIXME -test -a $INIT_MARKER || 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.. -# Not idempotent, FIXME -test -a $INIT_MARKER || 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.. -# Not idempotent, in the sense that a duplicate -# facade will be created. FIXME -FACADE_NAME=taler-facade -test -a $INIT_MARKER || libeufin-cli facades \ - new-taler-wire-gateway-facade \ - --currency ${CURRENCY} --facade-name $FACADE_NAME \ - talerconn $NEXUS_IMPORTED_BANKACCOUNT -echo DONE -# starting the SPA -BLOG_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o blog-url` -DONATIONS_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o donations-url` -SURVEY_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o survey-url` -LANDING_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o landing-url` -BANK_WEBUI_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o bank-url` -BANK_BACKEND_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o bank-backend-url` - -sed -i "s;__LANDING_URL__;${LANDING_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js -sed -i "s;__BLOG_URL__;${BLOG_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js -sed -i "s;__DONATIONS_URL__;${DONATIONS_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js -sed -i "s;__SURVEY_URL__;${SURVEY_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js -sed -i "s;__BANK_WEBUI_URL__;${BANK_WEBUI_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js -sed -i "s;__BANK_BACKEND_URL__;${BANK_BACKEND_URL};" /usr/local/share/taler/demobank-ui/demobank-ui-settings.js -# Serves BANK_WEBUI_URL -nginx -c /nginx.conf 2>&1 | rotatelogs -e /logs/bank-ui-%Y-%m-%d.log 86400 & -touch $INIT_MARKER - -# -n makes 'wait' return as soon as one of the background -# processes exits. That triggers then the 'restart: always' -# policy set in the compose file. -wait -n |