#!/usr/bin/env bash # ausfuehrer-einrichten.sh — den Ausführer auf dem Proxmox-Host einrichten (Phase 3/4). # # Läuft am PC (Git-Bash, im Repo). Legt ausfuehrer.py, die Unit und die Konfiguration auf den # Proxmox-Host und startet den Dienst. Das gemeinsame Geheimnis wandert vom Container des Homelab-Teils # per Pipe direkt auf den Host (0600) — es steht in keiner Befehlszeile. # # Nutzung: bash deploy/homelab/ausfuehrer-einrichten.sh set -euo pipefail cd "$(dirname "$0")/../.." IP="${1:?Nutzung: ausfuehrer-einrichten.sh }" PVE="${MC_PVE:-pve}" ssh -o BatchMode=yes "$PVE" "install -d -m 755 /usr/local/lib/mc2" ssh -o BatchMode=yes "$PVE" "cat > /usr/local/lib/mc2/ausfuehrer.py && chmod 755 /usr/local/lib/mc2/ausfuehrer.py" \ < deploy/homelab/ausfuehrer.py ssh -o BatchMode=yes "$PVE" "cat > /etc/systemd/system/mc2-ausfuehrer.service" < deploy/homelab/mc2-ausfuehrer.service # shellcheck disable=SC2029 # $IP soll hier (am PC) eingesetzt werden ssh -o BatchMode=yes "root@$IP" "cat /var/lib/mc2/ausfuehrer.token" \ | ssh -o BatchMode=yes "$PVE" "umask 077; read -r t; [ -n \"\$t\" ] || exit 1; \ printf '{\"server\": \"http://%s:9001\", \"token\": \"%s\", \"node\": \"%s\"}\n' '$IP' \"\$t\" \"\$(hostname)\" \ > /etc/mc2-ausfuehrer.json" ssh -o BatchMode=yes "$PVE" "systemctl daemon-reload && systemctl enable --now mc2-ausfuehrer.service \ && systemctl restart mc2-ausfuehrer.service && sleep 5 && systemctl is-active mc2-ausfuehrer.service" echo "✅ Ausführer läuft. Der erste Bericht erscheint in etwa einer Minute unter /api/homelab/ziele."