Files
nexus/PROJECT_CONTEXT.md
2026-03-02 01:30:07 +01:00

49 lines
2.5 KiB
Markdown

Projekt-Zusammenfassung: Nexus Control Panel (Modul: KEA)
1. Projekt-Zweck & Ziel
Nexus ist ein zentrales, webbasiertes Administrations-Interface für die Verwaltung einer dynamischen IT-Infrastruktur. Das primäre Ziel ist die Abstraktion und Steuerung von Netzwerkdiensten, beginnend mit dem ISC KEA DHCP-Server.
2. Kernmodul: KEA DHCP Management
Dieses Modul dient der Verwaltung von Netzwerkgeräten und deren IP-Zuweisungen.
Datenquelle: Das Interface kommuniziert direkt mit einer PostgreSQL-Datenbank (db_nexus), in der KEA seine Leases und Hosts speichert.
Funktionsumfang:
Geräte-Inventar: Auflistung aller bekannten Geräte (Hostnames, MAC-Adressen).
IP-Management: Verwaltung von statischen Reservierungen und Überwachung von dynamischen Leases.
Metadaten: Speicherung zusätzlicher Informationen pro Gerät (z.B. Standort, Gerätetyp, Verantwortlicher), die über die Standard-KEA-Schema-Felder hinausgehen können.
3. Technische Architektur (VSC Kontext)
Damit der Code Assist die Pfade korrekt generiert, ist das Standard-Server-Layout entscheidend:
Domains: * nexus.int.kusche.berlin (Produktion)
staging.nexus.int.kusche.berlin (Testumgebung)
Dateistruktur:
/public/: Der einzige öffentlich erreichbare Ordner (Document Root). Enthält index.php und Assets.
/api/: Backend-Logik und API-Endpunkte.
/src/ und /tools/: PHP-Klassen für die KEA-Datenbankinteraktion.
/config/: Datenbank-Zugangsdaten und Umgebungsvariablen. Die Subfolder staging/prod spielen keine technische Rolle und müssen so nicht in den Code integriert werden, denn sie werden so auch nicht synchronisiert. Beim Synchronisieren werden die beinhalteten Dateien automatisch in das Config Verzeichnis kopiert, als ob sie direkt drin liegen.
/partials/landing/: Enthält die echten Landingpages, also den kompletten Aufbau der Seite
/partials/structure/: Enthält alle wiederverwendbaren Seiteninformationen, wie z.B. Header, Footer, Menue
/debug/: Hier sollen custom Log-Dateien gespeichert werden. Ist dafür gedacht, dass wenn mal ein custom debug-Tool existiert, ein zentraler Ort für die Debug-Dateien existiert.
Backend: PHP 8.2 (FPM).
Frontend: HTML5, CSS (evtl. Tailwind/Bootstrap), JavaScript (Vanilla oder leichtgewichtig).
4. Sicherheits-Vorgaben für den Assistenten
IP-Sperre: Der Zugriff ist strikt auf das Heimnetz (192.168.178.0/24) begrenzt (via Nginx).
Pfadtrennung: Code-Generierung muss strikt zwischen dem Logik-Verzeichnis (außerhalb des Roots) und dem Web-Verzeichnis unterscheiden.