taler-monitoring/site-gen/README.md
Hernâni Marques 4f092b90cc
release 1.4.1: generic docs and canonical install path
Docs use generic ops/outside-runner wording; install path ~/src/taler-monitoring.
VERSION 1.4.1 patch on top of the 1.4.0 scheme release.
2026-07-19 00:58:07 +02:00

83 lines
2.8 KiB
Markdown

# monitoring site-gen
Build **console-style HTML** from `taler-monitoring` runs and stage them for
**host Caddy** (`/monitoring`, `/monitoring_err`).
Same **global reporting defaults** as host-agents (`run-host-report.sh`):
- **`RUN_TIMEOUT=600`** on each suite run
- **line-buffered** logs (continuous write)
- **always** write HTML (first run / empty logs too)
- Forgejo **commit link** in the page header
Applies to all nine fronts (GOA + FP stage + FP prod) in the default `SITES` list.
| Host | Role |
|------|------|
| **optional outside runner** (SSH alias via `FIRECUDA_SSH`) | optional runner (public DNS) |
| **koopa-external** | deploy staging + Caddy (root service) |
| **host-agents** | primary: GOA + FP on-box (`../host-agent/`) |
No secrets in `settings.conf` — only hosts, paths, site list.
## Optional outside runner (outside-only) — **disabled for now**
An **optional outside runner** could run public-only monitoring (`SKIP_SSH=1`, phases
`urls versions`) on a schedule (launchd every 4h) and write HTML under
`~/var/taler-monitoring-sites-work/html/`. Scripts for that still live here
(`install-firecuda-timer.sh`, `run-on-firecuda.sh`, plist template).
**Current policy: do not run a real launchd job on the outside runner.**
Primary GOA monitoring is **koopa host-agent** (`host-agent/`, user `hernani`,
local `podman exec`). Re-enable the outside runner only if you explicitly want a second,
outside-only view.
```bash
# optional one-shot (no timer):
# ssh "$FIRECUDA_SSH" # e.g. your outside-runner alias
# ssh "$FIRECUDA_SSH" '~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh'
# if a timer was installed earlier, ensure it is off:
# ssh "$FIRECUDA_SSH" # e.g. your outside-runner alias
# ssh 'launchctl list | grep taler-monitoring || echo off # macOS outside runner'
```
Disabled plists may remain as `*.plist.disabled-*` under `~/Library/LaunchAgents/`.
## Quick start (ops workstation)
```bash
cd site-gen
cp settings.conf.example settings.conf # optional
chmod +x generate-monitoring-sites.sh deploy-monitoring-sites.sh console_to_html.py
ONLY_HOSTS="bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch" \
SKIP_SSH=1 RUNNER_SSH= \
./generate-monitoring-sites.sh
./deploy-monitoring-sites.sh
```
Then on koopa **as root**: see **[ROOT-ON-KOOPA.md](./ROOT-ON-KOOPA.md)**.
## URL rules
| Path | When |
|------|------|
| `/monitoring_err/` | always: full console log + error list on top (CONTINUE_ON_ERROR run) |
| `/monitoring/` | **clean** full log if last strict run exit 0; else **stub** linking to `/monitoring_err/` |
Footer links **Forgejo commit** of the **taler-monitoring** suite used for that run.
## Layout
```text
site-gen/
settings.conf.example
generate-monitoring-sites.sh
deploy-monitoring-sites.sh
console_to_html.py
caddy-monitoring-handles.snippet
ROOT-ON-KOOPA.md
README.md
```