fix 1.23.1: only /monitoring-max-ladder for GOA (drop classic ladder page)

Hacktivism mon page is max-search only on bank/exchange/taler. Remove
classic /monitoring-ladder units, monpages catalog, and Caddy bare redirs.
This commit is contained in:
Hernâni Marques 2026-07-19 15:05:21 +02:00
parent 617d066a70
commit c1a3cba28b
No known key found for this signature in database
13 changed files with 34 additions and 124 deletions

View file

@ -23,27 +23,23 @@ Thin wrappers only set stack defaults:
| `run-aptdeploy.sh` | CLI: ensure + **aptdeploy** (no HTML) | local if hostname=koopa, else **ssh $DEPLOY_SSH** |
| `run-aptdeploy-monitoring.sh` | apt-src tests → `/taler-monitoring-aptdeploy*` | `hernani` @ koopa (4h) |
| `run-surface-monitoring.sh` | **surface** → only `/taler-monitoring-surface*` (ecosystem + mail + mattermost + versions) | `hernani` @ koopa (hourly) |
| `run-ladder-monitoring.sh` | GOA **classic** amount ladder → `/monitoring-ladder/` on bank/exchange/taler | `hernani` @ koopa (**daily**) |
| `run-max-ladder-monitoring.sh` | GOA **max-search** ladder → `/monitoring-max-ladder/` on bank/exchange/taler | `hernani` @ koopa (**daily**) |
Deprecated mail/mattermost wrappers: **`../meta/deprecated/`** (not installed).
Deprecated mail/mattermost wrappers: **`../meta/deprecated/`** (not installed). No classic **`/monitoring-ladder`** page.
### GOA amount ladder pages (daily)
### GOA max-search ladder page (daily)
| URL | Phase | Timer |
|-----|-------|-------|
| `https://{bank,exchange,taler}.hacktivism.ch/monitoring-ladder/` | `ladder` (classic) | `taler-monitoring-ladder.timer` (~05:15 + jitter) |
| `https://{bank,exchange,taler}.hacktivism.ch/monitoring-max-ladder/` | `max-ladder` | `taler-monitoring-max-ladder.timer` (~06:30 + jitter) |
```bash
systemctl --user enable --now taler-monitoring-ladder.timer
systemctl --user enable --now taler-monitoring-max-ladder.timer
# first round now:
systemctl --user start taler-monitoring-ladder.service
systemctl --user start taler-monitoring-max-ladder.service
```
Needs explorer secrets (`SECRETS_ROOT` / bank-explorer password). Long wall: classic ~2h, max ~3h (`RUN_TIMEOUT`).
Needs explorer secrets (`SECRETS_ROOT` / bank-explorer password). Wall ~3h (`RUN_TIMEOUT=10800`).
### apt-src deploy tests (hacktivism `/monitoring`)

View file

@ -48,12 +48,11 @@ There is **no** public page `/taler-monitoring`. Each family needs **bare and sl
| Family | Paths | Host | Source timer |
|--------|-------|------|----------------|
| **monitoring** | `/monitoring` · `/monitoring/` · `/monitoring_err` · `/monitoring_err/` | bank + exchange + taler (and other landings) | `taler-monitoring-hacktivism.timer` (4h) |
| **monitoring-ladder** | `/monitoring-ladder` · `/` · `_err` | bank + exchange + taler (**GOA**) | `taler-monitoring-ladder.timer` (**daily**) |
| **monitoring-max-ladder** | `/monitoring-max-ladder` · `/` · `_err` | bank + exchange + taler (**GOA**) | `taler-monitoring-max-ladder.timer` (**daily**) |
| **monitoring-max-ladder** | `/monitoring-max-ladder` · `/` · `_err` | bank + exchange + taler (**GOA** max-search only) | `taler-monitoring-max-ladder.timer` (**daily**) |
| **taler-monitoring-surface** | bare + slash + `_err` | **taler.hacktivism.ch only** | `taler-monitoring-surface.timer` (1h) |
| **taler-monitoring-aptdeploy** | bare + slash + `_err` | **taler.hacktivism.ch only** | `taler-monitoring-aptdeploy.timer` (4h) |
Served via existing Caddy `handle /monitoring*` (file_server under `/var/www/monitoring-sites/{host}/`).
No classic **`/monitoring-ladder`**. Max-ladder served via Caddy `handle /monitoring*` under `/var/www/monitoring-sites/{host}/`.
HTML is generated as **hernani** into
`$DEPLOY_STAGING (or $HOME/monitoring-sites-staging)/`.

View file

@ -57,9 +57,6 @@ urls=(
https://taler.hacktivism.ch/monitoring/
https://bank.hacktivism.ch/monitoring/
https://exchange.hacktivism.ch/monitoring/
https://taler.hacktivism.ch/monitoring-ladder/
https://bank.hacktivism.ch/monitoring-ladder/
https://exchange.hacktivism.ch/monitoring-ladder/
https://taler.hacktivism.ch/monitoring-max-ladder/
https://bank.hacktivism.ch/monitoring-max-ladder/
https://exchange.hacktivism.ch/monitoring-max-ladder/

View file

@ -63,19 +63,21 @@ install_local() {
# optional aptdeploy (not a public mon page layout — v1.8.0 simplified overview)
install -m 644 "$ROOT/taler-monitoring-aptdeploy.service" "$home_unit/"
install -m 644 "$ROOT/taler-monitoring-aptdeploy.timer" "$home_unit/"
# GOA amount ladder pages (daily)
install -m 644 "$ROOT/taler-monitoring-ladder.service" "$home_unit/"
install -m 644 "$ROOT/taler-monitoring-ladder.timer" "$home_unit/"
# GOA max-search amount ladder page (daily only — no classic /monitoring-ladder)
install -m 644 "$ROOT/taler-monitoring-max-ladder.service" "$home_unit/"
install -m 644 "$ROOT/taler-monitoring-max-ladder.timer" "$home_unit/"
chmod +x "$ROOT/run-ladder-monitoring.sh" "$ROOT/run-max-ladder-monitoring.sh" 2>/dev/null || true
chmod +x "$ROOT/run-max-ladder-monitoring.sh" 2>/dev/null || true
systemctl --user daemon-reload
systemctl --user enable --now taler-monitoring-hacktivism.path
systemctl --user enable --now taler-monitoring-hacktivism.timer
systemctl --user enable --now taler-monitoring-surface.timer
systemctl --user enable --now taler-monitoring-aptdeploy.timer
systemctl --user enable --now taler-monitoring-ladder.timer
systemctl --user enable --now taler-monitoring-max-ladder.timer
# drop classic ladder mon page if previously installed
systemctl --user disable --now taler-monitoring-ladder.timer 2>/dev/null || true
systemctl --user stop taler-monitoring-ladder.service 2>/dev/null || true
rm -f "$home_unit/taler-monitoring-ladder.service" \
"$home_unit/taler-monitoring-ladder.timer" 2>/dev/null || true
# Remove leftover mail/mattermost units if present (moved to meta/deprecated/)
systemctl --user disable --now taler-monitoring-mattermost.timer 2>/dev/null || true
systemctl --user disable --now taler-monitoring-mail.timer 2>/dev/null || true
@ -89,8 +91,7 @@ install_local() {
systemctl --user start taler-monitoring-hacktivism.service || true
systemctl --user start taler-monitoring-surface.service || true
systemctl --user start taler-monitoring-aptdeploy.service || true
# first ladder rounds immediately (classic then max-search; both daily thereafter)
systemctl --user start taler-monitoring-ladder.service || true
# first max-ladder round immediately (daily thereafter)
systemctl --user start taler-monitoring-max-ladder.service || true
echo "--- status ---"
@ -98,18 +99,16 @@ install_local() {
systemctl --user status taler-monitoring-hacktivism.timer --no-pager -l | head -12
systemctl --user status taler-monitoring-surface.timer --no-pager -l | head -12
systemctl --user status taler-monitoring-aptdeploy.timer --no-pager -l | head -12
systemctl --user status taler-monitoring-ladder.timer --no-pager -l | head -12
systemctl --user status taler-monitoring-max-ladder.timer --no-pager -l | head -12
systemctl --user list-timers --all | grep taler-monitoring || true
echo "OK host-agent:"
echo " · hacktivism 4h → /monitoring on bank/exchange/taler (landing stacks)"
echo " · ladder daily → /monitoring-ladder/ (classic amount ladder, GOA)"
echo " · max-ladder daily → /monitoring-max-ladder/ (max-search, GOA)"
echo " · max-ladder daily → /monitoring-max-ladder/ (GOA max-search, bank/exchange/taler)"
echo " · surface 1h → /taler-monitoring-surface* (ecosystem versions/software)"
echo " · aptdeploy 4h (optional tests)"
echo " · no classic /monitoring-ladder page"
echo " · mail/mattermost: not installed (meta/deprecated/; content in surface)"
echo "suite: $mon"
echo "manual ladder: systemctl --user start taler-monitoring-ladder.service"
echo "manual max-ladder: systemctl --user start taler-monitoring-max-ladder.service"
echo "after upgrades: $ROOT/touch-software-stamp.sh"
}

View file

@ -16,12 +16,12 @@ export INSIDE_MODE="${INSIDE_MODE:-local-podman}"
export LOCAL_STACK="${LOCAL_STACK:-1}"
export CONTINUE_ON_ERROR="${CONTINUE_ON_ERROR:-1}"
export RUN_TIMEOUT="${RUN_TIMEOUT:-600}"
# stack checks + full monpages inventory (landings + ladder + surface + aptdeploy).
# stack checks + full monpages inventory (landings + max-ladder + surface + aptdeploy).
# Specialized pages also have their own timers; full outside-in inventory lives here.
# run-ladder-monitoring.sh → /monitoring-ladder* (daily classic)
# run-max-ladder-monitoring.sh → /monitoring-max-ladder* (daily max-search)
# run-max-ladder-monitoring.sh → /monitoring-max-ladder* (daily max-search, GOA)
# run-aptdeploy-monitoring.sh → monpages job-only for /taler-monitoring-aptdeploy*
# run-surface-monitoring.sh → monpages job-only for /taler-monitoring-surface*
# No classic /monitoring-ladder page.
export PHASES="${PHASES:-urls inside versions monpages}"
export MON_HOSTS="${MON_HOSTS:-bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch}"
export HTML_OUT="${HTML_OUT:-$HOME/monitoring-sites-staging}"

View file

@ -1,43 +0,0 @@
#!/usr/bin/env bash
# run-ladder-monitoring.sh — GOA classic amount ladder → public HTML
#
# Public (landing hosts, same Caddy /monitoring* static root):
# https://{bank,exchange,taler}.hacktivism.ch/monitoring-ladder/
# https://{bank,exchange,taler}.hacktivism.ch/monitoring-ladder_err/
#
# Timer: once daily (taler-monitoring-ladder.timer). Long wall clock.
#
set -uo pipefail
AGENT_DIR=$(cd "$(dirname "$0")" && pwd)
export AGENT_LABEL="${AGENT_LABEL:-ladder-host-agent}"
export STATE_NAME="${STATE_NAME:-taler-ladder-monitoring}"
export TALER_DOMAIN="${TALER_DOMAIN:-hacktivism.ch}"
export TALER_MON_LANG="${TALER_MON_LANG:-en}"
export TALER_MON_LANG_SET=1
export INSIDE_PODMAN="${INSIDE_PODMAN:-1}"
export INSIDE_MODE="${INSIDE_MODE:-local-podman}"
export LOCAL_STACK="${LOCAL_STACK:-1}"
export SKIP_SSH="${SKIP_SSH:-0}"
export CONTINUE_ON_ERROR="${CONTINUE_ON_ERROR:-1}"
# classic 23-rung + pay can run long
export RUN_TIMEOUT="${RUN_TIMEOUT:-7200}"
export PHASES="ladder monpages"
export MON_HOSTS="${MON_HOSTS:-bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch}"
export HTML_OUT="${HTML_OUT:-$HOME/monitoring-sites-staging}"
export DEPLOY_WWW_ROOT="${DEPLOY_WWW_ROOT:-/var/www/monitoring-sites}"
export HTML_OK_DIR="monitoring-ladder"
export HTML_ERR_DIR="monitoring-ladder_err"
export HTML_URL_OK="/monitoring-ladder/"
export HTML_URL_ERR="/monitoring-ladder_err/"
export PAGE_LABEL="monitoring-ladder"
export MONPAGES_INVENTORY="job"
# Classic ladder defaults (override in ~/.config/taler-monitoring/env)
export LADDER_MODE="${LADDER_MODE:-classic}"
export LADDER_PAY="${LADDER_PAY:-1}"
export APT_DEPLOY_ENSURE=0
exec bash "$AGENT_DIR/run-host-report.sh" "$@"

View file

@ -1,19 +0,0 @@
[Unit]
Description=Taler monitoring GOA classic amount ladder → /monitoring-ladder/
Documentation=file:%h/src/taler-monitoring/host-agent/README.md
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
Environment=PATH=%h/.local/bin:/usr/local/bin:/usr/bin:/bin
Environment=CONTINUE_ON_ERROR=1
Environment=RUN_TIMEOUT=7200
EnvironmentFile=-%h/.config/taler-monitoring/env
WorkingDirectory=%h/src/taler-monitoring
ExecStart=%h/src/taler-monitoring/host-agent/run-ladder-monitoring.sh
Nice=10
TimeoutStartSec=3h
[Install]
WantedBy=default.target

View file

@ -1,14 +0,0 @@
[Unit]
Description=Daily GOA classic amount ladder mon page
Documentation=file:%h/src/taler-monitoring/host-agent/README.md
[Timer]
# Once per day (CEST morning-ish on typical hosts); randomize to avoid thundering herd
OnCalendar=*-*-* 05:15:00
Persistent=true
AccuracySec=15min
RandomizedDelaySec=30min
Unit=taler-monitoring-ladder.service
[Install]
WantedBy=timers.target