Files
chlova/docs/assets/workflow-chlova-alerts.md
Kantin-Petit b617487d0d feat: workflow n8n d'alerte + doc, fin Phase 3 (v0.18.0)
Export JSON workflows-n8n/chlova-alerts.v1.0.0.json (webhook → mail,
formate par type d'alerte) + doc d'asset (palier privileged, rollback).
ALERT_WEBHOOK_URL dans .env.example + compose (vide = log-only).
need-review.md : alertes implémentées. Compose revalidé, 53 tests, 0 vuln.

Palier de risque : privilégié (workflow envoie des mails) — désactivable
via ALERT_WEBHOOK_URL vide ; non exécuté depuis le dépôt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 01:54:46 +02:00

1.8 KiB

CHLOVA Alerts

  • Type : workflow-n8n
  • Version : v1.0.0
  • Palier de risque : privileged (envoie des mails / sortie externe)
  • Statut (need-review) : n/a (créé à la main, hors auto-extension)
  • Lien commit : voir tag v0.18.0
  • Créé le : 2026-06-23
  • Fichier : workflows-n8n/chlova-alerts.v1.0.0.json

Rôle

Reçoit les alertes du backend CHLOVA (webhook) et envoie un mail. Met en œuvre la stratégie anti-fatigue : tentative bloquée, 1ʳᵉ exécution provisoire, rappel J-1, digest quotidien (voir docs/need-review.md).

Entrées / sorties

  • Entrée : POST /webhook/chlova-alert, corps JSON { source, ts, kind, ... } (kind ∈ blocked_attempt | first_provisional_exec | countdown_j1 | daily_digest). Jamais de secret.
  • Sortie : un mail (sujet + corps formatés par le node Format mail).

Dépendances

  • n8n (instance existante) + credential SMTP (SMTP CHLOVA, à créer dans n8n).
  • Backend : variable ALERT_WEBHOOK_URL = URL de ce webhook (par référence).

Sécurité

  • Le webhook ne reçoit que des métadonnées (ids/types/statuts/dates).
  • Destinataire et identifiants SMTP vivent dans n8n (jamais dans le dépôt) : remplacer toEmail et le credential smtp après import.
  • Palier privileged : sortie mail externe.

Rollback

  • Désactiver/supprimer le workflow dans n8n ; ou vider ALERT_WEBHOOK_URL côté backend → retour au log-only (NullAlertSender), sans rupture.
  • git revert du commit pour retirer l'export.

Tests / vérification

  • Importer le JSON, brancher SMTP, exécuter un POST de test avec {"kind":"daily_digest","blocked":1,"provisional":0,"items":[]} → mail reçu.
  • Le dépôt fait foi : ré-exporter le workflow ici après toute modif (bump version).