43 lines
2.5 KiB
Markdown
43 lines
2.5 KiB
Markdown
# Deployment-Fixes – Release 1.1
|
||
|
||
Stand: 2026-07-23
|
||
|
||
Diese Revision repariert die Startprobleme der ersten Greenfield-Ausgabe, ohne die Event-Architektur wieder zu verändern.
|
||
|
||
## Behobene Ursachen
|
||
|
||
1. **Garage-Konfiguration war nicht Bestandteil des eigentlichen Compose-Lebenszyklus.**
|
||
Die alte Ausgabe erwartete eine zuvor auf dem Host erzeugte `deploy/garage/garage.toml`. Jetzt erzeugt der einmalige Service `garage-config` die Konfiguration in einem Docker-Volume. `garage` startet erst nach erfolgreicher Erzeugung.
|
||
|
||
2. **Garage Single-Node RPC-Adresse war ungeeignet.**
|
||
`rpc_public_addr` ist jetzt `127.0.0.1:3901`; der Server bindet intern weiterhin auf `0.0.0.0:3901`.
|
||
|
||
3. **ClickHouse hatte nur HTTP 8123 exponiert.**
|
||
Zusätzlich ist jetzt der native Client-Port 9000 konfigurierbar und standardmäßig nur auf `127.0.0.1` gebunden.
|
||
|
||
4. **`.env.example` war unvollständig.**
|
||
Sie enthält jetzt sämtliche 63 von Compose verwendeten Laufzeitparameter. `deploy.sh` und `deploy.ps1` ergänzen fehlende Schlüssel in einer bestehenden `.env`, ohne bestehende Secrets zu ersetzen. Eigene zusätzliche Schlüssel bleiben erhalten.
|
||
|
||
5. **Schema-Setup hing vom ersten Containerstart ab.**
|
||
`postgres-schema` und `clickhouse-schema` laufen idempotent nach erfolgreicher Datenbank-Readiness. Damit wird ein teilweise abgebrochener Erststart nicht mehr stillschweigend als vollständig initialisiert behandelt.
|
||
|
||
6. **ClickHouse-Datenbankname war im Go-Code teilweise fest auf `siem` verdrahtet.**
|
||
API, Detector und Inserts verwenden jetzt konsistent `CLICKHOUSE_DB`.
|
||
|
||
7. **Deployment-Fehler waren zu wenig sichtbar.**
|
||
Der One-Click-Start validiert zuerst `docker compose config`, prüft nach dem Start API, Ingress, ClickHouse und Garage und gibt bei Fehlschlag automatisch die relevanten Logs aus.
|
||
|
||
## Sichere Reparatur einer vorhandenen Installation
|
||
|
||
Die Daten-Volumes werden durch `./deploy.sh` **nicht** gelöscht.
|
||
|
||
Am sichersten ist es, die bestehende `.env` in die korrigierte Projektversion zu übernehmen und danach `./deploy.sh` auszuführen. So bleiben die bereits verwendeten PostgreSQL-/ClickHouse-/Garage-Secrets erhalten.
|
||
|
||
`./reset-DANGEROUS.sh` löscht dagegen die Docker-Volumes und darf bei erhaltenswerten Daten nicht verwendet werden.
|
||
|
||
## Diagnose
|
||
|
||
- `./credentials.sh` zeigt die tatsächlich verwendeten Zugangsdaten und Ports.
|
||
- `./doctor.sh` prüft Compose, API/Ingress, Garage, ClickHouse, Redpanda, PostgreSQL und den Raw-Spool.
|
||
- `docker compose logs --tail=200 garage garage-config clickhouse clickhouse-schema` zeigt die wichtigsten Startfehler.
|