release 1.8.0: simplified mon pages + surface nmap + mail hosts

Public layout: only taler-monitoring-surface(+_err) for ecosystem
software/versions; nine landing stacks keep /monitoring(+_err).
Fold mail (firefly.gnunet.org, anastasis.taler-systems.com) and
mattermost into the surface job; deprecate separate mon pages/timers.
nmap OS fingerprinting; package-behind defaults to ERROR.
This commit is contained in:
Hernâni Marques 2026-07-19 00:29:49 +02:00
parent 2b846dab7a
commit e7a3cd558f
No known key found for this signature in database
GPG key ID: CB5738652768F7E9
15 changed files with 263 additions and 154 deletions

View file

@ -99,6 +99,20 @@ _host_allowed() {
esac
}
# Public page layout (v1.8.0+ simplified):
# • 9 landing stacks → /monitoring/ (+ /monitoring_err/ when present)
# • ecosystem software/versions inventory → only
# https://taler.hacktivism.ch/taler-monitoring-surface/
# https://taler.hacktivism.ch/taler-monitoring-surface_err/
# Legacy /taler-monitoring-{mail,mattermost,aptdeploy}* are NOT first-class pages.
_path_allowed() {
case "$1" in
monitoring|monitoring_err|taler-monitoring-surface|taler-monitoring-surface_err) return 0 ;;
*) return 1 ;;
esac
}
# Emit https://host/path/ for each …/host/path/index.html under root (max depth 3).
_discover_tree() {
local root="$1" fam="$2"
@ -112,10 +126,19 @@ _discover_tree() {
path="${path%/index.html}"
[ -n "$host" ] && [ -n "$path" ] || continue
_host_allowed "$host" "$fam" || continue
_path_allowed "$path" || continue
printf 'https://%s/%s/\n' "$host" "$path"
done < <(find "${root%/}" -mindepth 3 -maxdepth 3 -type f -name index.html -print0 2>/dev/null)
}
# Nine landing stacks (GOA 3 + FP stage 3 + FP prod 3) with /monitoring/
_landing_nine() {
printf '%s\n' \
bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch \
stage.bank.lefrancpaysan.ch stage.exchange.lefrancpaysan.ch stage.monnaie.lefrancpaysan.ch \
bank.lefrancpaysan.ch exchange.lefrancpaysan.ch monnaie.lefrancpaysan.ch
}
# Suite catalog of OK pages that must exist for this family.
_catalog_urls() {
local fam="$1" h
@ -124,14 +147,8 @@ _catalog_urls() {
for h in bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch; do
printf 'https://%s/monitoring/\n' "$h"
done
for h in \
taler-monitoring-surface \
taler-monitoring-aptdeploy \
taler-monitoring-mattermost \
taler-monitoring-mail
do
printf 'https://taler.hacktivism.ch/%s/\n' "$h"
done
# ecosystem surface only (versions / software found in Taler universe)
printf 'https://taler.hacktivism.ch/taler-monitoring-surface/\n'
;;
fp)
for h in $MON_HOSTS; do
@ -140,6 +157,14 @@ _catalog_urls() {
printf 'https://%s/monitoring/\n' "$h"
done
;;
all|nine)
# optional: all nine landings + surface
while IFS= read -r h; do
[ -n "$h" ] || continue
printf 'https://%s/monitoring/\n' "$h"
done < <(_landing_nine)
printf 'https://taler.hacktivism.ch/taler-monitoring-surface/\n'
;;
esac
}