# 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 | | `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` / `pnpm` + wallet-cli | **e2e** / ladder only (+ secrets) | | `secrets.env` / admin passwords | e2e only — never system packages | ### 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). --- ## firecuda-external (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 hosts (francpaysan / stagepaysan) FP hosts (`francpaysan` / `stagepaysan`): same idea — curl, python3, podman if inside, qrencode/zbar for full urls; suite at `~/src/taler-monitoring`.