[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.Service
est injecté dans les méthodesProcessEvent
etProcessAlarms
pour leur permettre de modifier les alarmes (par exemple pour ajouter un stepdeclareticket
). - La méthode
ProcessAlarms
prends untypes.AlarmChangeType
plutôt qu'untypes.AlarmChange
(types.AlarmChange
n'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.so
dans le dossier courant) - lancer
axe
avecengine-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).