monitoring: soft-skip GOA-only landing assets off-GOA
This commit is contained in:
parent
3d5f412af3
commit
e46aeb408a
2 changed files with 42 additions and 17 deletions
|
|
@ -45,10 +45,10 @@ Numbering follows **executed** checks (early skip may shift later NN inside the
|
||||||
| **www.exchange-** | `/config`, currency, **alt_unit_names**; `/keys` (+ alt soft); `/intro/`, `/`; **`/terms`**, **`/privacy`**, `/terms/` |
|
| **www.exchange-** | `/config`, currency, **alt_unit_names**; `/keys` (+ alt soft); `/intro/`, `/`; **`/terms`**, **`/privacy`**, `/terms/` |
|
||||||
| **www.perf-** | outside-in RTT: bank/exchange/merchant `/config`, keys, webui, intro — ms; WARN ≥ `PERF_WARN_MS` (8000); ERROR ≥ `PERF_FAIL_MS` (20000) |
|
| **www.perf-** | outside-in RTT: bank/exchange/merchant `/config`, keys, webui, intro — ms; WARN ≥ `PERF_WARN_MS` (8000); ERROR ≥ `PERF_FAIL_MS` (20000) |
|
||||||
| **www.stats-** | `/intro/stats.json` **reachable**; **timestamps** (`generated_at_unix` + human/ISO); **freshness** vs wall clock (`STATS_STALE_SECS` WARN, `STATS_FAIL_SECS` ERROR); **display fields** (bank-shape withdraws/accounts, or exchange-db / merchant-db keys); optional performance block; shared-feed equal `gen_unix` when bank collector is published to all three |
|
| **www.stats-** | `/intro/stats.json` **reachable**; **timestamps** (`generated_at_unix` + human/ISO); **freshness** vs wall clock (`STATS_STALE_SECS` WARN, `STATS_FAIL_SECS` ERROR); **display fields** (bank-shape withdraws/accounts, or exchange-db / merchant-db keys); optional performance block; shared-feed equal `gen_unix` when bank collector is published to all three |
|
||||||
| **www.bank-** | `/config`, currency, alt_unit_names; integration/webui/intro; **auto-account.json**; `/terms`, `/privacy` |
|
| **www.bank-** | `/config`, currency, alt_unit_names; integration/webui/intro; **auto-account.json** (required GOA/local; skip/soft off-GOA e.g. TESTPAYSAN); `/terms`, `/privacy` |
|
||||||
| **www.merchant-** | `/config` currency + currencies alt_unit_names; listed exchanges alt; webui/intro; **`/terms`**, **`/privacy`** |
|
| **www.merchant-** | `/config` currency + currencies alt_unit_names; listed exchanges alt; webui/intro; **`/terms`**, **`/privacy`** |
|
||||||
| **www.paivana-** | local GOA paywall front (redirect to template) |
|
| **www.paivana-** | local GOA paywall front (redirect to template) |
|
||||||
| **www.landing-** | every own-stack link on bank/merchant/exchange intros; static assets; demo-withdraw / cross-links |
|
| **www.landing-** | own-stack intro links; static assets (`qrcode.min.js` hard; `og-goa-shop.png` hard only GOA/local); **demo-withdraw.json** GOA-only; shop-pay soft; cross-links local |
|
||||||
|
|
||||||
**Legal docs rule:** HTTP 200, non-empty body, not plain `not configured`, not merchant API JSON `code:21`. Local stack may require content needle (terms/privacy/FADP/GOA…).
|
**Legal docs rule:** HTTP 200, non-empty body, not plain `not configured`, not merchant API JSON `code:21`. Local stack may require content needle (terms/privacy/FADP/GOA…).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -705,7 +705,7 @@ if [ "$code" = "200" ]; then
|
||||||
check_url_soft "bank /webui/" 200 "$BANK_PUBLIC/webui/"
|
check_url_soft "bank /webui/" 200 "$BANK_PUBLIC/webui/"
|
||||||
check_url_soft "bank /intro/" 200 "$BANK_PUBLIC/intro/"
|
check_url_soft "bank /intro/" 200 "$BANK_PUBLIC/intro/"
|
||||||
check_url_soft "bank /" 302,301,200 "$BANK_PUBLIC/"
|
check_url_soft "bank /" 302,301,200 "$BANK_PUBLIC/"
|
||||||
# Auto-account: credentials + shared-pool taler://withdraw (like step 2)
|
# Auto-account: GOA shared-pool mint (hacktivism). Not used on TESTPAYSAN stage.
|
||||||
aa_code=$(http_body "$BANK_PUBLIC/intro/auto-account.json" "$tmp/aa.json")
|
aa_code=$(http_body "$BANK_PUBLIC/intro/auto-account.json" "$tmp/aa.json")
|
||||||
case "$aa_code" in
|
case "$aa_code" in
|
||||||
200)
|
200)
|
||||||
|
|
@ -715,11 +715,22 @@ if [ "$code" = "200" ]; then
|
||||||
fail "bank /intro/auto-account.json" "invalid withdraw/login ($(tr '\n' ' ' <"$tmp/aa-val" | sed 's/[[:space:]]*$//'))"
|
fail "bank /intro/auto-account.json" "invalid withdraw/login ($(tr '\n' ' ' <"$tmp/aa-val" | sed 's/[[:space:]]*$//'))"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
405|501|404|502|503|000)
|
404|405|501)
|
||||||
|
if [ "${EXPECT_CURRENCY:-}" = "GOA" ] || [ "${LOCAL_STACK:-0}" = "1" ]; then
|
||||||
fail "bank /intro/auto-account.json" "HTTP $aa_code (want 200; 405/501 = broken)"
|
fail "bank /intro/auto-account.json" "HTTP $aa_code (want 200; 405/501 = broken)"
|
||||||
|
else
|
||||||
|
info "bank /intro/auto-account.json" "HTTP $aa_code — skip (not a GOA auto-account stack)"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
502|503|000)
|
||||||
|
fail "bank /intro/auto-account.json" "HTTP $aa_code want 200"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
if [ "${EXPECT_CURRENCY:-}" = "GOA" ] || [ "${LOCAL_STACK:-0}" = "1" ]; then
|
||||||
fail "bank /intro/auto-account.json" "HTTP $aa_code want 200"
|
fail "bank /intro/auto-account.json" "HTTP $aa_code want 200"
|
||||||
|
else
|
||||||
|
warn "bank /intro/auto-account.json" "HTTP $aa_code (optional off-GOA)"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
@ -1003,18 +1014,24 @@ check_one_landing() {
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Required static assets (hard: qrcode + og; soft: qr-logo)
|
# Required static: qrcode.min.js. GOA og image is soft off-GOA (stage has no og-goa-shop.png).
|
||||||
for url in \
|
if _landing_probe "${base}/intro/qrcode.min.js"; then
|
||||||
"${base}/intro/qrcode.min.js" \
|
|
||||||
"${base}/intro/og-goa-shop.png"
|
|
||||||
do
|
|
||||||
if _landing_probe "$url"; then
|
|
||||||
a_ok=$((a_ok + 1))
|
a_ok=$((a_ok + 1))
|
||||||
else
|
else
|
||||||
a_fail=$((a_fail + 1))
|
a_fail=$((a_fail + 1))
|
||||||
fail_sample="${fail_sample}${fail_sample:+; }HTTP ${_landing_code} $url"
|
fail_sample="${fail_sample}${fail_sample:+; }HTTP ${_landing_code} ${base}/intro/qrcode.min.js"
|
||||||
|
fi
|
||||||
|
if _landing_probe "${base}/intro/og-goa-shop.png"; then
|
||||||
|
a_ok=$((a_ok + 1))
|
||||||
|
else
|
||||||
|
if [ "${EXPECT_CURRENCY:-}" = "GOA" ] || [ "${LOCAL_STACK:-0}" = "1" ]; then
|
||||||
|
a_fail=$((a_fail + 1))
|
||||||
|
fail_sample="${fail_sample}${fail_sample:+; }HTTP ${_landing_code} ${base}/intro/og-goa-shop.png"
|
||||||
|
else
|
||||||
|
a_soft=$((a_soft + 1))
|
||||||
|
soft_sample="${soft_sample}${soft_sample:+; }HTTP ${_landing_code} og-goa-shop.png (GOA asset)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
|
||||||
if _landing_probe "${base}/intro/qr-logo.png"; then
|
if _landing_probe "${base}/intro/qr-logo.png"; then
|
||||||
a_ok=$((a_ok + 1))
|
a_ok=$((a_ok + 1))
|
||||||
else
|
else
|
||||||
|
|
@ -1142,7 +1159,15 @@ if [ "${LOCAL_STACK:-1}" = "1" ] || [ -n "${BANK_PUBLIC:-}" ]; then
|
||||||
fail "bank /intro/demo-withdraw.json" "invalid taler://withdraw ($(tr '\n' ' ' <"$tmp/dw-val" | sed 's/[[:space:]]*$//'))"
|
fail "bank /intro/demo-withdraw.json" "invalid taler://withdraw ($(tr '\n' ' ' <"$tmp/dw-val" | sed 's/[[:space:]]*$//'))"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
405|501|404|502|503|000)
|
404|405|501)
|
||||||
|
# GOA bank landing mints demo-withdraw.json; stage TESTPAYSAN uses ATM/wallet guide only
|
||||||
|
if [ "${EXPECT_CURRENCY:-}" = "GOA" ] || [ "${LOCAL_STACK:-0}" = "1" ]; then
|
||||||
|
fail "landing bank demo-withdraw" "HTTP $dw_code (want 200)"
|
||||||
|
else
|
||||||
|
info "landing bank demo-withdraw" "HTTP $dw_code — skip (not a GOA demo-withdraw stack)"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
502|503|000)
|
||||||
fail "landing bank demo-withdraw" "HTTP $dw_code (want 200)"
|
fail "landing bank demo-withdraw" "HTTP $dw_code (want 200)"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue