monitor/register-agent.sh
fds2610-bot 9aa6836bc6 Phase 6+7 der Neuausrichtung: Tuer-Besuche der Rolle "user", alte Tabellenansicht entfernt
Phase 6 (F2): detectDoorVisits() erkennt die drei Anlaesse aus den Detailantworten
(neues per Codeberg-Sync angelegtes Backlog-Ticket, Ticket erreicht "fertig", Ticket
erreicht "done") durch Diff zweier Ticket-Snapshots. office-render.js laesst dafuer
einen "user"-Besucher durch die linke Tuer hereinkommen, zum Board laufen, kurz
interagieren und wieder hinausgehen - unabhaengig vom Daten-Refresh-Takt, damit ein
Besuch auch bei einem zwischenzeitlichen Refresh sauber zu Ende animiert.

Phase 7 (F16): html/mon.html, script.js und styles.css sind entfallen ("kann
entfallen" laut Detailantworten); check_fds.sh/mail_fds.py/status.txt speisen
weiterhin unveraendert den System-Monitor. Unit-Tests fuer die neue Tuer-Logik
ergaenzt (weiterhin 100% Line-Coverage, node --test). E2E-Tests bleiben bewusst
ausserhalb dieser Phase.

Ausserdem: update.sh (holt die neueste Version vom konfigurierten Git-Remote und
faehrt die Docker-Compose-Entwicklungsumgebung hoch) und register-agent.sh
(Hilfsskript zur Agenten-Registrierung per API) ergaenzt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-28 21:58:29 +02:00

50 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
#
# Registriert einen neuen Agenten bei der monitor-REST-API (POST /api/v1/agents).
# Siehe API.md Abschnitt "Agenten" fuer Details.
#
# Wichtig: Der zurueckgegebene API-Key wird nur bei dieser Registrierung einmalig
# ausgegeben - unbedingt sicher speichern, er laesst sich danach nicht erneut abrufen.
set -euo pipefail
# --- Hier die Variablen fuer die Registrierung eintragen ---------------------
# Basis-URL der laufenden API (z.B. lokal via "docker compose up")
BASE_URL="http://localhost:8080"
# Admin-Key aus MONITOR_ADMIN_API_KEY (siehe .env)
ADMIN_API_KEY=""
# Anzeigename des neuen Agenten
DISPLAY_NAME=""
# Rolle: entwickler | product_owner | qa | user
ROLE="entwickler"
# -------------------------------------------------------------------------------
if [ -z "$ADMIN_API_KEY" ]; then
echo "Fehler: ADMIN_API_KEY ist nicht gesetzt." >&2
exit 1
fi
if [ -z "$DISPLAY_NAME" ]; then
echo "Fehler: DISPLAY_NAME ist nicht gesetzt." >&2
exit 1
fi
response=$(curl -sS -w '\n%{http_code}' -X POST "${BASE_URL}/api/v1/agents" \
-H "Content-Type: application/json" \
-H "X-Admin-Key: ${ADMIN_API_KEY}" \
-d "{\"display_name\": \"${DISPLAY_NAME}\", \"role\": \"${ROLE}\"}")
http_code=$(echo "$response" | tail -n1)
body=$(echo "$response" | sed '$d')
echo "$body"
if [ "$http_code" != "201" ]; then
echo "Fehler: HTTP $http_code" >&2
exit 1
fi