sandcastle-ng

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

commit 329681b5e69e290c05f76be59f4a18dcd5c40e14
parent d119707c6a952d4e90ac20953419e587428aba77
Author: Florian Dold <florian@dold.me>
Date:   Thu,  8 May 2025 02:21:48 +0200

use x-taler-bank, continue supporting iban

Diffstat:
Mbuildconfig/challenger.tag | 2+-
Mbuildconfig/exchange.tag | 2+-
Mbuildconfig/libeufin.tag | 2+-
Mbuildconfig/merchant-demos.tag | 2+-
Mbuildconfig/merchant.tag | 2+-
Mbuildconfig/sync.tag | 2+-
Mbuildconfig/wallet.tag | 2+-
Mscripts/demo/setup-sandcastle.sh | 90++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------
8 files changed, 66 insertions(+), 38 deletions(-)

diff --git a/buildconfig/challenger.tag b/buildconfig/challenger.tag @@ -1 +1 @@ -v0.14.16 +v0.14.25 diff --git a/buildconfig/exchange.tag b/buildconfig/exchange.tag @@ -1 +1 @@ -v0.14.21-dev.1 +v0.14.98 diff --git a/buildconfig/libeufin.tag b/buildconfig/libeufin.tag @@ -1 +1 @@ -v0.14.9-dev.3 +v0.14.9 diff --git a/buildconfig/merchant-demos.tag b/buildconfig/merchant-demos.tag @@ -1 +1 @@ -v0.14.0-dev.18 +v0.14.0-dev.19 diff --git a/buildconfig/merchant.tag b/buildconfig/merchant.tag @@ -1 +1 @@ -v0.14.12-dev.1 +v0.14.14 diff --git a/buildconfig/sync.tag b/buildconfig/sync.tag @@ -1 +1 @@ -v0.14.5 +v0.14.6 diff --git a/buildconfig/wallet.tag b/buildconfig/wallet.tag @@ -1 +1 @@ -v0.14.22 +v1.0.1-dev.2 diff --git a/scripts/demo/setup-sandcastle.sh b/scripts/demo/setup-sandcastle.sh @@ -20,6 +20,8 @@ echo "Provisioning sandcastle" # General configuration. # Might eventually be moved to an external file. + + # Source any overrides from external file if [[ -e /overrides ]]; then source /overrides @@ -35,19 +37,44 @@ else PORT_SUFFIX= fi -CURRENCY=${CURRENCY:="KUDOS"} -EXCHANGE_IBAN=DE159593 -EXCHANGE_PLAIN_PAYTO=payto://iban/$EXCHANGE_IBAN -EXCHANGE_FULL_PAYTO="payto://iban/$EXCHANGE_IBAN?receiver-name=Sandcastle+Echange+Inc" - -# Randomly generated IBANs for the merchants -MERCHANT_IBAN_ADMIN=DE85500105175178585583 -MERCHANT_IBAN_POS=DE4218710 -MERCHANT_IBAN_BLOG=DE8292195 -MERCHANT_IBAN_GNUNET=DE9709960 -MERCHANT_IBAN_TALER=DE1740597 -MERCHANT_IBAN_TOR=DE2648777 -MERCHANT_IBAN_SANDBOX=DE949115029592 +: ${CURRENCY:="KUDOS"} +: ${WIRE_METHOD:=x-taler-bank} + + +if [[ $WIRE_METHOD = iban ]]; then + EXCHANGE_IBAN=DE159593 + EXCHANGE_PAYTO="payto://iban/$EXCHANGE_IBAN?receiver-name=Sandcastle+Echange+Inc" + + # Randomly generated IBANs for the merchants + MERCHANT_IBAN_ADMIN=DE85500105175178585583 + MERCHANT_IBAN_POS=DE4218710 + MERCHANT_IBAN_BLOG=DE8292195 + MERCHANT_IBAN_GNUNET=DE9709960 + MERCHANT_IBAN_TALER=DE1740597 + MERCHANT_IBAN_TOR=DE2648777 + MERCHANT_IBAN_SANDBOX=DE949115029592 + + MERCHANT_PAYTO_ADMIN="payto://iban/$MERCHANT_IBAN_ADMIN?receiver-name=Default+Merchant" + MERCHANT_PAYTO_POS="payto://iban/$MERCHANT_IBAN_POS?receiver-name=PoS+Merchant" + MERCHANT_PAYTO_BLOG="payto://iban/$MERCHANT_IBAN_BLOG?receiver-name=Blog+Merchant" + MERCHANT_PAYTO_GNUNET="payto://iban/$MERCHANT_IBAN_GNUNET?receiver-name=GNUnet+Merchant" + MERCHANT_PAYTO_TALER="payto://iban/$MERCHANT_IBAN_TALER?receiver-name=Taler+Merchant" + MERCHANT_PAYTO_TOR="payto://iban/$MERCHANT_IBAN_TOR?receiver-name=Tor+Merchant" + MERCHANT_PAYTO_SANDBOX="payto://iban/$MERCHANT_IBAN_SANDBOX?receiver-name=Sandbox+Merchant" +elif [[ $WIRE_METHOD = x-taler-bank ]]; then + XTBHOST=sandcastle + EXCHANGE_PAYTO="payto://x-taler-bank/$XTBHOST/exchange?receiver-name=Sandcastle+Echange+Inc" + MERCHANT_PAYTO_ADMIN="payto://x-taler-bank/$XTBHOST/merchant-admin?receiver-name=Default+Merchant" + MERCHANT_PAYTO_POS="payto://x-taler-bank/$XTBHOST/merchant-pos?receiver-name=PoS+Merchant" + MERCHANT_PAYTO_BLOG="payto://x-taler-bank/$XTBHOST/merchant-blog?receiver-name=Blog+Merchant" + MERCHANT_PAYTO_GNUNET="payto://x-taler-bank/$XTBHOST/merchant-gnunet?receiver-name=GNUnet+Merchant" + MERCHANT_PAYTO_TALER="payto://x-taler-bank/$XTBHOST/merchant-taler?receiver-name=Taler+Merchant" + MERCHANT_PAYTO_TOR="payto://x-taler-bank/$XTBHOST/merchant-tor?receiver-name=Tor+Merchant" + MERCHANT_PAYTO_SANDBOX="payto://x-taler-bank/$XTBHOST/merchant-sandbox?receiver-name=Sandbox+Merchant" +else + echo "wire method $WIRE_METHOD not supported" + exit 1 +fi MYDOMAIN=${MYDOMAIN:="demo.taler.net"} LANDING_DOMAIN=$MYDOMAIN @@ -193,6 +220,7 @@ PORT = 8080 # Bind address. # Option soon to be deprecated! ADDRESS = 0.0.0.0 +WIRE_TYPE = $WIRE_METHOD # Compat mode for now PWD_CHECK = no @@ -258,7 +286,7 @@ LOOKAHEAD_SIGN = 4 weeks LOOKAHEAD_SIGN = 4 weeks [exchange-account-default] -PAYTO_URI = $EXCHANGE_FULL_PAYTO +PAYTO_URI = $EXCHANGE_PAYTO ENABLE_DEBIT = YES ENABLE_CREDIT = YES @inline-secret@ exchange-accountcredentials-default ../secrets/exchange-accountcredentials-default.secret.conf @@ -648,49 +676,49 @@ taler-harness deployment wait-taler-service taler-corebank ${BANK_BASEURL}config sudo -i -u libeufin-bank libeufin-bank passwd exchange $(get_credential_pw bank/exchange) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login exchange --exchange --public \ - --payto $EXCHANGE_PLAIN_PAYTO \ + --payto $EXCHANGE_PAYTO \ --name Exchange \ --password $(get_credential_pw bank/exchange) sudo -i -u libeufin-bank libeufin-bank passwd merchant-admin $(get_credential_pw bank/merchant-admin) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-admin --public \ - --payto "payto://iban/$MERCHANT_IBAN_ADMIN" \ + --payto $MERCHANT_PAYTO_ADMIN \ --name "Default Demo Merchant" \ --password $(get_credential_pw bank/merchant-admin) sudo -i -u libeufin-bank libeufin-bank passwd merchant-pos $(get_credential_pw bank/merchant-pos) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-pos --public \ - --payto "payto://iban/$MERCHANT_IBAN_POS" \ + --payto $MERCHANT_PAYTO_POS \ --name "PoS Merchant" \ --password $(get_credential_pw bank/merchant-pos) sudo -i -u libeufin-bank libeufin-bank passwd merchant-blog $(get_credential_pw bank/merchant-blog) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-blog --public \ - --payto "payto://iban/$MERCHANT_IBAN_BLOG" \ + --payto $MERCHANT_PAYTO_BLOG \ --name "Blog Merchant" \ --password $(get_credential_pw bank/merchant-blog) sudo -i -u libeufin-bank libeufin-bank passwd merchant-gnunet $(get_credential_pw bank/merchant-gnunet) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-gnunet --public \ - --payto "payto://iban/$MERCHANT_IBAN_GNUNET" \ + --payto "$MERCHANT_PAYTO_GNUNET" \ --name "GNUnet Donations Merchant" \ --password $(get_credential_pw bank/merchant-gnunet) sudo -i -u libeufin-bank libeufin-bank passwd merchant-taler $(get_credential_pw bank/merchant-taler) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-taler --public \ - --payto "payto://iban/$MERCHANT_IBAN_TALER" \ + --payto "$MERCHANT_PAYTO_TALER" \ --name "Taler Donations Merchant" \ --password $(get_credential_pw bank/merchant-taler) sudo -i -u libeufin-bank libeufin-bank passwd merchant-tor $(get_credential_pw bank/merchant-tor) || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-tor --public \ - --payto "payto://iban/$MERCHANT_IBAN_TOR" \ + --payto "$MERCHANT_PAYTO_TOR" \ --name "Tor Donations Merchant" \ --password $(get_credential_pw bank/merchant-tor) @@ -698,7 +726,7 @@ taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ sudo -i -u libeufin-bank libeufin-bank passwd merchant-sandbox sandbox || true taler-harness deployment provision-bank-account "${BANK_BASEURL}" \ --login merchant-sandbox --public \ - --payto "payto://iban/$MERCHANT_IBAN_SANDBOX" \ + --payto "$MERCHANT_PAYTO_SANDBOX" \ --name "Sandbox Merchant" \ --password sandbox @@ -747,8 +775,8 @@ sudo -i -u taler-exchange-offline \ sudo -i -u taler-exchange-offline \ taler-exchange-offline \ - enable-account "${EXCHANGE_FULL_PAYTO}" \ - wire-fee now iban "${CURRENCY}":0 "${CURRENCY}":0 \ + enable-account "${EXCHANGE_PAYTO}" \ + wire-fee now "$WIRE_METHOD" "${CURRENCY}":0 "${CURRENCY}":0 \ global-fee now "${CURRENCY}":0 "${CURRENCY}":0 "${CURRENCY}":0 1h 6a 0 \ upload @@ -785,7 +813,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:$(get_credential_pw merchant/admin) \ --name Merchant \ --id admin \ - --payto "payto://iban/$MERCHANT_IBAN_ADMIN?receiver-name=Merchant" + --payto "$MERCHANT_PAYTO_ADMIN" reset_merchant_pw pos taler-harness deployment provision-merchant-instance \ @@ -794,7 +822,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:$(get_credential_pw merchant/pos) \ --name "POS Merchant" \ --id pos \ - --payto "payto://iban/$MERCHANT_IBAN_POS?receiver-name=POS+Merchant" + --payto "$MERCHANT_PAYTO_POS" reset_merchant_pw blog taler-harness deployment provision-merchant-instance \ @@ -803,7 +831,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:$(get_credential_pw merchant/blog) \ --name "Blog Merchant" \ --id blog \ - --payto "payto://iban/$MERCHANT_IBAN_BLOG?receiver-name=Blog+Merchant" + --payto "$MERCHANT_PAYTO_BLOG" reset_merchant_pw gnunet taler-harness deployment provision-merchant-instance \ @@ -812,7 +840,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:$(get_credential_pw merchant/gnunet) \ --name "GNUnet Merchant" \ --id gnunet \ - --payto "payto://iban/$MERCHANT_IBAN_GNUNET?receiver-name=GNUnet+Merchant" + --payto "$MERCHANT_PAYTO_GNUNET" reset_merchant_pw taler taler-harness deployment provision-merchant-instance \ @@ -821,7 +849,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:$(get_credential_pw merchant/taler) \ --name "Taler Merchant" \ --id taler \ - --payto "payto://iban/$MERCHANT_IBAN_TALER?receiver-name=Taler+Merchant" + --payto "$MERCHANT_PAYTO_TALER" reset_merchant_pw tor taler-harness deployment provision-merchant-instance \ @@ -830,7 +858,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:$(get_credential_pw merchant/tor) \ --name "Tor Merchant" \ --id tor \ - --payto "payto://iban/$MERCHANT_IBAN_TOR?receiver-name=Tor+Merchant" + --payto "$MERCHANT_PAYTO_TOR" # Special instance with fixed "sandbox" password sudo -u taler-merchant-httpd taler-merchant-passwd --instance sandbox secret-token:sandbox || true @@ -840,7 +868,7 @@ taler-harness deployment provision-merchant-instance \ --instance-token secret-token:sandbox \ --name "sandbox merchant" \ --id sandbox \ - --payto "payto://iban/$MERCHANT_IBAN_SANDBOX?receiver-name=Sandbox+Merchant" + --payto "$MERCHANT_PAYTO_SANDBOX" # Now we set up the taler-merchant-demos