koopa-admin-log/2026/2026-07-18--monitoring-public-caddy.md
Hernâni Marques 6c92cd1c1b
docs: monitoring public HTML needs Caddy/www root apply (I-09)
Document merchant JSON code 21 on /monitoring* as infra (not suite).
Topic note, day log, ISSUES I-09, pointer README, sync prepared Caddyfile.
2026-07-18 21:29:45 +02:00

2.4 KiB
Raw Blame History

2026-07-18 — Monitoring-HTML öffentlich: Caddy / www (Infra)

Symptom

Öffentliche URLs liefern Merchant-JSON code 21 (HTTP 404), kein sticky-bar HTML:

  • https://taler.hacktivism.ch/monitoring/
  • https://bank.hacktivism.ch/monitoring/
  • https://exchange.hacktivism.ch/monitoring/
  • https://taler.hacktivism.ch/taler-monitoring-surface/
  • https://taler.hacktivism.ch/taler-monitoring-aptdeploy/
  • https://taler.hacktivism.ch/taler-monitoring-mattermost/
  • https://taler.hacktivism.ch/taler-monitoring-mail/

(jeweils auch ohne trailing slash und *_err/ wo vorhanden)

Nicht die Suite

Standalone-Repo taler-monitoring (aktuell z.B. v1.7.1, ~/src/taler-monitoring):

Ort Status
Staging ~/monitoring-sites-staging/…/*/index.html vorhanden (sticky-bar)
Host-agent Timer aktiv; meldet Deploy/monpages-Fehler (STRICT_EXIT=1 ab v1.7.1)
Live /var/www/monitoring-sites unvollständig / veraltet; nicht schreibbar für hernani
Live /etc/caddy/Caddyfile keine handle /monitoring* (Stand 2026-07-18)
Vorbereitet ~/koopa-caddy/Caddyfile (Handles vor reverse_proxy)

Caddy läuft als System-Unit (User=caddy, ProtectHome=true) → Staging unter /home/hernani ist für Caddy nicht lesbar. Auslieferung muss über /var/www/monitoring-sites.

Root-Fix (einmal)

sudo ~/koopa-caddy/apply-monitoring-live.sh

Das Script:

  1. rsync Staging → /var/www/monitoring-sites/
  2. Ownership/ACL: hernani schreibbar, Gruppe caddy
  3. Installiert vorbereitete Caddyfile → /etc/caddy/Caddyfile, caddy validate, systemctl reload caddy
  4. Smoke-curl der Monitoring-URLs (darf nicht code 21 sein)

Danach sollten Host-Agent-Läufe selbst nach www rsyncen (wenn ACL greift).

Verifikation

curl -sS -o /dev/null -w "%{http_code}\n" https://taler.hacktivism.ch/monitoring/
# expect 200 + HTML with sticky-bar, not JSON code 21

grep -c "handle /monitoring" /etc/caddy/Caddyfile
# expect > 0

test -w /var/www/monitoring-sites && echo www_writable

Suite vs. Ops

Repo Rolle
taler-monitoring Checks, HTML-Generator, host-agent
koopa-admin-log (dieses Repo) Caddy-Spiegel, Apply-Skript-Hinweise, Issues
~/koopa-caddy/ Live-Apply-Quelle auf dem Host (nicht Secrets)

Siehe Issue I-09 in ISSUES.md.