Watchghost version 0.3.0

Écrit par Arthur Vuillard Sam le mer. 31 juillet 2019

La version 0.3.0 de watchghost est disponible depuis quelques minutes sur PyPI.

Il y a eu deux gros changements dans cette version : le remplacement de Tornado par AioHttp et le remplacement du format JSON par le format TOML pour les fichiers de configuration.

Le remplacement de Tornado par AioHttp se justifie par les différences dans la boucle événementielle asynchrone entre celle de Tornado et celle d'AioHttp. Ce changement nous permet de n'avoir plus qu'une boucle événementielle, sans perdre de fonctionnalités.

Nous avons souhaité remplacé JSON par TOML car JSON n'est pas très lisible (pour un·e humain·e), et ne permet pas de commenter son fichier de configuration, ce qui peut s'avérer intéressant. Nous avons profité de ce changement pour ne plus rendre obligatoire la présence des 4 fichiers de configuration : si l'un n'est pas présent, la configuration est considérée comme si le fichier était vide. Nous avons créé un outil permettant de réaliser ce changement de format automatiquement (voir les notes de sortie).

Dans les autres changements :

  • l'ajout d'un code de conduite pour les participant·e·s au projet
  • la possibilité de recharger l'application (avec le signal HUP)
  • l'ajout d'un logger InfluxDB qui permet d'historiser les événements (et qui est utilisé par BroGhost, notre application qui publie l'historique d'accès à un service)
  • l'ajout d'une option get_info au service Http. Cette option get_info permet de lire le contenu JSON d'une réponse HTTP et d'afficher ce résultat dans l'interface web
  • l'ajout d'un service Whois, qui permet de vérifier la date de renouvellement des noms de domaines
  • l'utilisation de fichiers Javascript et CSS minifiés
  • l'ajout d'une favicon dans le tableau de bord
  • la possibilité de ne pas afficher les services à l'état INFO dans le tableau de bord, ce qui permet d'accéder rapidement aux services problématiques
  • la possibilité de grouper les services par tags et non par hôtes dans le tableau de bord, ce qui permet de visualiser des informations sur un service réparti sur plusieurs hôtes
  • l'amélioration de l'affichage des résultats dans la page détail d'un service
  • l'utilisation de timezone dans la représentation des dates et heures

Merci aux 6 contributeurs et contributrices pour le travail réalisé.

➡️ plus d'information dans la documentation, et merci de nous faire part de vos bugs ou envies sur notre forge logicielle