summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMS <ms@taler.net>2023-12-04 22:37:35 +0100
committerMS <ms@taler.net>2023-12-04 22:37:35 +0100
commitaba4f327bdc869013dc15d3c35500f8279911bb9 (patch)
tree9cf6d4643c3655e4a23dbfe7a7e768daaac53fbf
parentadc9750b9f3673aaafb80a14a05b27196cd86f03 (diff)
downloaddeployment-aba4f327bdc869013dc15d3c35500f8279911bb9.tar.gz
deployment-aba4f327bdc869013dc15d3c35500f8279911bb9.tar.bz2
deployment-aba4f327bdc869013dc15d3c35500f8279911bb9.zip
config generation
avoid echo in favor of taler-config and cat << EOF: no escaping required now.
-rwxr-xr-xnetzbon/config_libeufin_bank.sh49
-rwxr-xr-xnetzbon/setup-exchange.sh71
2 files changed, 55 insertions, 65 deletions
diff --git a/netzbon/config_libeufin_bank.sh b/netzbon/config_libeufin_bank.sh
index 2adba40..7e3ac34 100755
--- a/netzbon/config_libeufin_bank.sh
+++ b/netzbon/config_libeufin_bank.sh
@@ -48,41 +48,32 @@ say "Configure the bank with ${CURRENCY}..."
# TODO is 20000000 big enough for admin dbt limit
-if ! taler-config -s "libeufin-bank" -o code &> /dev/null
-then cat << EOF >> /etc/libeufin/libeufin-bank.conf
-[libeufin-bank]
-CURRENCY = ${CURRENCY}
-DEFAULT_EXCHANGE = ${PROTO}://exchange.${DOMAIN_NAME}
-DEFAULT_ADMIN_DEBT_LIMIT = ${CURRENCY}:20000000
-DEFAULT_CUSTOMER_DEBT_LIMIT = ${CURRENCY}:0
-SERVE = tcp
-PORT = ${BANK_PORT}
-ALLOW_CONVERSION = yes
-FIAT_CURRENCY = ${FIAT_CURRENCY}
-TAN_SMS = libeufin-tan-sms.sh
-TAN_EMAIL = libeufin-tan-email.sh
-EOF
-fi
+bank_cfg () {
+ taler-config -c /etc/libeufin/libeufin-bank.conf -s libeufin-bank -o $1 -V $2
+}
-if ! taler-config -s "currency-netzbon" -o code &> /dev/null
-then cat << EOF >> /etc/libeufin/libeufin-bank.conf
-[currency-netzbon]
-ENABLED = YES
-name = "NetzBon"
-code = "NETZBON"
-fractional_input_digits = 2
-fractional_normal_digits = 2
-fractional_trailing_zero_digits = 2
-alt_unit_names = {"0":"NETZBON"}
-EOF
-fi
+bank_cfg -o CURRENCY ${CURRENCY}
+bank_cfg -o DEFAULT_EXCHANGE ${PROTO}://exchange.${DOMAIN_NAME}
+bank_cfg -o DEFAULT_ADMIN_DEBT_LIMIT ${CURRENCY}:20000000
+bank_cfg -o DEFAULT_CUSTOMER_DEBT_LIMIT ${CURRENCY}:0
+bank_cfg -o SERVE tcp
+bank_cfg -o PORT ${BANK_PORT}
+bank_cfg -o ALLOW_CONVERSION yes
+bank_cfg -o FIAT_CURRENCY ${FIAT_CURRENCY}
+bank_cfg -o TAN_SMS libeufin-tan-sms.sh
+bank_cfg -o TAN_EMAIL libeufin-tan-email.sh
+
+taler-config \
+ -c /etc/libeufin/libeufin-bank.conf \
+ -s libeufin-bankdb-postgres \
+ -o config \
+ -V postgres:///libeufin
say "Setting up libeufin-bank admin account"
sudo -u "libeufin-bank" libeufin-bank passwd admin "${BANK_ADMIN_PASSWORD}"
say "Setting up SPA configuration..."
-echo "settings = { bankName: \"${BANK_NAME}\" }"
- >/etc/libeufin/settings.js
+echo "settings = { bankName: \"${BANK_NAME}\" }" >/etc/libeufin/settings.js
say "DONE"
say "Create exchange account..."
diff --git a/netzbon/setup-exchange.sh b/netzbon/setup-exchange.sh
index 614766e..afbf8df 100755
--- a/netzbon/setup-exchange.sh
+++ b/netzbon/setup-exchange.sh
@@ -102,45 +102,44 @@ say "Configuring exchange"
export EXCHANGE_BASE_URL="$PROTO://exchange.${DOMAIN_NAME}/"
-# Generate /etc/taler/conf.d/setup.conf
-echo -e "[taler]\n"\
- "CURRENCY=${CURRENCY}\n"\
- "CURRENCY_ROUND_UNIT=${CURRENCY}:0.01\n"\
- "\n[exchange]\n"\
- "AML_THRESHOLD=${CURRENCY}:1000000\n"\
- "MASTER_PUBLIC_KEY=${MASTER_PUBLIC_KEY}\n"\
- "BASE_URL=${EXCHANGE_BASE_URL}\n"\
- "\n[merchant-exchange-${DOMAIN_NAME}]\n"\
- "MASTER_KEY=${MASTER_PUBLIC_KEY}\n"\
- "CURRENCY=${CURRENCY}\n"\
- "EXCHANGE_BASE_URL=${EXCHANGE_BASE_URL}\n"\
- "\n[exchange-account-default]\n"\
- "PAYTO_URI=${EXCHANGE_PAYTO}\n"\
- "ENABLE_DEBIT=YES\n"\
- "ENABLE_CREDIT=YES\n"\
- "@inline-secret@ exchange-accountcredentials-default ../secrets/exchange-accountcredentials-default.secret.conf\n"\
- "\n[currency-netzbon]\n"\
- "ENABLED=YES\n"\
- "name=NetzBon\n"\
- "code=NETZBON\n"\
- "fractional_input_digits=2\n"\
- "fractional_normal_digits=2\n"\
- "fractional_trailing_zero_digits=2\n"\
- "alt_unit_names = {\"0\":\"NETZBON\"}\n"\
- >/etc/taler/conf.d/setup.conf
-
-echo -e "[exchangedb-postgres]\n" \
- "CONFIG=postgres:///exchange\n" \
- >/etc/taler/secrets/exchange-db.secret.conf
+cat << EOF > /etc/taler/conf.d/setup.conf
+[taler]
+CURRENCY=${CURRENCY}
+CURRENCY_ROUND_UNIT=${CURRENCY}:0.01
+
+[exchange]
+AML_THRESHOLD=${CURRENCY}:1000000
+MASTER_PUBLIC_KEY=${MASTER_PUBLIC_KEY}
+BASE_URL=${EXCHANGE_BASE_URL}
+
+[merchant-exchange-${DOMAIN_NAME}]
+MASTER_KEY=${MASTER_PUBLIC_KEY}
+CURRENCY=${CURRENCY}
+EXCHANGE_BASE_URL=${EXCHANGE_BASE_URL}
+
+[exchange-account-default]
+PAYTO_URI=${EXCHANGE_PAYTO}
+ENABLE_DEBIT=YES
+ENABLE_CREDIT=YES
+@inline-secret@ exchange-accountcredentials-default ../secrets/exchange-accountcredentials-default.secret.conf
+EOF
+
+cat << EOF > /etc/taler/secrets/exchange-db.secret.conf
+[exchangedb-postgres]
+CONFIG=postgres:///exchange
+EOF
+
chmod 440 /etc/taler/secrets/exchange-db.secret.conf
chown root:taler-exchange-db /etc/taler/secrets/exchange-db.secret.conf
-echo -e "[exchange-accountcredentials-default]\n"\
- "WIRE_GATEWAY_URL=${EXCHANGE_WIRE_GATEWAY_URL}\n"\
- "WIRE_GATEWAY_AUTH_METHOD=basic\n"\
- "USERNAME=Exchange\n"\
- "PASSWORD=${BANK_EXCHANGE_PASSWORD}\n"\
- >/etc/taler/secrets/exchange-accountcredentials-default.secret.conf
+cat << EOF > /etc/taler/secrets/exchange-accountcredentials-default.secret.conf
+
+[exchange-accountcredentials-default]
+WIRE_GATEWAY_URL=${EXCHANGE_WIRE_GATEWAY_URL}
+WIRE_GATEWAY_AUTH_METHOD=basic
+USERNAME=Exchange
+PASSWORD=${BANK_EXCHANGE_PASSWORD}
+EOF
chmod 400 /etc/taler/secrets/exchange-accountcredentials-default.secret.conf
chown taler-exchange-wire:taler-exchange-db /etc/taler/secrets/exchange-accountcredentials-default.secret.conf