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).
86 lines
3.8 KiB
Markdown
86 lines
3.8 KiB
Markdown
# taler-monitoring — host package dependencies
|
|
|
|
## koopa (openSUSE Tumbleweed, user `hernani`)
|
|
|
|
### Required (host-agent / GOA primary: `urls inside versions`)
|
|
|
|
| Binary | Package (zypper) | Role |
|
|
|--------|------------------|------|
|
|
| `bash` | (base) | runner |
|
|
| `curl` | `curl` | HTTPS/API probes + **monpages** FQDN checks |
|
|
| `nmap` | `nmap` | **surface** OS/service fingerprint (`SURFACE_NMAP=1`, v1.8.0+; OS detect may need root) |
|
|
| `python3` | `python313-base` (provides `/usr/bin/python3`) | JSON, HTML site-gen, metrics |
|
|
| `podman` | `podman` | **inside**: `podman exec` into taler-hacktivism* |
|
|
| `git` | `git` | pin commit SHA in monitoring HTML footer |
|
|
| `rsync` | `rsync` | optional: deploy/sync suite |
|
|
| `timeout` / `mktemp` / `getent` | coreutils / glibc | helpers |
|
|
|
|
**Status on koopa (2026-07-18):** all of the above present; rootless podman owns GOA containers.
|
|
|
|
### Recommended (full `urls` QR group)
|
|
|
|
| Binary | Package | Role |
|
|
|--------|---------|------|
|
|
| `qrencode` | **`qrencode`** | encode taler:// / payto:// → PNG |
|
|
| `zbarimg` | **`zbar`** | decode PNG; exact payload match |
|
|
|
|
Without these, QR checks **WARN** and skip encode/decode (`apt install` messages in code are Debian-oriented; on Tumbleweed use zypper).
|
|
|
|
```bash
|
|
# as root on koopa
|
|
zypper refresh
|
|
zypper in qrencode zbar
|
|
# verify as hernani:
|
|
command -v qrencode zbarimg
|
|
```
|
|
|
|
### Optional (not needed for host-agent default)
|
|
|
|
| Binary / tool | When |
|
|
|---------------|------|
|
|
| `jq` | nice-to-have; suite uses python3 for JSON |
|
|
| `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** |
|
|
| `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 |
|
|
|
|
**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 session + **`loginctl enable-linger hernani`** (already **Linger=yes** on koopa)
|
|
- Units: `host-agent/*.service|path|timer`
|
|
|
|
### Caddy HTML publish (separate from monitoring run)
|
|
|
|
- Host Caddy already installed (root service).
|
|
- Writing `/var/www/monitoring-sites`: either root `rsync` or directory owned/writable by `hernani` (you set this up).
|
|
|
|
---
|
|
|
|
## outside-runner (macOS, outside-only timer)
|
|
|
|
| Need | Notes |
|
|
|------|--------|
|
|
| `bash`, `curl`, `python3`, `rsync`, `git` (optional) | usually Homebrew / Xcode CLT |
|
|
| **No** `podman` | phases are `urls versions` only (`SKIP_SSH=1`) |
|
|
| `qrencode` / `zbarimg` | optional for QR; `brew install qrencode zbar` if desired |
|
|
|
|
---
|
|
|
|
## 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`.
|
|
|
|
**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.
|