Files
ProxLedger/README.md
T
florian.wildeandClaude Opus 5 d9455db311 feat(agent): Bash-Agent mit Installer, systemd-Timer und Spool (#005)
Produkterkennung fuer PVE, PBS und PMG, JSON-Erzeugung ohne jq, Retry mit
Backoff, Nachsenden aus dem Spool, Update und Uninstall. Das Dashboard liefert
install.sh und agent.sh mit eingesetzter Adresse aus. 38 Tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 20:44:38 +02:00

1.9 KiB
Raw Blame History

ProxLedger

Zentrales Dashboard für den Subscription-Status aller Proxmox-Hosts (VE, Backup Server, Mail Gateway). Auf jedem Host meldet ein schlanker Agent täglich per HTTPS seinen Status (Push-Modell) – auch aus Kundennetzen hinter NAT.

Status: in Entwicklung (0.1.0-dev). Noch nicht produktiv einsetzen.

Entwicklung

Voraussetzungen: Node.js ≥ 24, Docker (für PostgreSQL ab #003).

npm install
npm run db:up      # PostgreSQL im Container (Port 5433)
cp .env.example .env
npm run db:migrate # Schema anlegen
npm run db:seed    # Administrator, Warnregeln, mit SEED_DEMO=1 auch Demo-Daten
npm run dev        # http://localhost:3000

npm run lint
npm run typecheck
npm test           # legt bei Bedarf die Testdatenbank an

Weitere Skripte: npm run db:studio (Datenbank-Oberfläche), npm run db:down (Container stoppen).

Agent auf einem Proxmox-Host installieren

curl -fsSL https://<dashboard>/install.sh | bash -s -- --token <ENROLL_TOKEN>

Der Agent erkennt Proxmox VE, Backup Server und Mail Gateway selbst, registriert sich, schreibt seine Konfiguration nach /etc/proxledger/agent.conf (Rechte 600) und meldet ab dann täglich per systemd-Timer.

Befehl Zweck
proxledger-agent Report erzeugen und senden
proxledger-agent --dry-run Report nur anzeigen
proxledger-agent --test Verbindung zum Dashboard prüfen
proxledger-agent --update Agent aktualisieren
curl -fsSL https://<dashboard>/install.sh | bash -s -- --uninstall Agent entfernen

Protokoll: journalctl -t proxledger. Ist das Dashboard nicht erreichbar, versucht es der Agent dreimal mit wachsendem Abstand und legt den Report danach unter /var/lib/proxledger/spool/ ab; beim nächsten Lauf wird er nachgesendet.

Dokumentation