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,81 @@
#!/bin/bash
# Sanity: ensure exchange + merchant helpers are up (no systemd).
# Runs on koopa as root; uses podman into both containers.
set -euo pipefail
ROOT=$(cd "$(dirname "$0")" && pwd)
# shellcheck source=lib.sh
source "$ROOT/lib.sh"
need_root
fail=0
pass() { echo "OK $1"; }
warn() { echo "WARN $1"; }
bad() { echo "FAIL $1"; fail=$((fail + 1)); }
EXC_CT="${EXCHANGE_CONTAINER:-taler-exchange-hacktivism}"
MER_CT="${MERCHANT_CONTAINER:-taler-hacktivism}"
echo "=== ensure + check helpers (no systemd) ==="
# Deploy/ensure scripts if present on host under admin-log mount or /tmp
deploy_into() {
local ct="$1"
local src="$2"
local dst="$3"
if [ -f "$src" ]; then
su - hernani -c "podman cp $(printf %q "$src") ${ct}:${dst}" 2>/dev/null \
|| podman cp "$src" "${ct}:${dst}" 2>/dev/null || true
su - hernani -c "podman exec ${ct} chmod 755 ${dst}" 2>/dev/null || true
fi
}
ADMIN="${KOOPA_ADMIN_LOG:-/home/hernani/koopa-admin-log}"
# Prefer workspace copy if synced; else scripts next to this file
EX_SCRIPTS="$ROOT/../taler-exchange"
MER_SCRIPTS="$ROOT/../taler-merchant"
[ -d "$ADMIN/scripts/taler-exchange" ] && EX_SCRIPTS="$ADMIN/scripts/taler-exchange"
[ -d "$ADMIN/scripts/taler-merchant" ] && MER_SCRIPTS="$ADMIN/scripts/taler-merchant"
deploy_into "$EXC_CT" "$EX_SCRIPTS/ensure_exchange_helpers.sh" /usr/local/bin/ensure_exchange_helpers.sh
deploy_into "$EXC_CT" "$EX_SCRIPTS/check_exchange-health.sh" /usr/local/bin/check_exchange-health.sh
deploy_into "$MER_CT" "$MER_SCRIPTS/ensure_merchant_helpers.sh" /usr/local/bin/ensure_merchant_helpers.sh
deploy_into "$MER_CT" "$MER_SCRIPTS/check_merchant-health.sh" /usr/local/bin/check_merchant-health.sh
echo "--- exchange container: ensure ---"
if su - hernani -c "podman exec $EXC_CT /usr/local/bin/ensure_exchange_helpers.sh"; then
pass "exchange helpers ensure"
else
bad "exchange helpers ensure failed"
fi
echo "--- merchant container: ensure ---"
if su - hernani -c "podman exec $MER_CT /usr/local/bin/ensure_merchant_helpers.sh"; then
pass "merchant helpers ensure"
else
bad "merchant helpers ensure failed"
fi
echo "--- process presence ---"
check_ct_proc() {
local ct="$1"
local p="$2"
# COMM is 15 chars — match full cmdline
if su - hernani -c "podman exec $ct pgrep -f '(^|/)${p}( |$)'" >/dev/null 2>&1; then
pass "$ct: $p"
else
bad "$ct: $p missing"
fi
}
for p in taler-exchange-httpd taler-exchange-aggregator taler-exchange-transfer \
taler-exchange-wirewatch taler-exchange-closer; do
check_ct_proc "$EXC_CT" "$p"
done
for p in taler-merchant-httpd taler-merchant-wirewatch taler-merchant-depositcheck \
taler-merchant-webhook taler-merchant-kyccheck \
taler-merchant-exchangekeyupdate taler-merchant-reconciliation; do
check_ct_proc "$MER_CT" "$p"
done
echo "=== summary fails=$fail ==="
exit "$fail"