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.
3.9 KiB
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 exchangeno GOA balance→ wirewatch / transfercreate order failed→ merchant auth/instanceAlarm clockduring pay → usually missinghandle-uri --yesor wrong pay URI (must be…/instances/{inst}/{oid}/?c={token}from merchanttaler_pay_uri)insufficient balance→ withdraw incomplete
Needs
- SSH
koopa(inside/sanity server bits) - secrets under
koopa-admin-secrets/...for e2e taler-wallet-clifor e2e