[axe] Plugins de post-traitement
Cette MR ajoute des plugins de post-traitement à axe, et résout le ticket https://git.canopsis.net/canopsis/go-revolution/issues/70.
Modifications par rapport à la spécification
- Un
alarm.Serviceest injecté dans les méthodesProcessEventetProcessAlarmspour leur permettre de modifier les alarmes (par exemple pour ajouter un stepdeclareticket). - La méthode
ProcessAlarmsprends untypes.AlarmChangeTypeplutôt qu'untypes.AlarmChange(types.AlarmChangen'est valable que pour une seule alarme, puisqu'il contient l'ancien état de l'alarme).
Validation
- copier le code d'exemple de la doc (MR https://git.canopsis.net/canopsis/canopsis/merge_requests/601) dans un fichier
main.go - le compiler avec
CGO_ENABLED=1 go build -buildmode=plugin -o dummy.so main.go(ça doit créer un fichierdummy.sodans le dossier courant) - lancer
axeavecengine-axe -d -printEventOnError -postProcessorsDirectory <dossier contenant dummy.so> - chaque méthode du plugin affiche un message dans les logs quand elle est appelée, vérifier que c'est bien le cas (à l'initialisation, au beat, et à la réception d'un événement).