Rodina nástrojů pro správu infrastruktury
Hedgehog je rodina open-source nástrojů pro správu serverů, automatizaci a dokumentaci infrastruktury. Vznikla z potřeby mít nástroj, který dělá přesně to, co potřebuji, a z chuti naučit se stavět něco většího než jednorázový skript. Když se bude hodit i někomu dalšímu a ušetří mu psaní vlastního řešení, tím líp.
Hedgehog začal jako webový panel pro správu serverů. Postupně z něj vyrostla modulární rodina softwaru, kde každou součást lze používat samostatně nebo jako část většího celku. Hlavním důvodem, proč ho stavím, je naučit se navrhovat a dlouhodobě udržovat reálný systém – ne jen ho jednou napsat a zapomenout na něj.
Vývoj probíhá po jednotlivých komponentách. Veřejně představené jsou zatím HedgehogPanel a HedgehogDaemon, další součásti rodiny jsou rozpracované a zveřejním je, až dozrají do použitelného stavu.
Každá součást funguje i samostatně
Panel je dostupný pod licencí Apache 2.0
Cílem je podpora Linuxu i Windows
Vše běží na vlastní infrastruktuře
Hedgehog není jeden program, ale několik samostatných nástrojů, které spolu umí spolupracovat. Níže jsou součásti, které jsou už veřejně představené.
Webový panel pro správu serverů a služeb, psaný v C# nad .NET a PostgreSQL. Nabízí správu uživatelů, přiřazení vlastnictví serverů a služeb, řízení přístupu podle rolí a přehledné rozhraní v prohlížeči. Se spravovanými servery komunikuje přes gRPC. Vzniká jako alternativa k existujícím řešením typu Pterodactyl nebo Portainer, postavená na .NET.
Stav: v aktivním vývoji
Lehký proces na pozadí psaný v Rustu, který běží na každém spravovaném serveru. Stará se o životní cyklus procesů (spuštění, zastavení, dohled), sběr metrik a přeposílání logů a nabízí systém pluginů postavený na WASM. S panelem komunikuje přes gRPC a dokáže fungovat i ve chvíli, kdy je panel nedostupný.
Stav: zdokumentováno, implementace připravovaná
Rodina se dál rozrůstá o další nástroje. Ty zatím nejsou veřejné a představím je, až budou v použitelném stavu.
Stav: ve vývoji, zatím nezveřejněno
Hedgehog vzniká otevřeně na GitHubu – kód, issues i rozpracované plány jsou veřejné. Klidně se podívejte, jak je to udělané, použijte to u sebe nebo přispějte.
Aktuální stav: v aktivním vývoji
HedgehogPanel je dostupný pod licencí Apache 2.0. Licence dalších součástí jsou uvedené v jejich repozitářích.