Reaction v2 : un régal

Tout d’abord, qu’est-ce que reaction ?
C’est un dæmon qui analyse les sorties d'un programme à la recherche de motifs répétitifs et qui prend des mesures (définition tirée du wiki de reaction).

A daemon that scans program outputs for repeated patterns, and takes action.

Un exemple simple : la surveillance des logs de SSH et le blocage des adresses IP qui échouent plusieurs fois.

Oui, c’est exactement un des usages de fail2ban. Mais reaction a pour lui de grands avantages :

  • il est écrit dans un langage compilé, ce qui lui permet d’avoir une moindre consommation de ressources ;
  • sa syntaxe de configuration est bien plus simple à comprendre et écrire que celle de fail2ban ;

Je suis et j’utilise reaction depuis déjà quelques temps, et je suis tellement enthousiaste à propos de ce projet que j’ai passé un peu de temps pour apporter ma pierre à ce belle édifice l’année dernière 🙂

Et cette v2 alors ?

Et bien tout d’abord, il s’agit d’une réécriture en Rust, langage réputé pour sa sûreté mémoire et ses performances. Reaction était précédemment écrit en Go, qui n’est pas mauvais, mais qui semble, ici tout du moins, se faire surpasser par Rust.

Ensuite, et surtout, c’est le fait de pouvoir utiliser tout un dossier pour y mettre de la configuration qui m’enthousiasme ! En effet, comme j’automatise au maximum la configuration avec Salt, la création de zéro d’un fichier de configuration qui doit prendre en compte toutes les particularités de chaque machine est très laborieux. Et cela interdit de modifier localement le fichier de configuration, puisque cette modification pourrait se faire écraser suite à un déploiement automatisé d’une nouvelle configuration.

Désormais, plus de problème : je vais pouvoir avoir une configuration de base déployée automatiquement, avec des ajustements particuliers définis dans des fichiers particuliers (histoire de ne pas tout mélanger), et je pourrais toujours ajouter des règles sur une machine à la main si ça me chante !
Je suis en train de déployer ça chez Framasoft et plus j’avance, plus je me dis que les possibilités sont infinies 🚀

Et comment ça s’utilise ?

Ah bah ça, c’est pas le but de cet article. Le plus simple est d’aller sur https://reaction.ppom.me/ pour découvrir comment utiliser reaction puis d’aller sur https://framagit.org/ppom/reaction/-/releases pour le télécharger et l’installer.

Juste un conseil : il peut être tentant de configurer reaction avec des fichiers YAML dont la syntaxe est simple et bien connue, mais Jsonnet est plus puissant, surtout grâce à ses systèmes d’import. Ça vaut vraiment le coup de prendre un peu de temps pour s’y pencher.

1 réflexion au sujet de « Reaction v2 : un régal »

Laisser un commentaire