layered-waves-haikei (1)-svg-svg

Hedgehog

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.

Über das Projekt


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.

Modular

Jede Komponente funktioniert auch einzeln

Open Source

Das Panel steht unter der Apache-2.0-Lizenz zur Verfügung

Plattformübergreifend

Das Ziel ist die Unterstützung sowohl von Linux als auch von Windows

Selbst gehostet

Alles läuft auf der eigenen Infrastruktur

Komponenten der Familie


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.

HedgehogPanel

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

HedgehogDaemon

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

Weitere Komponenten

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

Technische Daten


HedgehogPanel

Sprache: C#
Framework: .NET
Datenbank: PostgreSQL
Frontend: HTML / CSS / JS
Lizenz: Apache 2.0

HedgehogDaemon

Sprache: Rust
Kommunikation: gRPC
Plugins: WASM
Plattformen: Linux, Windows
Anforderungen: minimal, nur eine Binärdatei

Code und Entwicklung


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.