Skip to content

Latest commit

 

History

History
107 lines (87 loc) · 4.88 KB

File metadata and controls

107 lines (87 loc) · 4.88 KB

To-Do – CMK BI Visual Editor

Stand: 2026-04-23 | Ziel-MVP: Ende April / Mitte Mai 2026


Offen – Phase 3 (Auth & Admin)

  • LDAP testen — Integration mit echtem AD testen (LDAP_URL, LDAP_BIND_DN, LDAP_USER_BASE, LDAP_ADMIN_GROUP)
  • Checkmk-Auth testen — Login via CMK REST API verifizieren
  • CMK-SSL-Verify konfigurierbarverify=False bei allen CMK-REST-Aufrufen durch CMK_SSL_VERIFY-Env-Var ersetzt (Default weiterhin false, true für Produktivbetrieb empfohlen) ✅ (2026-04-23)
  • Login-Rate-Limiting — max. LOGIN_MAX_ATTEMPTS (Default 5) Fehlversuche pro IP+Benutzername innerhalb LOGIN_WINDOW_SECONDS (Default 60s), danach HTTP 429; In-Memory-Zähler in src/main.py ✅ (2026-04-23)

Offen – Phase 2 (CMK-Integration)

  • Rule Packs — Regelgruppen mit Name + Contact-Group verwalten, beim Export auf pack_id mappen ✅ (2026-04-05)
  • Dynamische Suchregel — Node-Typ hostregex / serviceregex mit Regex-Pattern; Export als host_search/service_search ✅ (2026-04-05)
  • Preview-Modal — echte States vom Backend laden (CMK Livestatus / REST-API) und auf Canvas highlighten
  • Unresolved-Objects-Modal — nach Validierung unbekannte Hosts/Services anzeigen

Offen – Bugs / Kleinigkeiten

  • Waypoint-Handles bei Bézier-Modus nach Layout-Wechsel zurücksetzen
  • Snap-Grid-Größe konfigurierbar machen (10 / 20 / 40 / 80 px, persistent)

Tests

  • pytest Backend-Tests (user_store, auth_manager, API-Endpoints) — ~50 Fälle
  • Vitest Frontend-Tests (geometry, cmk-converter, auth) — ~50 Fälle
  • pytest.ini, vitest.config.js, package.json

Erledigt

Auth & Benutzerverwaltung (Ergänzungen)

  • Passwort-Änderung im UI (Key-Button, Modal, /me/password)
  • Session-Ablauf: JWT-Expiry-Timer (60s vor Ablauf → Login-Modal automatisch)
  • Abgelaufenes Token beim Start aus localStorage verworfen
  • struktur.txt entfernt (veraltet)

Auth & Benutzerverwaltung

  • JWT-Authentifizierung (PyJWT, HS256, 8h Ablauf, Secret persistent)
  • Lokale Benutzer (PBKDF2-SHA256, data/users.json, Default-Admin)
  • LDAP-Authentifizierung (ldap3, LDAP_BIND_DN, LDAP_ADMIN_GROUP)
  • Checkmk-Authentifizierung (REST-API, Rollen-Ermittlung)
  • Auth-Kette: lokal → LDAP → Checkmk
  • FastAPI Dependencies: require_auth, require_admin
  • AUTH_ENABLED=false → alle Endpoints ohne Login, anonymous-Admin
  • Letzter-Admin-Schutz beim Löschen
  • Frontend: auth.js (Token, apiFetch, 401-Handler)
  • Frontend: login.js (Login-Modal, Badge-Update)
  • Frontend: admin-ui.js (Benutzerverwaltung-Modal)
  • index.html: Admin-Button, Logout-Button, user-badge-role
  • toolbar.js: apiFetch für save/validate

CMK-Integration

  • Export als Checkmk BI Pack JSON (exportToCMK)
  • Import von Checkmk BI Pack JSON (importFromCMK) inkl. Auto-Layout
  • Alle CMK Node-Typen gemappt: state_of_host, state_of_service, host_search, service_search, call_a_rule
  • Aggregationsfunktionen: worst, best, count_ok

Neue Node-Typen

  • Host-Gruppe (hostgroup)
  • Service-Gruppe (servicegroup)
  • Andere BI (bi) mit biRef-Feld und ↗ label-Anzeige auf Node

Darstellung & UX

  • Dark / Light Theme Toggle (persistent in localStorage)
  • Node-Labels im Light Mode: dunkelgrau (#333333)
  • Pfeilstile: Keiner (—), Chevron (▶), Thin (›), Dot (●)
  • Pfeilgröße: Klein / Mittel / Groß (SVG-Marker mit viewBox-Skalierung)
  • Gerundete Ecken bei orthogonalen Kanten (Quadratic-Bézier, r=14px)

Docker

  • Dockerfile (nginx + Frontend)
  • Dockerfile.backend (FastAPI / uvicorn)
  • docker-compose.yml mit Volume für persistente Daten
  • nginx Reverse-Proxy für API-Endpoints
  • .dockerignore, .gitignore

Phase 1 – Interaktions-Polish

  • Ports (4 Port-Dots, Port-Drag, fromPort/toPort in Edge)
  • Inspector ausbauen (Farb-Picker, Autocomplete, Routing-Toggle, Layer-Select)
  • Layers-UI (Layer-Liste, toggle/lock, Node-Zuweisung)
  • Connect-Modus (Tooltip, Rechtsklick-Abbrechen)

Fundament

  • Multi-Select (Shift+Klick, Marquee, ESC)
  • Inline-Edit (Doppelklick)
  • Align & Distribute
  • Waypoint-Editing
  • Grid-Snap & Snaplines
  • Preview-Modal (Mock)
  • Undo/Redo (100 Schritte)
  • Kontextmenü (Node & Edge)
  • Edge-Routing: Gerade / Bézier umschaltbar
  • Auto-Layout (TD / LR / GRID) mit Barycenter-Minimierung
  • Orthogonale Waypoints + Skip-Layer-Bypass nach Layout
  • Zoom zur Mausposition
  • Performance: RAF-Throttling, Viewport-Culling, DOM-Pooling
  • Audit-Log (in-memory, localStorage, CSV-Export)
  • Benutzername / User-Badge
  • ES-Modul-Refactoring (20 Module, kein Build-Tool)
  • Save/Load (FastAPI-Backend + localStorage-Fallback)
  • Graph-Validierung (Zyklen-Erkennung per Kahn's Algorithm)