Zum Inhalt

Conditions

Conditions sind maschinenlesbare Statussignale auf Managed Objects. Sie steuern den berechneten Object-State (OK / WARNING / CRITICAL) und sind in UI, API, Filtern und im Operations-Dashboard sichtbar.

Modell

Schicht Rolle
Condition Katalog-Eintrag (Name, Beschreibung, Severity, System/Custom)
ConditionInstance Aktive oder aufgelöste Instanz an einem konkreten Objekt

Lese-Source of Truth ist ConditionInstance. Das ältere JSONField conditions auf Objekten dient nur noch als Write-Sink für Rückwärtskompatibilität und wird für State/UI nicht mehr gelesen.

Severity

Severity Wirkung auf Object-State
INFO Informativ — State bleibt typischerweise OK
WARNING Objekt degradiert, weiter nutzbar (oft threshold-basiert)
CRITICAL Objekt nicht funktionsfähig; oft sofortiger State-Wechsel

Beispiele: Zertifikat bald abgelaufen (WARNING), Zertifikat abgelaufen (CRITICAL), fehlende Backups, ungesunde Loadbalancer-Deployments — siehe auch LoadBalancer und Backup.

UI & API

  • Info-Drawer und Conditions-Tab lesen ConditionInstance
  • Tabellenfilter has_conditions basiert auf Instanzen
  • Hover-Popover in der State-Spalte (V2 Tables)
  • System-Conditions werden per Seed gepflegt und sind für normale User nicht löschbar

State-Berechnung

Object-State wird aus aktiven Conditions abgeleitet. Mutationen (Add/Remove Condition) lösen einen Recompute aus; der volle Aggregate-Pfad läuft nicht bei jedem save(). Während einer laufenden Reconciliation werden doppelte Recomputes vermieden.

Verwandte Themen