morz-infoboard/player/agent
Jesko Anschütz d0137179e5 Fuege MQTT-Heartbeat zum Agent hinzu (kein Broker konfiguriert = skip)
- neues Paket mqttheartbeat: Publisher mit paho, topic signage/screen/<id>/heartbeat,
  payload {screen_id, ts, status, server_connectivity}, auto-reconnect bei Ausfall
- MORZ_INFOBOARD_MQTT_BROKER leer (Standard) -> MQTT komplett uebersprungen
- app.emitHeartbeat() publiziert bei jedem Tick per MQTT wenn Broker konfiguriert,
  loggt Fehler und laeuft weiter (kein Stop bei MQTT-Ausfall)
- mqtt.Close() bei context.Done()
- MQTTBroker-Default von tcp://127.0.0.1:1883 auf "" geaendert
- erste externe Dep: github.com/eclipse/paho.mqtt.golang v1.5.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 20:54:12 +01:00
..
cmd/agent Fuehre Health-Modell und strukturierte Agent-Logs ein 2026-03-22 16:55:20 +01:00
internal Fuege MQTT-Heartbeat zum Agent hinzu (kein Broker konfiguriert = skip) 2026-03-22 20:54:12 +01:00
Dockerfile Baue Layout-Resolver und lokale Entwicklungsgerueste aus 2026-03-22 16:03:21 +01:00
go.mod Fuege MQTT-Heartbeat zum Agent hinzu (kein Broker konfiguriert = skip) 2026-03-22 20:54:12 +01:00
go.sum Fuege MQTT-Heartbeat zum Agent hinzu (kein Broker konfiguriert = skip) 2026-03-22 20:54:12 +01:00
README.md Dokumentiere Agent-Lifecycle fuer v1 2026-03-22 16:55:29 +01:00

Agent

Dieses Verzeichnis enthaelt das erste Geruest fuer den player-agent.

Ziel fuer die erste Ausbaustufe:

  • lokaler Dienst in Go
  • Konfiguration laden
  • Startfaehigkeit und klares Logging
  • vorbereitete Struktur fuer Sync, MQTT, Cache und Kommandos

Geplante Unterstruktur:

  • cmd/agent/ fuer den Startpunkt
  • internal/app/ fuer Initialisierung und Laufzeit
  • internal/config/ fuer Konfiguration

Aktuell vorhanden:

  • Env-basierte und dateibasierte Konfiguration
  • strukturierte Start-/Heartbeat-/Stop-Logs
  • interner Health-Snapshot fuer Laufzeitzustand und Timestamps
  • signalgesteuerter Stop ueber SIGINT und SIGTERM