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.
This commit is contained in:
Hernâni Marques 2026-07-18 21:49:53 +02:00
parent 4dace0d7de
commit 53a9ceceeb
No known key found for this signature in database
15 changed files with 75 additions and 50 deletions

View file

@ -14,35 +14,37 @@ Applies to all nine fronts (GOA + FP stage + FP prod) in the default `SITES` lis
| Host | Role |
|------|------|
| **firecuda-external** | optional runner (public DNS) |
| **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.
## firecuda-external (outside-only) — **disabled for now**
## Optional outside runner (outside-only) — **disabled for now**
**firecuda-external could** run public-only monitoring (`SKIP_SSH=1`, phases
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 firecuda.**
**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 firecuda only if you explicitly want a second,
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-external '~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh'
# 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-external 'launchctl list | grep taler-monitoring || echo 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 (laptop)
## Quick start (ops workstation)
```bash
cd site-gen

View file

@ -88,5 +88,5 @@ curl -sS https://bank.hacktivism.ch/monitoring_err/ | head
## Not needed as root
- Running `taler-monitoring` (use **firecuda-external** / laptop)
- Running `taler-monitoring` (use **optional outside runner** (SSH alias via `FIRECUDA_SSH`) / laptop)
- Writing into podman Taler containers

View file

@ -12,7 +12,11 @@ set -euo pipefail
ROOT=$(cd "$(dirname "$0")" && pwd)
MON_ROOT=$(cd "$ROOT/.." && pwd)
FIRECUDA="${FIRECUDA_SSH:-firecuda-external}"
FIRECUDA="${FIRECUDA_SSH:-}"
if [ -z "$FIRECUDA" ]; then
echo "Set FIRECUDA_SSH to your outside-runner SSH host alias" >&2
exit 2
fi
REMOTE_BASE="${FIRECUDA_INSTALL_DIR:-taler-monitoring-site-gen}"
RUN_NOW=0
[ "${1:-}" = "--run-now" ] && RUN_NOW=1

View file

@ -2,7 +2,11 @@
# pull-firecuda-to-koopa.sh — copy HTML from firecuda work dir → koopa staging
# Run on laptop (hernani) where both SSH aliases work.
set -euo pipefail
FIRECUDA="${FIRECUDA_SSH:-firecuda-external}"
FIRECUDA="${FIRECUDA_SSH:-}"
if [ -z "$FIRECUDA" ]; then
echo "Set FIRECUDA_SSH to your outside-runner SSH host alias" >&2
exit 2
fi
KOOPA="${DEPLOY_SSH:-koopa-external}"
REMOTE_HTML="${FIRECUDA_HTML:-var/taler-monitoring-sites-work/html/}"
STAGE="${DEPLOY_STAGING:-/home/hernani/monitoring-sites-staging}"

View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash
# run-on-firecuda.sh — entrypoint for launchd/cron on firecuda-external.
# run-on-firecuda.sh — entrypoint for launchd/cron on outside-runner.
# Outside-only monitoring (SKIP_SSH=1), all 9 sites, then stage HTML to koopa.
#
# Installed path on firecuda (default):
# Installed path on outside-runner (default):
# ~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh
#
set -uo pipefail
@ -16,7 +16,7 @@ STAMP=$(date +%Y%m%d-%H%M%S)
LOG="$LOG_DIR/run-${STAMP}.log"
exec >>"$LOG" 2>&1
echo "======== $(date -Iseconds 2>/dev/null || date) firecuda monitoring sites ========"
echo "======== $(date -Iseconds 2>/dev/null || date) outside-runner monitoring sites ========"
# Always: public DNS only, no SSH checks into stacks
export SKIP_SSH=1
@ -39,7 +39,7 @@ chmod +x generate-monitoring-sites.sh deploy-monitoring-sites.sh console_to_html
./generate-monitoring-sites.sh
ec=$?
# HTML stays on firecuda under WORK_ROOT/html.
# HTML stays on outside-runner under WORK_ROOT/html.
# Optional push to koopa if this host can SSH there (often only from laptop):
if [ -n "${DEPLOY_SSH:-}" ] && [ "${DEPLOY_FROM_FIRECUDA:-0}" = "1" ]; then
if [ -x ./deploy-monitoring-sites.sh ]; then
@ -47,7 +47,7 @@ if [ -n "${DEPLOY_SSH:-}" ] && [ "${DEPLOY_FROM_FIRECUDA:-0}" = "1" ]; then
fi
else
echo "note: HTML at ${WORK_ROOT}/html — pull from laptop:"
echo " rsync -az firecuda-external:var/taler-monitoring-sites-work/html/ \\"
echo " rsync -az outside-runner:var/taler-monitoring-sites-work/html/ \\"
echo " koopa-external:monitoring-sites-staging/"
echo " # or: ./pull-firecuda-to-koopa.sh"
fi

View file

@ -2,8 +2,8 @@
# Copy: cp settings.conf.example settings.conf
# Never put passwords/tokens here.
# On firecuda the suite runs *locally* (RUNNER_SSH empty). From a laptop you
# can set RUNNER_SSH=firecuda-external to drive a one-off remote run instead.
# On an outside runner the suite runs *locally* (RUNNER_SSH empty). From a laptop you
# can set RUNNER_SSH=<outside-runner-ssh-alias> to drive a one-off remote run instead.
RUNNER_SSH=
RUNNER_SSH_FALLBACKS=
RUNNER_REMOTE_WORKDIR=/tmp/taler-monitoring-site-gen