release 1.7.2: fix Caddy file_server root for monitoring HTML

Static handles must use host-level root + prefix match (/monitoring*),
not root=…/monitoring with handle /monitoring/ (double path → empty 404).
This commit is contained in:
Hernâni Marques 2026-07-19 01:05:20 +02:00
parent 2e3dd6c686
commit 4cfb1412aa
No known key found for this signature in database
GPG key ID: CB5738652768F7E9
3 changed files with 29 additions and 77 deletions

View file

@ -1 +1 @@
1.7.1
1.7.2

View file

@ -13,11 +13,12 @@ Tags and `VERSION` use **MAJOR.FEATURE.FIX** (three components), introduced in *
| **FEATURE** | New capabilities (phases, HTML features, i18n packs, …) |
| **FIX** | Bugfixes and docs that do not add a feature |
Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.7.1`). File `VERSION` omits the `v` prefix.
Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.7.2`). File `VERSION` omits the `v` prefix.
| Tag | Date (UTC) | Notes |
|-----|------------|--------|
| **v1.8.0** | *planned* | **L10n** packs for user-facing strings: **fr-CH** (FrancPaysan) and **de-CH** (hacktivism / Taler CH German). |
| **v1.7.2** | 2026-07-18 | **Bugfix:** Caddy static handles — `root` must be host dir + matcher `/monitoring*` (not leaf dir + `/monitoring/`), else file_server returns empty 404 after apply. |
| **v1.7.1** | 2026-07-18 | Host-agent default `STRICT_EXIT=1`; monpages staging-vs-public diagnosis; re-htmlify after public check fails. |
| **v1.7.0** | 2026-07-18 | CLI `--ver` / `--version` / `-V`: suite version, git commit, repo/tag/commit URLs. |
| **v1.6.0** | 2026-07-18 | **Mail monitoring:** phase `mail` (firefly + pixel/TSA); MX/SMTP/IMAP/SPF/DMARC; `/taler-monitoring-mail*`. |
@ -35,7 +36,7 @@ Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.7.1`). File `VERSION` omits the `v` pre
## Sticky bar version (v1.3.0+)
Generated HTML shows the installed release tag (e.g. `v1.7.1`) and links to Forgejo:
Generated HTML shows the installed release tag (e.g. `v1.7.2`) and links to Forgejo:
`https://git.hacktivism.ch/hernani/taler-monitoring/src/tag/<tag>`
@ -65,5 +66,5 @@ Full locale packs (fr-CH / de-CH): **v1.8.0** (planned).
```bash
git clone https://git.hacktivism.ch/hernani/taler-monitoring.git ~/src/taler-monitoring
cd ~/src/taler-monitoring && git checkout v1.7.1
cd ~/src/taler-monitoring && git checkout v1.7.2
```

View file

@ -1,89 +1,40 @@
# Host Caddy on koopa (root service). Paste BEFORE catch-all reverse_proxy.
# Host Caddy (root service). Place BEFORE catch-all reverse_proxy in each site block.
#
# CRITICAL (v1.7.2): root must be the *host directory* (…/monitoring-sites/{host}),
# and the matcher must be a path *prefix* (`/monitoring*`), so that URI
# /monitoring/index.html maps to {root}/monitoring/index.html.
#
# WRONG (causes empty HTTP 404 from Caddy file_server):
# handle /monitoring/ {
# root * …/monitoring-sites/{host}/monitoring
# file_server
# }
# → looks for …/monitoring/monitoring/index.html
#
# Disk layout:
# /var/www/monitoring-sites/{host}/monitoring/index.html
# /var/www/monitoring-sites/{host}/monitoring_err/index.html
# /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-surface*/index.html
# /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-aptdeploy*/index.html
#
# /monitoring* → bank + exchange + taler.hacktivism.ch
# /taler-monitoring-surface* → taler.hacktivism.ch only
# /taler-monitoring-aptdeploy* → taler.hacktivism.ch only
# /taler-monitoring-mattermost* → taler.hacktivism.ch only
# /taler-monitoring-mail* → taler.hacktivism.ch only
# /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-*/index.html
# --- only inside taler.hacktivism.ch { ... } ---
handle /taler-monitoring-surface_err {
redir /taler-monitoring-surface_err/ 302
}
handle /taler-monitoring-surface_err/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-surface_err
handle /taler-monitoring-surface* {
root * /var/www/monitoring-sites/taler.hacktivism.ch
file_server
}
handle /taler-monitoring-surface {
redir /taler-monitoring-surface/ 302
}
handle /taler-monitoring-surface/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-surface
handle /taler-monitoring-aptdeploy* {
root * /var/www/monitoring-sites/taler.hacktivism.ch
file_server
}
handle /taler-monitoring-aptdeploy_err {
redir /taler-monitoring-aptdeploy_err/ 302
}
handle /taler-monitoring-aptdeploy_err/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-aptdeploy_err
handle /taler-monitoring-mattermost* {
root * /var/www/monitoring-sites/taler.hacktivism.ch
file_server
}
handle /taler-monitoring-aptdeploy {
redir /taler-monitoring-aptdeploy/ 302
}
handle /taler-monitoring-aptdeploy/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-aptdeploy
handle /taler-monitoring-mail* {
root * /var/www/monitoring-sites/taler.hacktivism.ch
file_server
}
handle /taler-monitoring-mattermost_err {
redir /taler-monitoring-mattermost_err/ 302
}
handle /taler-monitoring-mattermost_err/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-mattermost_err
file_server
}
handle /taler-monitoring-mattermost {
redir /taler-monitoring-mattermost/ 302
}
handle /taler-monitoring-mattermost/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-mattermost
file_server
}
handle /taler-monitoring-mail_err {
redir /taler-monitoring-mail_err/ 302
}
handle /taler-monitoring-mail_err/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-mail_err
file_server
}
handle /taler-monitoring-mail {
redir /taler-monitoring-mail/ 302
}
handle /taler-monitoring-mail/ {
root * /var/www/monitoring-sites/taler.hacktivism.ch/taler-monitoring-mail
file_server
}
# --- bank + exchange + taler (each site block) ---
handle /monitoring_err {
redir /monitoring_err/ 302
}
handle /monitoring_err/ {
root * /var/www/monitoring-sites/{host}/monitoring_err
file_server
}
handle /monitoring {
redir /monitoring/ 302
}
handle /monitoring/ {
root * /var/www/monitoring-sites/{host}/monitoring
# --- bank + exchange + taler (each site block; set root host dir) ---
handle /monitoring* {
root * /var/www/monitoring-sites/{host}
file_server
}