commit a5ea2f761d73b473ea2670194a0a7290b91201d6
parent 092b01e9f517a96543f8b20422cfd1e69ab05475
Author: Florian Dold <florian@dold.me>
Date: Thu, 25 Sep 2025 13:59:28 +0200
donau support
Diffstat:
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