Moderní svět systémových administrátorů nás rozmazluje krásnými webovými rozhraními, že se nám ani nechce instalovat software, kde toto „GUI“ není (cítím, jak se teď zarytí puristé rozčilují), ale přece jen, není to přes příkazový řádek neustále, že? Vše by bylo v pořádku, kdybych software nainstaloval, nastavil a zapomněl. Co ale dělat, když je třeba tam neustále chodit, opravovat a nemáme samozřejmě žádný log všech akcí? Nepsat přece pokaždé cp cfg cfg_back, časem se v tom zamotáte a na to zanevřete.
Před mnoha lety jsem se seznámil s tak báječným vyrovnávačem zátěže jako Haproxy. Všechno bylo skvělé a krásné. Měl jsem jich hodně a začal jsem přemýšlet o hledání GUI pro něj, ale překvapivě žádné nebylo. Velmi populární software, navíc docela starý, ale nevadí, pomyslel jsem si a občas jsem i dále upravoval ručně v mém oblíbeném vi a měl spoustu otevřených záložek se statistikou všech aktivních. servery. Ale nastal čas, kdy jsem musel uspokojit „přání“ lidí, kteří psali software na práci přes http, a tady to začalo být zajímavé…
Rukce se zkroutily, očka se rozjasnila a já se pustil do toho. Přesněji řečeno, začal jsem přemýšlet, na čem napsat, vzpomínal jsem na dávno zapomenutý PHP, ale nějak se mi do toho nechtělo, a také se mi zdálo, že se to sem úplně nehodí. Nakonec jsem se rozhodl pro Python, v budoucnu se mi určitě hodí, pomyslel jsem si a začalo moje nasávání informací.
Na začátku úkoly nebyly nijak složité: možnost upravovat konfigurace z webového rozhraní z jednoho vstupního bodu, ukládání předchozích verzí konfigurací. Tento, ne příliš velký funkčnost, se podařilo realizovat celkem rychle, ale pak ve mně vzplála buď administrativní lenost, nebo pomyslný perfekcionismus a přišlo mi to samozřejmě málo. A tak začaly přibývat takové funkce jako: porovnávání dvou konfigurací, logování všech akcí souvisejících s konfiguracemi, Runtime API a přidávání sekcí přes web.
A jako řádný UNIX administrátor žijící z výhod svobodného software jsem se rozhodl podělit se s světem, ale třeba to někomu pomůže? Ale k tomu bylo třeba udělat vše tak, aby nebylo třeba sahat do kódu, maximálně do konfigurace (V současnosti většina nastavení přešla do databáze. Podle mě se je nyní snáze upravuje a při aktualizaci nebudou chyby kvůli absenci nějakého parametru v konfiguraci).
Po měsíci jsem svou věc zveřejnil na GitHubu, aniž bych cokoliv očekával. A vůbec, software se ukázal jako mírně poptávaný a začalo to nejzajímavější... Aktivní "vylepšování" trvá už téměř rok. Občas mám chuť to všechno vzdát, protože mé potřeby jsou již dávno pokryty. Proč bych měl potřebovat možnost nasadit "klastr" s keepalived a HAProxy přes webové rozhraní, když mi to zabere maximálně pár minut? A lidé to prý potřebují, a mě to navíc zajímá a je s čím se zabývat. I když samozřejmě existují funkce, které potřebuji, například monitoring backend serverů, zda jsou dostupné pro HAProxy. U nás máme samozřejmě firemní monitoring, ale jsou tam lidé, kteří mohou reagovat poměrně dlouho, a protože moje oddělení se zabývá vývojem, software se objevuje a mizí, to trvá docela dlouho, než se překoná byrokracie.
Nakonec jsem se rozhodl podělit, protože to vypadá, že je to jediné bezplatné GUI. A co kdyby to někomu pomohlo? .
Zdroj: habr.com
