sandcastle-ng

Scripts for the deployment of Sandcastle (GNU Taler)
Log | Files | Refs | README

commit a5ea2f761d73b473ea2670194a0a7290b91201d6
parent 092b01e9f517a96543f8b20422cfd1e69ab05475
Author: Florian Dold <florian@dold.me>
Date:   Thu, 25 Sep 2025 13:59:28 +0200

donau support

Diffstat:
Mbuildconfig/merchant-demos.tag | 2+-
Mbuildconfig/wallet.tag | 2+-
Mhost/container-taler-sandcastle-demo.service | 1+
Mhost/container-taler-sandcastle-test.service | 1+
Msandcastle-run | 2++
Mscripts/demo/setup-sandcastle.sh | 40+++++++++++++++++++++++++++++++++++++++-
6 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/buildconfig/merchant-demos.tag b/buildconfig/merchant-demos.tag @@ -1 +1 @@ -v1.0.26 +v1.0.27-dev.1 diff --git a/buildconfig/wallet.tag b/buildconfig/wallet.tag @@ -1 +1 @@ -v1.0.35-dev.1 +v1.0.35-dev.3 diff --git a/host/container-taler-sandcastle-demo.service b/host/container-taler-sandcastle-demo.service @@ -19,6 +19,7 @@ Environment=SANDCASTLE_PORT_LIBEUFIN_BANK=127.0.0.1:15000 Environment=SANDCASTLE_PORT_BANK_SPA=127.0.0.1:15002 Environment=SANDCASTLE_PORT_CHALLENGER=127.0.0.1:15003 Environment=SANDCASTLE_PORT_AUDITOR=127.0.0.1:15004 +Environment=SANDCASTLE_PORT_DONAU=127.0.0.1:15005 Restart=on-failure TimeoutStopSec=70 ExecStart=%h/sandcastle-ng/sandcastle-run diff --git a/host/container-taler-sandcastle-test.service b/host/container-taler-sandcastle-test.service @@ -19,6 +19,7 @@ Environment=SANDCASTLE_PORT_LIBEUFIN_BANK=127.0.0.1:16007 Environment=SANDCASTLE_PORT_BANK_SPA=127.0.0.1:16009 Environment=SANDCASTLE_PORT_CHALLENGER=127.0.0.1:16010 Environment=SANDCASTLE_PORT_AUDITOR=127.0.0.1:16011 +Environment=SANDCASTLE_PORT_DONAU=127.0.0.1:16012 Restart=on-failure TimeoutStopSec=70 ExecStart=%h/sandcastle-ng/sandcastle-run diff --git a/sandcastle-run b/sandcastle-run @@ -27,6 +27,7 @@ PORT_INTERNAL_PROVISION=8504 PORT_INTERNAL_BANK_SPA=8505 PORT_INTERNAL_CHALLENGER=8506 PORT_INTERNAL_AUDITOR=8507 +PORT_INTERNAL_DONAU=8508 SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) cd $SCRIPT_DIR @@ -81,6 +82,7 @@ exec podman run \ -p=$SANDCASTLE_PORT_BANK_SPA:$PORT_INTERNAL_BANK_SPA \ -p=$SANDCASTLE_PORT_CHALLENGER:$PORT_INTERNAL_CHALLENGER \ -p=$SANDCASTLE_PORT_AUDITOR:$PORT_INTERNAL_AUDITOR \ + -p=$SANDCASTLE_PORT_DONAU:$PORT_INTERNAL_DONAU \ --name taler-sandcastle \ --systemd=always \ -v talerdata:/talerdata:Z \ diff --git a/scripts/demo/setup-sandcastle.sh b/scripts/demo/setup-sandcastle.sh @@ -160,6 +160,7 @@ lift_dir talerdata /var/lib/taler-exchange var-lib-taler-exchange lift_dir talerdata /etc/taler-merchant etc-taler-merchant lift_dir talerdata /etc/taler-exchange etc-taler-exchange lift_dir talerdata /etc/taler-exchange etc-taler-auditor +lift_dir talerdata /etc/donau etc-donau lift_dir talerdata /etc/libeufin etc-libeufin lift_dir talerdata /var/lib/postgresql var-lib-postgresql lift_dir talerdata_persistent /var/lib/taler-exchange/offline exchange-offline @@ -189,8 +190,13 @@ if [[ -d /exported && -e /exported/import-request ]]; then cp -r /exported/taler-exchange/offline/* /var/lib/taler-exchange/offline/ fi -# Adjust permissions +# Adjust ownership. +# Necessary when the container is rebuilt with different user IDs. chown --recursive taler-exchange-offline:taler-exchange-offline /var/lib/taler-exchange/offline/* || true +chown root:taler-exchange-db /etc/taler-exchange/secrets/exchange-db.secret.conf +chown taler-exchange-wire:root /etc/taler-exchange/secrets/exchange-accountcredentials-*.conf +chown taler-merchant-httpd:root /etc/taler-merchant/secrets/merchant-db.secret.conf +chown root:donau-db /etc/donau/secrets/donau-db.secret.conf MASTER_PUBLIC_KEY=$(sudo -i -u taler-exchange-offline taler-exchange-offline -LDEBUG setup) @@ -388,6 +394,7 @@ BACKEND_APIKEY_GNUNET = secret-token:$(get_credential_pw merchant/gnunet) [frontend-demo-provision] SERVE = http +DONAU_URL = $PROTO://$DONAU_DOMAIN$PORT_SUFFIX/ HTTP_PORT = $PORT_INTERNAL_PROVISION BACKEND_URL_MERCHANT = $PROTO://$MERCHANT_DOMAIN$PORT_SUFFIX BACKEND_APIKEY_MERCHANT = secret-token:$(get_credential_pw merchant/admin) @@ -989,6 +996,37 @@ if [[ ! -e /etc/donau/conf.d/sandcastle-$CURRENCY-units.conf ]]; then >"/etc/donau/conf.d/sandcastle-$CURRENCY-units.conf" fi +systemctl enable --now donau.target + +DONAU_BASE_URL=$PROTO://$DONAU_DOMAIN$PORT_SUFFIX/ + +taler-harness deployment wait-taler-service donau ${DONAU_BASE_URL}config + + +GNUNET_TOK=$(taler-harness merchant token ${MERCHANT_BASEURL}instances/gnunet/ gnunet --password $(get_credential_pw merchant/gnunet)) +taler-harness deployment provision-merchant-donau \ + --merchant-auth-token $GNUNET_TOK \ + --merchant-base-url $PROTO://$MERCHANT_DOMAIN$PORT_SUFFIX/instances/gnunet/ \ + --donau-base-url $DONAU_BASE_URL \ + --donau-auth-token secret-token:secret \ + --currency $CURRENCY + +TALER_TOK=$(taler-harness merchant token ${MERCHANT_BASEURL}instances/taler/ taler --password $(get_credential_pw merchant/taler)) +taler-harness deployment provision-merchant-donau \ + --merchant-auth-token $TALER_TOK \ + --merchant-base-url $PROTO://$MERCHANT_DOMAIN$PORT_SUFFIX/instances/taler/ \ + --donau-base-url $DONAU_BASE_URL \ + --donau-auth-token secret-token:secret \ + --currency $CURRENCY + +TOR_TOK=$(taler-harness merchant token ${MERCHANT_BASEURL}instances/tor/ tor --password $(get_credential_pw merchant/tor)) +taler-harness deployment provision-merchant-donau \ + --merchant-auth-token $TOR_TOK \ + --merchant-base-url $PROTO://$MERCHANT_DOMAIN$PORT_SUFFIX/instances/tor/ \ + --donau-base-url $DONAU_BASE_URL \ + --donau-auth-token secret-token:secret \ + --currency $CURRENCY + # Now we set up the taler-merchant-demos