koopa-admin-log/scripts/taler-monitoring/README.md
Hernâni Marques 04bafc84a6
taler-monitoring: shop e2e uses catalog list and random pick of two
The GOA shop e2e path used to walk every product template every run, which
was slow and often hit balance or time budgets after the first few pays.

Keep the full catalog in E2E_SHOP_PRODUCTS (id|name|amount, synced with the
merchant landing). Each e2e run shuffles that list and pays only
E2E_SHOP_PICK_N products (default 2). Shop pays pin instance goa-shop for
public template POSTs; settlement payto matches the landing shop popup.

Docs in README.md and TESTS.md describe the pick behaviour and env overrides.
2026-07-10 20:28:15 +02:00

3.9 KiB

taler-monitoring

Report for the GOA stack with clear severity tags and per-area test IDs:

Tag Meaning
[OK] check passed
[INFO] inside status (container, ports, log noise)
[WARN] degraded but maybe not fatal
[ERROR] component problem
[BLOCKER] withdraw/pay path cannot complete because of this

IDs: www-001, inside-001, versions-001, sanity-001, server-001, e2e-001
Catalog: TESTS.md.

[OK]    www-001  exchange /config https://exchange…/config
[BLOCKER] e2e-015  prereq: merchant HTTP 502

End of each phase: totals + list of BLOCKERS and ERRORS.

Commands

# Local GOA stack (may use SSH for inside/e2e)
./taler-monitoring.sh              # urls + inside + versions + e2e
./taler-monitoring.sh inside       # containers on koopa
./taler-monitoring.sh versions     # deb.taler.net + package versions vs trixie
./taler-monitoring.sh sanity
./taler-monitoring.sh e2e

# Other domains — public HTTPS only, never SSH
./taler-monitoring.sh -d taler.net
./taler-monitoring.sh --domain taler-ops.ch
./taler-monitoring.sh -d demo.taler.net urls
./taler-monitoring.sh taler.net    # bare domain = same as -d
Domain Bank Exchange Merchant Currency
hacktivism.ch (default) bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch GOA
taler.net / demo.taler.net bank.demo.taler.net exchange.demo.taler.net backend.demo.taler.net KUDOS
taler-ops.ch bank.* (probe) exchange.taler-ops.ch backend.* (probe) CHF
other bank.DOMAIN exchange.DOMAIN backend/taler/merchant (probe) any

SSH only for koopa (hacktivism.ch / -d koopa).

Other domains: never SSH. Optional e2e aborts cleanly on login/KYC.

E2E amounts (variable)

Local (koopa) Remote
ATM withdraw 20 · 50 · 100 · 200 10 · 20 · 50
Pay ladder 0.01 … 10 0.01 … 1
./taler-monitoring.sh e2e
./taler-monitoring.sh -d taler.net urls e2e
# customize:
E2E_WITHDRAW_VALUES="20 50 100" E2E_PAY_VALUES="0.05 1 5" ./taler-monitoring.sh e2e
E2E_VARIABLE=0 WITHDRAW_AMT=GOA:50 PAY_AMT=GOA:1 ./taler-monitoring.sh e2e   # single fixed
# GOA shop catalog (local hacktivism): full list in E2E_SHOP_PRODUCTS; each run
#   shuffles and pays E2E_SHOP_PICK_N products (default 2).
#   E2E_SHOP_PRODUCTS lines: id|Product name|GOA:amount
#   E2E_SHOP_PICK_N=2
#   (landing QR = taler://pay-template/…/{id}; popup = live taler://pay after POST templates/{id})
# remote secrets:
#   E2E_BANK_ADMIN_PASS=…  E2E_MERCHANT_TOKEN=…

Phases

Phase What
inside SSH koopa: processes, postgres, local /config,/keys, wirewatch, recent log ERRORs
versions deb.taler.net reachable (InRelease/Packages/pool .deb); containers can reach it + have apt source; installed Taler packages vs trixie
sanity bank · exchange · merchant sections (public + server)
e2e account → credit → withdraw → wallet → confirm → order → pay
# package suite (default trixie on deb.taler.net)
TALER_APT_SUITE=trixie ./taler-monitoring.sh versions
TALER_PKG_BEHIND=error ./taler-monitoring.sh versions   # any behind = ERROR

E2E maps failures to blockers, e.g.:

  • bank-confirm HTTP 409 → wallet did not select exchange
  • no GOA balance → wirewatch / transfer
  • create order failed → merchant auth/instance
  • Alarm clock during pay → usually missing handle-uri --yes or wrong pay URI (must be …/instances/{inst}/{oid}/?c={token} from merchant taler_pay_uri)
  • insufficient balance → withdraw incomplete

Needs

  • SSH koopa (inside/sanity server bits)
  • secrets under koopa-admin-secrets/... for e2e
  • taler-wallet-cli for e2e