Eine Familie von Tools für die Infrastrukturverwaltung
Hedgehog ist eine Familie von Open-Source-Tools für die Serververwaltung, Automatisierung und Dokumentation der Infrastruktur. Sie entstand aus dem Bedürfnis heraus, ein Tool zu haben, das genau das tut, was ich brauche, und aus dem Wunsch, zu lernen, wie man etwas Größeres als ein einmaliges Skript entwickelt. Wenn es auch anderen nützlich ist und ihnen das Schreiben einer eigenen Lösung erspart, umso besser.
Hedgehog begann als Web-Panel zur Serververwaltung. Nach und nach entwickelte es sich zu einer modularen Softwarefamilie, in der jede Komponente einzeln oder als Teil eines größeren Ganzen genutzt werden kann. Der Hauptgrund, warum ich sie entwickle, ist, zu lernen, wie man ein reales System entwirft und langfristig wartet – und es nicht nur einmal programmiert und dann vergisst.
Die Entwicklung erfolgt komponentenweise. Bislang wurden HedgehogPanel und HedgehogDaemon der Öffentlichkeit vorgestellt; weitere Komponenten der Familie befinden sich in der Entwicklung und werden veröffentlicht, sobald sie einsatzbereit sind.
Jede Komponente funktioniert auch einzeln
Das Panel steht unter der Apache-2.0-Lizenz zur Verfügung
Das Ziel ist die Unterstützung sowohl von Linux als auch von Windows
Alles läuft auf der eigenen Infrastruktur
Hedgehog ist kein einzelnes Programm, sondern besteht aus mehreren eigenständigen Tools, die miteinander zusammenarbeiten können. Nachfolgend sind die Komponenten aufgeführt, die bereits der Öffentlichkeit vorgestellt wurden.
Ein Web-Panel zur Verwaltung von Servern und Diensten, geschrieben in C# auf Basis von .NET und PostgreSQL. Es bietet Benutzerverwaltung, die Zuweisung von Eigentumsrechten an Servern und Diensten, rollenbasierte Zugriffskontrolle und eine übersichtliche Benutzeroberfläche im Browser. Die Kommunikation mit den verwalteten Servern erfolgt über gRPC. Es entsteht als auf .NET basierende Alternative zu bestehenden Lösungen wie Pterodactyl oder Portainer.
Status: in aktiver Entwicklung
Ein in Rust geschriebener, ressourcenschonender Hintergrundprozess, der auf jedem verwalteten Server läuft. Er kümmert sich um den Lebenszyklus der Prozesse (Starten, Beenden, Überwachung), die Erfassung von Metriken und die Weiterleitung von Protokollen und bietet ein auf WASM basierendes Plugin-System. Er kommuniziert über gRPC mit dem Panel und funktioniert auch dann, wenn das Panel nicht erreichbar ist.
Status: dokumentiert, Umsetzung in Vorbereitung
Die Familie wächst weiter um weitere Tools. Diese sind derzeit noch nicht öffentlich zugänglich, und ich werde sie erst vorstellen, wenn sie einsatzbereit sind.
Status: in Entwicklung, noch nicht veröffentlicht
Hedgehog wird offen auf GitHub entwickelt – der Code, die Issues und die aktuellen Pläne sind öffentlich zugänglich. Schauen Sie sich gerne an, wie es aufgebaut ist, nutzen Sie es für Ihre eigenen Zwecke oder leisten Sie einen Beitrag.
Aktueller Stand: in aktiver Entwicklung
HedgehogPanel steht unter der Apache-2.0-Lizenz zur Verfügung. Die Lizenzen der anderen Komponenten sind in deren Repositories angegeben.