Le monde moderne des administrateurs système nous a gâtés avec de belles interfaces web, au point où l'on n'a même plus envie d'installer des logiciels qui n'ont pas cette fameuse interface graphique (je sens que je vais recevoir des critiques de la part des puristes), mais il est vrai qu'on ne peut pas constamment aller dans la ligne de commande, n'est-ce pas ? Tout irait bien si l'on pouvait installer le logiciel, le configurer et l'oublier, mais que faire lorsque l'on doit y aller régulièrement pour modifier des choses, et bien sûr qu'il n'y a pas de journal de toutes les actions ? On ne va pas écrire à chaque fois cp cfg cfg_back, avec le temps on s'y perd et on finit par abandonner.
Il y a de nombreuses années, j'ai découvert un merveilleux équilibreur de charge, Haproxy. Tout était magnifique et fonctionne à merveille. J'en ai eu beaucoup et j'ai commencé à chercher une interface graphique pour cela, mais à ma grande surprise, il n'y en avait pas. Un logiciel très populaire, et pourtant assez ancien, mais bon, j'ai pensé que ce n'était pas grave et j'ai continué à faire quelques modifications à la main dans mon éditeur vi préféré, tout en ayant une multitude d'onglets ouverts avec des statistiques de toutes les connexions actives. serveurs. Mais le moment est venu où j'ai dû répondre aux "besoins" des utilisateurs qui écrivaient des logiciels pour travailler via http, et c'est là que les choses intéressantes ont commencé...
Les mains démangeaient, les yeux brillaient et je me suis lancé. Plus précisément, j'ai commencé à réfléchir à quel langage utiliser, me remémorant le PHP que j'avais oublié depuis longtemps, mais ça ne me tentait pas trop, et je trouvais qu'il n'était pas vraiment adapté pour cela. Au final, mon choix s'est porté sur Python, qui serait sans aucun doute utile à l'avenir, et j'ai commencé à m'imprégner d'informations.
Au début, les tâches n'étaient pas si compliquées : la possibilité de modifier les fichiers de configuration depuis une interface web en un seul point d'entrée, ainsi que la sauvegarde des versions précédentes des fichiers de configuration. Cette fonctionnalité, pas particulièrement grande, a été réalisée assez rapidement, mais à ce moment-là, j'ai eu soit la paresse d'administrateur, soit ce fameux perfectionnisme et cela m'a semblé, bien sûr, insuffisant. Et c'est là que des fonctionnalités telles que : la comparaison de deux fichiers de configuration, la journalisation de toutes les actions liées aux fichiers de configuration, l'API Runtime et l'ajout de sections via le web ont commencé à apparaître.
Et en tant qu'administrateur UNIX respectable vivant grâce aux logiciels libres, j'ai décidé de partager cela avec le monde, au cas où cela pourrait être utile à quelqu'un. Mais pour cela, il fallait faire en sorte de ne pas avoir à fouiller dans le code, mais au maximum dans les fichiers de configuration. (Actuellement, la plupart des paramètres ont été transférés dans une base de données. À mon avis, il est devenu plus pratique de les modifier, et lors des mises à jour, il n'y aura pas d'erreur due à l'absence d'un paramètre dans le fichier de configuration.)
Un mois après, j'ai publié mon projet sur Github sans vraiment m'attendre à quoi que ce soit. Et à tort, le logiciel s'est révélé légèrement demandé et là, l'aventure a commencé... Le développement actif dure déjà presque un an. Parfois, j'ai envie d'abandonner, car mes besoins sont déjà satisfaits depuis longtemps. Mais pourquoi aurais-je besoin de la possibilité de déployer un « cluster » avec keepalived et HAProxy via une interface web, alors que cela ne me prend au maximum que quelques minutes ? Les gens en ont besoin, apparemment, et cela m'intéresse, donc j'ai de quoi m'occuper. Bien sûr, il y a aussi des fonctionnalités dont j'ai besoin, par exemple, la surveillance des serveurs backend, pour vérifier s'ils sont accessibles pour Haproxy. Nous avons bien sûr une surveillance d'entreprise, mais il y a des gens qui peuvent prendre leur temps pour réagir, et puisque mon département s'occupe du développement, le logiciel apparaît et disparaît, ce qui nécessite souvent de lutter contre la bureaucratie.
En gros, j'ai décidé de partager cela, car il s'avère que c'est le seul GUI gratuit. Qui sait, cela pourrait être utile à quelqu'un ? .
Source : habr.com
