release 1.19.1: document e2e helper PATH preflight + domains.conf lang

Docs-only bugfix so operators/agents smoke taler-helper-sqlite3 on the
mon PATH and set UI lang in domains.conf (lang=fr for FP).
This commit is contained in:
Hernâni Marques 2026-07-19 11:10:02 +02:00
parent 61f49f02db
commit 915e361157
No known key found for this signature in database
GPG key ID: CB5738652768F7E9
4 changed files with 24 additions and 4 deletions

View file

@ -41,9 +41,13 @@ command -v qrencode zbarimg
| `jq` | nice-to-have; suite uses python3 for JSON | | `jq` | nice-to-have; suite uses python3 for JSON |
| `dig` / `bind-utils` | debug DNS; not required for default phases | | `dig` / `bind-utils` | debug DNS; not required for default phases |
| `ssh` | only for access mode **ssh** (laptop → `KOOPA_SSH` / stage `INSIDE_SSH`); not needed for **host-podman** | | `ssh` | only for access mode **ssh** (laptop → `KOOPA_SSH` / stage `INSIDE_SSH`); not needed for **host-podman** |
| `node` / `pnpm` + wallet-cli | **e2e** / ladder only (+ secrets) | | `node` + `taler-wallet-cli` (.mjs) | **e2e** / ladder only (+ secrets) |
| **`taler-helper-sqlite3` on PATH** | **required for e2e** — wallet-core spawns it for withdraw accept-uri / pay; missing → ENOENT mid-ladder. Put next to wallet bindir (`~/.local/bin` on stagepaysan) |
| `timeout` (coreutils) | preferred hard wall for `wcli` (suite falls back to perl only if missing) |
| `secrets.env` / admin passwords | e2e only — never system packages | | `secrets.env` / admin passwords | e2e only — never system packages |
**Preflight (agents / ops):** before trusting e2e on a host, smoke on the **same PATH** mon uses (`run-host-report` / systemd user): `command -v node taler-helper-sqlite3`, `node "$WALLET_CLI" --version`, short temp-DB `balance`. Do not wait for a full mon run to discover ENOENT.
### systemd user (no extra packages) ### systemd user (no extra packages)
- `systemd` user session + **`loginctl enable-linger hernani`** (already **Linger=yes** on koopa) - `systemd` user session + **`loginctl enable-linger hernani`** (already **Linger=yes** on koopa)
@ -69,3 +73,14 @@ command -v qrencode zbarimg
## Franc Paysan stage host (stagepaysan) ## Franc Paysan stage host (stagepaysan)
FP stage (`stagepaysan` via SSH alias `francpaysan-stage-user`): curl, python3, podman if inside, qrencode/zbar for full urls; suite at `~/src/taler-monitoring`. FP stage (`stagepaysan` via SSH alias `francpaysan-stage-user`): curl, python3, podman if inside, qrencode/zbar for full urls; suite at `~/src/taler-monitoring`.
**e2e on stagepaysan** also needs user-local:
| Path | Role |
|------|------|
| `~/.local/bin/node` | Node for wallet-cli |
| `~/.local/bin/taler-wallet-cli.mjs` (or `WALLET_CLI=`) | wallet CLI |
| `~/.local/bin/taler-helper-sqlite3` | **required** — accept-uri / coins |
| `~/francpaysan-secrets/stage/*` | bank admin + merchant token (layout like laptop `francpaysan-secrets`) |
Host-agent PATH already puts `$HOME/.local/bin` first; still smoke-test under that PATH.

View file

@ -203,8 +203,9 @@ Each monitored stack must say **what is bank, exchange, and merchant-backend**.
Edit **[domains.conf](./domains.conf)** (or set `TALER_DOMAINS_CONF=`): Edit **[domains.conf](./domains.conf)** (or set `TALER_DOMAINS_CONF=`):
```text ```text
# name bank exchange merchant-backend currency local [canonical] # name bank exchange merchant-backend currency local landing lang [canonical]
taler-ops.ch bank.taler-ops.ch exchange.taler-ops.ch my.taler-ops.ch CHF 0 taler-ops.ch bank.taler-ops.ch exchange.taler-ops.ch my.taler-ops.ch CHF 0 0 en
stage.lefrancpaysan.ch stage.bank.… stage.exchange.… stage.monnaie.… TESTPAYSAN 0 1 fr
``` ```
| Field | Meaning | | Field | Meaning |
@ -216,8 +217,11 @@ taler-ops.ch bank.taler-ops.ch exchange.taler-ops.ch my.taler-ops.ch CHF 0
| **currency** | `GOA` / `KUDOS` / `CHF` / … | | **currency** | `GOA` / `KUDOS` / `CHF` / … |
| **local** | `1` = koopa SSH stack; `0` = public only | | **local** | `1` = koopa SSH stack; `0` = public only |
| **landing** | `1` = check `/intro` landings + assets; `0` = skip (TOPS / mytops) | | **landing** | `1` = check `/intro` landings + assets; `0` = skip (TOPS / mytops) |
| **lang** | UI default **`en`** or **`fr`** when `TALER_MON_LANG_SET≠1` (source of truth; FP rows use **`fr`**) |
| **canonical** | optional label after alias (e.g. `my.taler-ops.ch``taler-ops.ch`) | | **canonical** | optional label after alias (e.g. `my.taler-ops.ch``taler-ops.ch`) |
Workstation `TALER_MON_LANG=en` does **not** override a profile with `lang=fr`. Force English on FP only with `--lang en` / `TALER_MON_LANG_SET=1`.
Then: Then:
```bash ```bash

View file

@ -1 +1 @@
1.19.0 1.19.1

View file

@ -17,6 +17,7 @@ Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.8.0`). File `VERSION` omits the `v` pre
| Tag | Date (UTC) | Notes | | Tag | Date (UTC) | Notes |
|-----|------------|--------| |-----|------------|--------|
| **v1.19.1** | 2026-07-19 | **Bugfix / docs:** DEPENDENCIES — e2e requires `taler-helper-sqlite3` on mon PATH + preflight; README domains.conf documents **`lang`** column. |
| **v1.19.0** | 2026-07-19 | **Feature:** domains.conf **`lang`** column (en\|fr) is the global UI language default per stack; i18n + HTML read `TALER_DOMAIN_LANG` / conf (FP profiles `lang=fr`). | | **v1.19.0** | 2026-07-19 | **Feature:** domains.conf **`lang`** column (en\|fr) is the global UI language default per stack; i18n + HTML read `TALER_DOMAIN_LANG` / conf (FP profiles `lang=fr`). |
| **v1.18.9** | 2026-07-19 | **Bugfix:** UI lang — *lefrancpaysan*/*francpaysan* always default **fr** unless `TALER_MON_LANG_SET=1` / `--lang`; workstation `TALER_MON_LANG=en` no longer locks English (host-agent + console_to_html). | | **v1.18.9** | 2026-07-19 | **Bugfix:** UI lang — *lefrancpaysan*/*francpaysan* always default **fr** unless `TALER_MON_LANG_SET=1` / `--lang`; workstation `TALER_MON_LANG=en` no longer locks English (host-agent + console_to_html). |
| **v1.18.8** | 2026-07-19 | **Bugfix:** e2e wallet — require `taler-helper-sqlite3` on PATH; use absolute `node` + `timeout` instead of fragile `perl -e alarm` for wcli; clearer accept-uri errors (no raw alarm-shift noise). | | **v1.18.8** | 2026-07-19 | **Bugfix:** e2e wallet — require `taler-helper-sqlite3` on PATH; use absolute `node` + `timeout` instead of fragile `perl -e alarm` for wcli; clearer accept-uri errors (no raw alarm-shift noise). |