Files
siem-backend/DEPLOYMENT-FIXES.md
jbergner 9e2f48ceae
Some checks failed
release-tag / release-image (push) Failing after 1m6s
Bugfix 2.0
2026-07-23 17:33:00 +02:00

2.5 KiB
Raw Permalink Blame History

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.