Skip to content

[axe] Plugins de post-traitement

Lucas Seguinot requested to merge feat-axe-post-processors into develop

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éthodes ProcessEvent et ProcessAlarms pour leur permettre de modifier les alarmes (par exemple pour ajouter un step declareticket).
  • La méthode ProcessAlarms prends un types.AlarmChangeType plutôt qu'un types.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 fichier dummy.so dans le dossier courant)
  • lancer axe avec engine-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).

Merge request reports