docs/ops: merchant portal instance ids must be lowercase (avoid 401)

Document that mixed-case instance ids yield odd HTTP 401 in webui/API.
Lowercase MERCHANT_INSTANCE / shop paths defensively in monitoring and landings.
This commit is contained in:
Hernâni Marques 2026-07-17 22:36:54 +02:00
parent 57cf9aa2a1
commit ba48f334ea
No known key found for this signature in database
9 changed files with 44 additions and 8 deletions

View file

@ -30,6 +30,13 @@ Automatic import needs:
SMS backends are symlinks into `/var/taler-src/...` (not copied).
## Portal / instance IDs: **lowercase only**
Merchant SPA (`/webui/`) and `/instances/{id}/…` require **lowercase** instance
ids. Uppercase or mixed case → **weird HTTP 401** (looks like bad password).
Display names may be mixed case; **ids must be lowercase** (`goa-shop`, not
`Goa-Shop`). See `configs/taler-hacktivism/README.md`.
## Usage
```bash

View file

@ -16,7 +16,8 @@
# - restarts taler-merchant-wirewatch (once, after facade is set)
set -euo pipefail
INST="${MERCHANT_INSTANCE:-goa-demo-cp4zqk}"
# Instance id must be lowercase (portal/API: capitals → odd 401s).
INST=$(printf '%s' "${MERCHANT_INSTANCE:-goa-demo-cp4zqk}" | tr '[:upper:]' '[:lower:]')
BANK_USER="${BANK_USER:-$INST}"
MERCHANT_PW_FILE="${MERCHANT_PW_FILE:-/root/merchant-${INST}-password.txt}"
BANK_PW_FILE="${BANK_PW_FILE:-/root/bank-${BANK_USER}-password.txt}"

View file

@ -52,8 +52,8 @@ case "$STACK" in
PKG="${PKG:-net.taler.wallet.fdroid.debug}"
BANK="${BANK:-https://bank.hacktivism.ch}"
MERCHANT="${MERCHANT:-https://taler.hacktivism.ch}"
INSTANCE="${INSTANCE:-goa-shop}"
DONATE_INSTANCE="${DONATE_INSTANCE:-goa-demo-cp4zqk}"
INSTANCE=$(printf '%s' "${INSTANCE:-goa-shop}" | tr '[:upper:]' '[:lower:]')
DONATE_INSTANCE=$(printf '%s' "${DONATE_INSTANCE:-goa-demo-cp4zqk}" | tr '[:upper:]' '[:lower:]')
DONATE_TEMPLATE="${DONATE_TEMPLATE:-goa-free}"
DEFAULT_AMOUNTS=("GOA:10" "GOA:20")
DEFAULT_PAYS=("product:orbit-sticker" "product:nebula-coffee" "product:voidwave-playlist" "donate:GOA:12")
@ -63,8 +63,8 @@ case "$STACK" in
PKG="${PKG:-net.taler.wallet.fdroid.debug}"
BANK="${BANK:-https://stage.bank.lefrancpaysan.ch}"
MERCHANT="${MERCHANT:-https://stage.monnaie.lefrancpaysan.ch}"
INSTANCE="${INSTANCE:-fermes-des-collines}"
DONATE_INSTANCE="${DONATE_INSTANCE:-fermes-des-collines}"
INSTANCE=$(printf '%s' "${INSTANCE:-fermes-des-collines}" | tr '[:upper:]' '[:lower:]')
DONATE_INSTANCE=$(printf '%s' "${DONATE_INSTANCE:-fermes-des-collines}" | tr '[:upper:]' '[:lower:]')
DONATE_TEMPLATE="${DONATE_TEMPLATE:-don-panier-libre}"
DEFAULT_AMOUNTS=("TESTPAYSAN:10" "TESTPAYSAN:20")
DEFAULT_PAYS=("product:panier-legumes" "product:fromage-chevre" "product:oeufs-6")

View file

@ -14,6 +14,9 @@
# When LAN Host "koopa" is unreachable, try WAN DNAT (see ~/.ssh/config Host koopa-external).
: "${KOOPA_SSH_FALLBACKS:=koopa-external}"
: "${MERCHANT_INSTANCE:=goa-demo-cp4zqk}"
# Merchant portal /private API: instance ids must be lowercase or you get odd 401s.
# (Display names may use capitals; path segment /instances/{id}/ must not.)
MERCHANT_INSTANCE=$(printf '%s' "${MERCHANT_INSTANCE}" | tr '[:upper:]' '[:lower:]')
: "${WITHDRAW_AMT:=GOA:20}" # single-shot fallback; e2e ladder uses ATM notes
: "${PAY_AMT:=GOA:0.01}"
: "${CREDIT_AMT:=GOA:4700}" # covers ATM ladder 20+50+100+200+4200 (paivana)
@ -201,6 +204,7 @@ apply_taler_domain() {
MERCHANT_INSTANCE=fermes-des-collines
;;
esac
MERCHANT_INSTANCE=$(printf '%s' "${MERCHANT_INSTANCE}" | tr '[:upper:]' '[:lower:]')
WITHDRAW_AMT="${WITHDRAW_AMT:-TESTPAYSAN:50}"
PAY_AMT="${PAY_AMT:-TESTPAYSAN:5}"
# Cover oeufs(5)+fromage(8.5)+jus(6)+shop pick(~512) + fees