- fix(crowdsec/packaging): postinst setzt die HAProxy-Acquisition deterministisch auf die journald-Unit (haproxy.service) statt der cscli-setup-Datei-Default (/var/log/haproxy.log existiert nicht → CrowdSec las nichts → HTTP/CVE-Szenarien liefen leer). Self-healing auf jedem configure; admin-Custom bleibt unangetastet. - feat(alerts): Alarme (alert_events) bulk quittieren + löschen. Migration 0045 (acknowledged_at + Teil-Index). Dashboard-Karte zählt nur noch OFFENE (open=true) → Quittieren lässt die "Aktuelle Alerts"-Meldung verschwinden, History bleibt. Events-Tab: Row-Selection, Quittieren/Löschen (Auswahl) + "Alle quittieren", Status-Spalte (offen/quittiert). Audit-geloggt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
795 B
SQL
23 lines
795 B
SQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
|
|
-- Quittieren von Alarmen. acknowledged_at = NULL → offen (zählt im Dashboard).
|
|
-- Gesetzt → quittiert (bleibt als History sichtbar, zählt aber nicht mehr auf
|
|
-- der Startseiten-Karte "Aktuelle Alerts"). alert_events ist node-lokal
|
|
-- (localOnlyTables) → kein Replikations-Effekt.
|
|
ALTER TABLE alert_events
|
|
ADD COLUMN IF NOT EXISTS acknowledged_at TIMESTAMPTZ;
|
|
|
|
-- Teil-Index für den Dashboard-Query (nur offene, newest-first).
|
|
CREATE INDEX IF NOT EXISTS idx_alert_events_open
|
|
ON alert_events (fired_at DESC)
|
|
WHERE acknowledged_at IS NULL;
|
|
|
|
-- +goose StatementEnd
|
|
|
|
-- +goose Down
|
|
-- +goose StatementBegin
|
|
DROP INDEX IF EXISTS idx_alert_events_open;
|
|
ALTER TABLE alert_events DROP COLUMN IF EXISTS acknowledged_at;
|
|
-- +goose StatementEnd
|