release 1.3.2: suite paths only ~/src/taler-monitoring

This commit is contained in:
Hernâni Marques 2026-07-18 18:55:08 +02:00
parent 5b56141014
commit 7e7299f170
No known key found for this signature in database
GPG key ID: CB5738652768F7E9
13 changed files with 125 additions and 53 deletions

View file

@ -6,16 +6,19 @@
# # or from laptop:
# ./install-host-agent.sh --remote koopa-external
#
# Suite tree is ONLY ~/src/taler-monitoring (standalone repo). No koopa-admin-log.
#
set -euo pipefail
ROOT=$(cd "$(dirname "$0")" && pwd)
REMOTE="${1:-}"
[ "${1:-}" = "--remote" ] && REMOTE="${2:-koopa-external}"
SUITE_URL="${SUITE_GIT_URL:-https://git.hacktivism.ch/hernani/taler-monitoring.git}"
install_local() {
local mon home_unit
mon=$(cd "$ROOT/.." && pwd)
# Prefer ~/koopa-admin-log on live host
if [ -d "$HOME/src/taler-monitoring" ]; then
if [ -d "$HOME/src/taler-monitoring/.git" ] || [ -d "$HOME/src/taler-monitoring" ]; then
mon="$HOME/src/taler-monitoring"
fi
home_unit="$HOME/.config/systemd/user"
@ -31,30 +34,27 @@ install_local() {
echo "created ~/.config/taler-monitoring/env"
fi
# Prefer a real git clone for update-suite.sh
if [ ! -d "$HOME/src/koopa-admin-log/.git" ] && [ ! -d "$HOME/koopa-admin-log/.git" ]; then
if [ -d "$HOME/src/taler-monitoring" ] && [ ! -d "$HOME/koopa-admin-log/.git" ]; then
echo "note: $HOME/koopa-admin-log has no .git — update-suite will clone to ~/src/koopa-admin-log"
# Ensure suite git clone at canonical path
if [ ! -d "$HOME/src/taler-monitoring/.git" ]; then
if [ -d "$mon/.git" ] && [ "$mon" != "$HOME/src/taler-monitoring" ]; then
mkdir -p "$HOME/src"
ln -sfn "$mon" "$HOME/src/taler-monitoring"
echo "symlink $HOME/src/taler-monitoring → $mon"
else
echo "clone $SUITE_URL$HOME/src/taler-monitoring"
git clone "$SUITE_URL" "$HOME/src/taler-monitoring" \
|| echo "WARN: clone failed (auth/network) — using tree at $mon if present"
fi
git clone https://git.hacktivism.ch/hernani/taler-monitoring.git "$HOME/src/koopa-admin-log" 2>/dev/null \
|| echo "WARN: clone failed (auth/network) — will use existing tree if any"
fi
mon="$HOME/src/taler-monitoring"
# Convenience link (update-suite.sh also creates this)
ln -sfn "$mon" "$HOME/taler-monitoring" 2>/dev/null || true
# Ensure suite is executable
chmod +x "$mon"/taler-monitoring.sh "$mon"/check_*.sh 2>/dev/null || true
chmod +x "$mon/host-agent"/*.sh 2>/dev/null || true
chmod +x "$mon/site-gen"/*.sh "$mon/site-gen/console_to_html.py" 2>/dev/null || true
# Units reference %h/koopa-admin-log — prefer git clone or symlink
if [ -d "$HOME/src/koopa-admin-log/.git" ] && [ ! -e "$HOME/koopa-admin-log" ]; then
ln -sfn "$HOME/src/koopa-admin-log" "$HOME/koopa-admin-log"
echo "symlink $HOME/koopa-admin-log → $HOME/src/koopa-admin-log"
elif [ ! -e "$HOME/koopa-admin-log" ]; then
admin_root=$(cd "$mon/../.." && pwd)
ln -sfn "$admin_root" "$HOME/koopa-admin-log"
echo "symlink $HOME/koopa-admin-log → $admin_root"
fi
install -m 644 "$ROOT/taler-monitoring-hacktivism.service" "$home_unit/"
install -m 644 "$ROOT/taler-monitoring-hacktivism.path" "$home_unit/"
install -m 644 "$ROOT/taler-monitoring-hacktivism.timer" "$home_unit/"
@ -63,7 +63,6 @@ install_local() {
install -m 644 "$ROOT/taler-monitoring-aptdeploy.service" "$home_unit/"
install -m 644 "$ROOT/taler-monitoring-aptdeploy.timer" "$home_unit/"
# Fix ExecStart if install path differs (units use %h/koopa-admin-log)
systemctl --user daemon-reload
systemctl --user enable --now taler-monitoring-hacktivism.path
systemctl --user enable --now taler-monitoring-hacktivism.timer
@ -82,6 +81,7 @@ install_local() {
systemctl --user status taler-monitoring-aptdeploy.timer --no-pager -l | head -12
systemctl --user list-timers --all | grep taler-monitoring || true
echo "OK host-agent (hacktivism 4h + surface 1h + aptdeploy 4h)"
echo "suite: $mon"
echo "manual: systemctl --user start taler-monitoring-hacktivism.service"
echo "manual surface: systemctl --user start taler-monitoring-surface.service"
echo "manual aptdeploy: systemctl --user start taler-monitoring-aptdeploy.service"
@ -90,16 +90,13 @@ install_local() {
if [ -n "$REMOTE" ] && [ "$REMOTE" != "--remote" ]; then
echo "install on $REMOTE"
# ROOT = …/taler-monitoring/host-agent → suite root is parent
rsync -az --delete \
--exclude secrets.env \
--exclude 'android-test/artifacts' \
"$ROOT/../../" \
--exclude '.git' \
"$ROOT/../" \
"${REMOTE}:src/taler-monitoring/"
# ensure full tree for %h/koopa-admin-log if missing configs etc.
ssh -o BatchMode=yes -o ConnectTimeout=20 "$REMOTE" \
'test -d $HOME/koopa-admin-log || git clone https://git.hacktivism.ch/hernani/taler-monitoring.git $HOME/koopa-admin-log 2>/dev/null || true'
rsync -az "$ROOT/" "${REMOTE}:src/taler-monitoring/host-agent/"
rsync -az "$ROOT/../site-gen/" "${REMOTE}:src/taler-monitoring/site-gen/" 2>/dev/null || true
ssh -o BatchMode=yes "$REMOTE" \
'bash $HOME/src/taler-monitoring/host-agent/install-host-agent.sh'
else