DebianDEV VPS-Sponsoring Webinterface 2.0

  • Hi zusammen,

    wollte einfach mal den Platz hier nutzen um mein neues Panel vorzustellen. Das Panel wird es nicht zu kaufen geben o. ä. - wollte einfach nur mal ein paar Gedanken teilen. Der Gedanke kam ürsprünglich daher, das VPS Management in EasyWI zu integrieren. Leider habe ich schnell die Lust auf das EasyWI Pnael - hinsichtlich der Programmierung - verloren und in den letzten Wochen etwas eigenes hochgezogen, da ich keine optimale Lösung für meine Bedürfnisse und die der Nutzer gefunden habe, was free to use ist.


    Bisher ist das Panel noch in einer alpha Phase, deswegen nehmt es mir bitte nicht krumm, wenn einige Bereiche noch unfertig aussehen - davon gibt es noch einige.


    Grundlegend verfolgt das Panel eine User/Admin Struktur - einen Resellerbereich wird es nicht geben, da ich es als Sponsor exklusiv nutzen werde ("Alleinstellungsmerkmal" gegenüber der anderen Sponsoren). Das Panel ist ein Hybrid aus klassischer datenbankgestützter OOP PHP programmierung und der Nutzung diverser APIs in realtime. Das Design ist gekauft und Full-Responsive und wird auch immer mit Android und iOS getestet.


    Userinterface:


    Dasboard mit allgemeinen Informationen zu den Services (Up/Down/Suspenden)

    Da solch ein Bereich für mich der mit ABstand uninteressanteste Bereich ist, kann ich hierzu leider noch keinen Screen zur Verfügung stellen, da dieser Bereich schlichtweg nicht fertig ist.


    Benutzerverwaltung (Passwort etc.)

    Derzeit noch nicht umgesetzt, aber in Planung.


    vServer Verwaltung - Übersicht

    Entsprechende Übersicht der vServer mit "Live-Auslastung"-Anzeige. Möglichkeit QuickCalls (Start/Stop/Reboot) auszuführen. Ansonsten nur "Konfiguration" um den Server zu managen. Die Übersicht soll demnächst noch die IP-Informationen (Adresse + RDNS) bekommen um die Server eindeutiger identifizieren zu können.


    vServer Verwaltung - Konfiguration

    Verwaltung des vServers inkl. "Live-Auslastung"-Anzeige. Reguläre Funktionen wie Start, Stop und Neustart sind funktionsfähig und integriert. Zusätzlich gibt es einen "Neu Installieren" und "Backup einspielen"-Button, die es ermöglichen, dass System nue aufzusetzen oder auf einen vorherigen Stand zu bringen. Derzeit sind noch folgende Dinge geplant und in der Pipeline:

    • Komplettes Firewall-Management (zu 40% fertig)
    • RDNS Management für IPv4 und IPv6 (0% Fortschritt)
    • Eventconsole (Start, Stop, Konsole .....) (0% Fortschritt - Feature Request Prio Mid)
    • Anbindung an CheckMK (automatisch hinzufügren und Services verwalten) (0% Fortschritt - Feature Request Prio Ultra-Low)
    • Weitere Ideen entwickeln sich sicher noch im laufe der Zeit

    (Durch den Screenshot der gesamten Seite können grafische Anomalien enthalten sein z.B. das Menü)


    Die noVNC Konsole war etwas tricky, da hier mit Cookies gearbeitet wird und Proxmox sehr ristriktiv filter und beschränkt. Aber Dank des vorgeschalteten reverse Proxy war das Thema auch abschließbar. Der User, der hier im Proxmox-Panel genutzt wird, hat ausschließlich VM.Console rechte um weder vServer Einstellungen oder Cluster Einstellungen (außerhalb des eigentlichen Panels) vornehmen zu können.

    Weitere Modulbereiche für den User sind derzeit nicht in Planung.


    Admininterface:

    Das Admininterface hat neben den Funktionen des Userinterfaces noch weitere Module. Dazu gehören ein IPAM (IP-Adressmanagement Modul) über das sich nicht zugewiesene IP-Adressen zwischen den Nodes routen lassen (möglich dank API bei der myLoc Managed IT AG). Hier spare ich mir einfach mal die Bilder, da das Modul lediglich aus einer Tabelle, einer Hinzufügen- und Löschfunktion besteht.

    Ein weiteres Modul ist die Benutzerverwaltung. Hier lassen Sich Benutzer anlegen, löschen, ändern und sperren. Das Gesamtsystem ist so aufgebaut, dass alle I/Os valide sein müssen - im Zweifel wird der Benutzer beim kleinsten Verdacht auf mögliches Hacking (oder xss/value change) gesperrt.

    Zudem gibt es noch ein Modul namens "Proxmox-API" in dem ich entsprechend die API Daten pflege. Dieses Modul ermöglich mir zudem, alle derzeitigen VMs aus Proxmox on die Datenbank zu importieren. Ebenfalls kann ich hier festlegen, welche Storages die Images und ISOs enthalten und welche API Gruppe genutzt wird um die Proxmox-User anzulegen, damit der Kunde die NoVNC Konsole nutzen kann.


    Die vServer Verwaltung im Adminbereich ist etwas umfangreicher. Neben den bereits genannten Funktionen ist es noch möglich die Ressourcen der vServer zu definieren und zu verändern (real time). Es lässt sich derzeit noch ein "Installation-Image" festlegen, dass Standardmäßig genutzt wird - das werde ich nich ausbauen, da inzwischen obsolet. Zusätzlich lässt sich das "Auto-Boot"-Flag setzen. In Planung ist noch das "Nesting"-Flag, da mit systemd der Betrieb unter LXC hakelig wird. Im Admininterface ist bereits die Firewall-Funktion aktiviert - derzeit aber noch in dev. vServer lassen sich hier über das gesamte Cluster migrieren (inkl. automatischen Rerouting bei der myLoc managed IT AG). Zudem lässt sich im Admin-Bereich die HDD resizen (natürlich nur größer). Zu guter letzt kann man hier noch die Userdaten des API Benutzers, nur für den jeweiligen vServer, definieren - sollte der Nutzer das Passwort ändern oder manuell gelöscht werden, wird dies vom Panel erkannt und überschrieben.




    So - das war es dann erstmal von meiner Seite aus. So oder so erhoffe ich mir mit dem Panel mehr User und ein einfacheres Management - vorallem mobil, unterwegs, denn das war mir bisher ein absoluter Dorn im Auge.
    Wenn jemand Fragen hat gerne Fragen. Den Thread werde ich bei Fortschritt entsprechend aktuell halten.


    Viele Grüße


    Nico

  • Hallo zusammen,


    zu diesem Thema möchte ich mich heute auch mal mit einem Update melden.

    Das Webinterface hat nun einige Neuerungen mit dem letzten Update erhalten, die ich hier gerne vorstellen würde:


    Backend:

    • LXC wurde vollständig integriert - das Anlegen eines Containers ist nun möglich
      • + Kalkulation einer freien VMID im Cluster
      • + Auswahl einer Node inkl. On-Demand Auslastungsanzeige der Node
      • + Freie IPs im Cluster werden gefunden und nach Anlegen der VM automatisch über die MyLOC API auf die richtige Node geroutet (IPv4)
      • + Der Hostname (z.B. kunde1.debiandev.space) wird der PowerDNS-Admin API übergeben und der DNS-Eintrag wird automatisch angelegt (IPv4 + IPv6)
      • + Der Hostname wird der MyLOC API übergeben sodass der RDNS Eintrag automatisch angelegt wird (IPv4 + IPv6)
      • + Wird einer neuer LXC Container angelegt, wird der Kunde per Mail mit Infos darüver versorgt.
    • Beim Hinzufügen eines Benutzers wird nun eine Mail mit Zugangsdaten versendet.


    Frontend (LXC):

    • Neuerungen
      • Firewall vollständig integriert
    • Umfassende Designanpassungen
      • Full Mobile-Device Support
      • Darkmode
      • Anpassung: Dasboard, vServer Übersicht, Benutzereditierung .....
    • Diverse Bugfixes
      • Wenn vServer nicht installiert wurde, steht nun "Nicht installiert" statt "NULL"
      • "Aktionen"-Feld wird nu bei Bedarf eingeblendet.
      • CPU, RAM und SSD Monitoring wieder Lauffähig
      • Reinstall teilweise fehlgeschlagen - nun wird der Progress während der Scriptlaufzeit on demand geprüft.








    Weitere Bilder:

    https://debiandev.de/wp-content/uploads/2022/01/1_login.png

    https://debiandev.de/wp-content/uploads/2022/01/2_pwforget.png

    https://debiandev.de/wp-content/uploads/2022/01/3_dashboard.png

    https://debiandev.de/wp-content/uploads/2022/01/4_vserver_overview.png

    https://debiandev.de/wp-content/uploads/2022/01/5_vserver_edit.png

    https://debiandev.de/wp-content/uploads/2022/01/6_vserver_edit_backup.png

    https://debiandev.de/wp-content/uploads/2022/01/7_vserver_edit_console.png

    https://debiandev.de/wp-content/uploads/2022/01/8_vserver_edit_rdns.png

    https://debiandev.de/wp-content/uploads/2022/01/9_vserver_edit_reinstall.png





    Einige andere Dinge wurden auch noch behoben, das sind aber in aller Regel nur Kleinigkeiten gewesen.


    Wenn jemand mal reinschauen möchte, dann gerne melden =)