scripts: sanity/dns/wallet-cli helpers; ops cleanup

This commit is contained in:
Hernâni Marques 2026-07-09 19:57:14 +02:00
parent 1181680a4b
commit be05666737
No known key found for this signature in database
18 changed files with 1440 additions and 0 deletions

View file

@ -0,0 +1,73 @@
#!/bin/bash
# Sanity: public + local Taler endpoints respond (GOA stack).
# Run on koopa as root (or any user with network to services).
set -euo pipefail
ROOT=$(cd "$(dirname "$0")" && pwd)
# shellcheck source=lib.sh
source "$ROOT/lib.sh"
echo "=== Taler stack health ==="
# Public HTTPS (via Caddy / VeciGate)
for url in \
"${EXCHANGE_PUBLIC}/config" \
"${EXCHANGE_PUBLIC}/keys" \
"${BANK_PUBLIC}/config" \
"${MERCHANT_PUBLIC}/config"
do
code=$(http_code "$url")
if [ "$code" = "200" ]; then pass "$url -> $code"
else fail "$url -> $code"
fi
done
# Local loopback ports (containers via pasta)
for spec in \
"bank ${BANK_URL}/config" \
"merchant ${MERCHANT_URL}/config" \
"exchange-via-public ${EXCHANGE_PUBLIC}/config"
do
name=${spec%% *}
url=${spec#* }
code=$(http_code "$url")
if [ "$code" = "200" ]; then pass "local $name -> $code"
else fail "local $name -> $code"
fi
done
# Merchant multi-currency
tmp=$(mktemp)
curl -sk -m 12 -o "$tmp" "${MERCHANT_PUBLIC}/config" || true
if python3 - "$tmp" <<'PY'
import json,sys
d=json.load(open(sys.argv[1]))
ex=[e.get("currency") for e in d.get("exchanges") or []]
cur=list((d.get("currencies") or {}).keys())
ok = "GOA" in ex and "CHF" in ex and "GOA" in cur
print("currency_default", d.get("currency"))
print("exchanges", ex)
print("currencies", cur)
sys.exit(0 if ok else 1)
PY
then pass "merchant has CHF + GOA exchanges"
else fail "merchant missing CHF/GOA in /config"
fi
rm -f "$tmp"
# Exchange currency GOA
tmp=$(mktemp)
curl -sk -m 12 -o "$tmp" "${EXCHANGE_PUBLIC}/config" || true
if python3 - "$tmp" <<'PY'
import json,sys
d=json.load(open(sys.argv[1]))
c=(d.get("currency") or d.get("currency_specification",{}).get("currency"))
print("exchange_currency", c)
sys.exit(0 if c=="GOA" else 1)
PY
then pass "exchange currency GOA"
else fail "exchange currency not GOA"
fi
rm -f "$tmp"
echo "=== summary fails=$FAILS ==="
exit "$FAILS"