Konfiguration
Pflichtwerte, Optionen und Health-Endpoints der Palveron-Installation.
Gateway
Pflichtwerte
| Variable | Verhalten beim Start | Beschreibung |
|---|---|---|
DATABASE_URL | Start bricht immer ab | PostgreSQL-Verbindung |
PALVERON_DASHBOARD_URL | Start bricht in Produktion ab | Öffentliche Dashboard-Adresse; die Rückleitungsadressen der Abrechnung brauchen sie |
TRACE_ENCRYPTION_ROOT_KEY | Start bricht in Produktion ab | Verschlüsselt die gespeicherten Nachweiszeilen (openssl rand -base64 32) |
FLARE_ENCRYPTION_KEY | Start bricht in Produktion ab | Verschlüsselt die Wallet-Signierschlüssel |
Ein fehlender empfohlener Wert erzeugt beim Start nur eine Warnung und schaltet je eine Funktion ab: PALVERON_ENCRYPTION_KEY (Endpunkt des gespeicherten Modellschlüssels, ohne ihn 503), PALVERON_PUBLIC_URL (fällt auf http://localhost:8080 zurück), INTERNAL_PROXY_SECRET (Vertrauen des Dashboards, ohne ihn 403), OPENAI_API_KEY (verwalteter Modellweg), DLQ_ENCRYPTION_KEY (Puffer bei einem Datenbankausfall), OPERATOR_API_KEY (/operator/* und /health/detailed) und RESEND_API_KEY (E-Mail-Benachrichtigungen).
Optional
| Variable | Standard | Beschreibung |
|---|---|---|
PORT | 8080 | HTTP-Port |
HOST | 127.0.0.1 | Bind-Adresse. Setzen Sie 0.0.0.0, damit der Dienst im Container erreichbar ist. |
REDIS_URL | — | Redis-URL (Cache für Rate-Limit und Freigaben) |
BRAND_NAME | Palveron | White-Label-Markenname |
Dashboard
| Variable | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
DATABASE_URL | Ja | — | PostgreSQL-Verbindung |
KINDE_CLIENT_ID | Ja | — | Kinde Client ID |
KINDE_CLIENT_SECRET | Ja | — | Kinde Secret |
KINDE_ISSUER_URL | Ja | — | Kinde Domain |
Health-Endpoints
| Service | Pfad | Gesunde Antwort |
|---|---|---|
| Gateway | GET /health | 200 — reine Liveness (Prozess lebt; keine Dependency-Checks) |
| Gateway | GET /ready | 200, außer Postgres ist kritisch/ungeprobt (liest den gecachten Health-State, probt nie inline) |
| Dashboard | GET /api/health | 200 mit Build-Metadaten |
/health zeigt keine Readiness — für Load-Balancer-Probes während Deployments /ready verwenden. Ein vollständiger Subsystem-Snapshot liegt unter GET /health/detailed, geschützt durch den X-Palveron-Operator-Key-Header (503, wenn OPERATOR_API_KEY nicht gesetzt ist).
Observability
| Endpoint | Beschreibung |
|---|---|
GET /metrics | Prometheus-Exposition auf dem Gateway-Port — inkl. Governance-Availability-, Trace-Durability- und DLQ-Replay-p95-SLO-Gauges |
GET /api/v1/integrity/status | Regelmäßig geprüfter Tamper-Detection-Status (API-Key-Auth) |
GET /api/v1/admin/system-health | System-Health für das Admin-Panel (Admin-Rolle erforderlich) |
Retry- & Rate-Limit-Verhalten
Die Gateway liefert:
429 Too Many RequestsmitRetry-After-Header und strukturiertem Body (limit_type:rpmodermonthly), wenn ein Rate-Limit greift503 Service Unavailable(leerer Body), wenn eine Governance-Entscheidung nicht dauerhaft aufgezeichnet werden konnte (DB und DLQ nicht verfügbar) — mit Backoff wiederholen
Die offiziellen SDKs respektieren Retry-After und wiederholen transiente 5xx-/Timeout-Fehler mit Exponential Backoff und Jitter. Eigene Clients sollten dasselbe Muster umsetzen.