From 10961e5ef5c11b273e467d7cf38256f753d2e79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hern=C3=A2ni=20Marques?= Date: Sat, 18 Jul 2026 15:48:14 +0200 Subject: [PATCH] release 1.2: selectable language en|fr --- VERSION | 2 +- host-agent/run-fp-prod-monitoring.sh | 4 ++ host-agent/run-fp-stage-monitoring.sh | 4 ++ host-agent/run-hacktivism-monitoring.sh | 4 ++ host-agent/run-host-report.sh | 11 +++++- site-gen/settings.conf | 51 ------------------------- taler-monitoring.sh | 17 ++++++++- 7 files changed, 38 insertions(+), 55 deletions(-) delete mode 100644 site-gen/settings.conf diff --git a/VERSION b/VERSION index 1cc5f65..867e524 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.0 \ No newline at end of file +1.2.0 \ No newline at end of file diff --git a/host-agent/run-fp-prod-monitoring.sh b/host-agent/run-fp-prod-monitoring.sh index be876a8..46c7876 100755 --- a/host-agent/run-fp-prod-monitoring.sh +++ b/host-agent/run-fp-prod-monitoring.sh @@ -2,6 +2,10 @@ # FrancPaysan PROD host-agent (user francpaysan on francpaysan-host). # Shared reporting: run-host-report.sh (timeout, line-buffered log, first-run HTML). set -uo pipefail + +# Language: en|fr (selectable). Default for this wrapper: fr +export TALER_MON_LANG="${TALER_MON_LANG:-fr}" +export TALER_MON_LANG_SET=1 AGENT_DIR=$(cd "$(dirname "$0")" && pwd) export AGENT_LABEL="${AGENT_LABEL:-fp-prod-host-agent}" diff --git a/host-agent/run-fp-stage-monitoring.sh b/host-agent/run-fp-stage-monitoring.sh index 70518f0..42fafed 100755 --- a/host-agent/run-fp-stage-monitoring.sh +++ b/host-agent/run-fp-stage-monitoring.sh @@ -2,6 +2,10 @@ # FrancPaysan STAGE host-agent (user stagepaysan on francpaysan-host). # Shared reporting: run-host-report.sh (timeout, line-buffered log, first-run HTML). set -uo pipefail + +# Language: en|fr (selectable). Default for this wrapper: fr +export TALER_MON_LANG="${TALER_MON_LANG:-fr}" +export TALER_MON_LANG_SET=1 AGENT_DIR=$(cd "$(dirname "$0")" && pwd) export AGENT_LABEL="${AGENT_LABEL:-fp-stage-host-agent}" diff --git a/host-agent/run-hacktivism-monitoring.sh b/host-agent/run-hacktivism-monitoring.sh index 8fd98fd..b56fdc2 100755 --- a/host-agent/run-hacktivism-monitoring.sh +++ b/host-agent/run-hacktivism-monitoring.sh @@ -2,6 +2,10 @@ # GOA / hacktivism host-agent on koopa (hernani). # Stack defaults only — reporting pipeline is shared: run-host-report.sh set -uo pipefail + +# Language: en|fr (selectable). Default for this wrapper: en +export TALER_MON_LANG="${TALER_MON_LANG:-en}" +export TALER_MON_LANG_SET=1 AGENT_DIR=$(cd "$(dirname "$0")" && pwd) export AGENT_LABEL="${AGENT_LABEL:-hacktivism-host-agent}" diff --git a/host-agent/run-host-report.sh b/host-agent/run-host-report.sh index 16857c1..81d06bb 100755 --- a/host-agent/run-host-report.sh +++ b/host-agent/run-host-report.sh @@ -72,12 +72,19 @@ export CONTINUE_ON_ERROR="${CONTINUE_ON_ERROR:-1}" export AUTH401_CONTINUE="${AUTH401_CONTINUE:-${CONTINUE_ON_ERROR}}" export RUN_TIMEOUT="${RUN_TIMEOUT:-600}" export TALER_DOMAIN="${TALER_DOMAIN:-hacktivism.ch}" -# UI language: en default; fr for FrancPaysan (override with TALER_MON_LANG) -if [ -z "${TALER_MON_LANG:-}" ]; then +# UI language: selectable via TALER_MON_LANG / --lang (en|fr). +# If unset, auto: FrancPaysan domains → fr, else en. +if [ "${TALER_MON_LANG_SET:-0}" != "1" ] && [ -z "${TALER_MON_LANG:-}" ]; then case "$TALER_DOMAIN" in *lefrancpaysan*|*francpaysan*) export TALER_MON_LANG=fr ;; *) export TALER_MON_LANG=en ;; esac +elif [ -n "${TALER_MON_LANG:-}" ]; then + case "$TALER_MON_LANG" in + fr|FR|fra|french) export TALER_MON_LANG=fr ;; + *) export TALER_MON_LANG=en ;; + esac + export TALER_MON_LANG_SET=1 fi export TALER_MON_LANG diff --git a/site-gen/settings.conf b/site-gen/settings.conf deleted file mode 100644 index 1cc3a5f..0000000 --- a/site-gen/settings.conf +++ /dev/null @@ -1,51 +0,0 @@ -# monitoring site-gen — non-secret settings (safe as example) -# Copy: cp settings.conf.example settings.conf -# Never put passwords/tokens here. - -# Runner: public DNS path (firecuda-external) -RUNNER_SSH= -RUNNER_SSH_FALLBACKS= -RUNNER_REMOTE_WORKDIR=/tmp/taler-monitoring-site-gen -MONITORING_ROOT=.. - -# Deploy: host Caddy on koopa (root service — not in container) -DEPLOY_SSH=koopa-external -DEPLOY_SSH_FALLBACKS=koopa -# Static files for Caddy file_server (created per hostname) -DEPLOY_WWW_ROOT=/var/www/monitoring-sites -DEPLOY_SUDO=sudo -CADDY_CONFIG=/etc/caddy/Caddyfile -CADDY_MIRROR_REL=configs/caddy/Caddyfile -# Working tree on deploy host for apply (optional) -KOOPA_CADDY_DIR=/home/hernani/koopa-caddy - -# Source link for HTML footer (Forgejo) -SOURCE_REPO_WEB=https://git.hacktivism.ch/hernani/koopa-admin-log -SOURCE_COMMIT_URL_TMPL={repo}/src/commit/{commit} -SOURCE_SUITE_PATH=scripts/taler-monitoring - -CONTINUE_ON_ERROR=1 -PHASES_ERR=urls versions -PHASES_OK=urls versions -SKIP_E2E=1 - -# Local work dir for logs + HTML -WORK_ROOT=/tmp/taler-monitoring-sites-work - -# Sites: hostname|domain_profile (9 fronts) -# Start with hacktivism; stage + prod LFP follow -SITES=" -bank.hacktivism.ch|hacktivism.ch -exchange.hacktivism.ch|hacktivism.ch -taler.hacktivism.ch|hacktivism.ch -stage.bank.lefrancpaysan.ch|stage.lefrancpaysan.ch -stage.exchange.lefrancpaysan.ch|stage.lefrancpaysan.ch -stage.monnaie.lefrancpaysan.ch|stage.lefrancpaysan.ch -bank.lefrancpaysan.ch|lefrancpaysan.ch -exchange.lefrancpaysan.ch|lefrancpaysan.ch -monnaie.lefrancpaysan.ch|lefrancpaysan.ch -" - -# Only process this subset (space-separated hostnames). Empty = all SITES. -# Example for first deploy: ONLY_HOSTS=bank.hacktivism.ch exchange.hacktivism.ch taler.hacktivism.ch -ONLY_HOSTS= diff --git a/taler-monitoring.sh b/taler-monitoring.sh index a83e6a2..8266c94 100755 --- a/taler-monitoring.sh +++ b/taler-monitoring.sh @@ -55,6 +55,8 @@ Options: --merchant URL merchant-backend base — overrides profile --currency CODE expected currency (GOA, KUDOS, CHF, …); empty = report only --no-probe do not probe alternate hosts (unknown domains only) + --lang en|fr UI/console language (sticky bar + badges) + overrides auto (FrancPaysan→fr, else en) -h, --help Add a stack: edit domains.conf (name + bank + exchange + merchant + currency). @@ -95,7 +97,7 @@ Env (same meaning): SURFACE_CVE_LEVEL=warn|error bare Server-header versions default warn (Debian package versions default error) SURFACE_CATALOG=path override surface-catalog.conf - TALER_MON_LANG=en|fr console+HTML language (default en; auto fr for *lefrancpaysan*) + TALER_MON_LANG=en|fr same as --lang (default en; auto fr for *lefrancpaysan*) Full load (GOA / hacktivism): ./taler-monitoring.sh -d hacktivism.ch full @@ -137,6 +139,19 @@ NO_PROBE=0 while [ $# -gt 0 ]; do case "$1" in + --lang) + [ $# -ge 2 ] || { echo "error: --lang needs en|fr" >&2; exit 2; } + _lang="$2" + case "$_lang" in + fr|FR|fra|french) TALER_MON_LANG=fr ;; + en|EN|eng|english) TALER_MON_LANG=en ;; + *) echo "error: unknown language '$_lang' (use en or fr)" >&2; exit 2 ;; + esac + TALER_MON_LANG_SET=1 + export TALER_MON_LANG TALER_MON_LANG_SET + shift 2 + i18n_init 2>/dev/null || true + ;; -h|--help) usage; exit 0 ;; -d|--domain) [ $# -ge 2 ] || { echo "missing arg for $1" >&2; exit 2; }