#!/bin/bash # Install + start demo-withdraw API + auto-confirm loop inside bank container. # Host: # ./scripts/taler-bank/install-demo-withdraw-api.sh set -euo pipefail ROOT=$(cd "$(dirname "$0")" && pwd) CTR="${BANK_CONTAINER:-taler-hacktivism-bank}" podman cp "$ROOT/demo-withdraw-api.py" "$CTR:/usr/local/bin/demo-withdraw-api.py" podman cp "$ROOT/auto-confirm-withdrawals.sh" "$CTR:/usr/local/bin/auto-confirm-withdrawals.sh" podman cp "$ROOT/refresh-demo-withdraw.sh" "$CTR:/usr/local/bin/refresh-demo-withdraw.sh" podman exec -u root "$CTR" chmod 755 \ /usr/local/bin/demo-withdraw-api.py \ /usr/local/bin/auto-confirm-withdrawals.sh \ /usr/local/bin/refresh-demo-withdraw.sh # nginx: ensure demo-withdraw / auto-account / Integration → :19096 # FP pattern: Caddy @wdGet GET → :9013 → this location → demo-api # (single in-CTR python; no nested podman) podman exec -u root "$CTR" bash -lc ' set -e python3 - </dev/null || true; done sleep 1 ps -eo pid=,args= | awk "/demo-withdraw-api\\.py/ && !/awk/ {print \$1}" | while read p; do kill -9 \$p 2>/dev/null || true; done sleep 0.5 nohup python3 /usr/local/bin/demo-withdraw-api.py \ >>/var/log/demo-withdraw-api.log 2>&1 &2 tail -20 /var/log/demo-withdraw-api.log >&2 || true exit 1 } # stop auto-confirm by pid ps -eo pid=,args= | awk "/auto-confirm-withdrawals\\.sh --loop/ && !/awk/ {print \$1}" | while read p; do kill \$p 2>/dev/null || true; done sleep 0.5 if [ -f /var/log/auto-confirm-withdrawals.log ]; then sz=$(wc -c /tmp/ac-keep.log : > /var/log/auto-confirm-withdrawals.log cat /tmp/ac-keep.log >> /var/log/auto-confirm-withdrawals.log fi fi nohup env QUIET=1 WATCH_MAX=80 \ /usr/local/bin/auto-confirm-withdrawals.sh --loop 2 \ >>/var/log/auto-confirm-withdrawals.log 2>&1