Aller au contenu

Approval Workflow Hub

Mises a jour Docker, operations MCP critiques, remediations d’incidents — plusieurs workflows ont besoin d’une approbation humaine avant d’agir. Plutot que chacun reimplemente sa propre logique de validation, le Approval Workflow Hub centralise toutes les demandes dans un format uniforme avec des boutons Telegram [Approuver] / [Rejeter].

SourceExempleCallback
Docker DIUNMise a jour image applicativenotif_approve_<id>
MCP GatewayEcriture workflow N8Nmcp_approve_<id>
Incident ResponseRemediation automatiqueincident_execute_<id>
File ProviderRebuild image customapprove_file_<key>

ProblemeSans hubAvec hub
Logique dupliqueeChaque workflow gere ses propres boutonsFormat et stockage unifies
Pas de suiviApprobation perdue si Telegram planteData Table avec audit trail
Timeout silencieuxPas de reponse = rien ne se passeTimeout configurable avec action par defaut

Sources de demande d'approbation

Docker DIUN · update applicatif

MCP Gateway · écriture workflow

Incident Response · remédiation

File Provider · rebuild custom

Approval Workflow Hub · normalisation

Data Table Pending Approvals · audit trail

Notification Hub · Telegram boutons

Wait for callback · timeout configurable

Route by type

SSH update command

HTTP POST cli-ollama gateway

Run remediation script

Trigger Docker rebuild

Le hub normalise chaque demande en un format commun stocke dans la Data Table Pending Approvals :

ChampDescription
approval_idIdentifiant unique
typeclaude / docker / incident / file_provider
sourceWorkflow declencheur
contextPayload contextuel (JSON)
callback_urlURL de retour (pour MCP gateway)
statuspending / approved / rejected / expired

Quand l’utilisateur clique sur un bouton, le callback est route par type :

  • Docker → Execute la commande SSH de mise a jour
  • MCP → HTTP POST vers le gateway cli-ollama
  • Incident → Lance le script de remediation
  • File Provider → Declenche le rebuild Docker

LimiteImpactMitigation
Single adminUn seul approbateurSuffisant pour usage solo
Pas d’escaladeTimeout = rien ne se passeNotification de rappel prevue

Si equipe :

  • Approbation multi-signatures (2 admins sur 3)
  • Delegation temporaire (vacances)
  • Historique des approbations dans Grafana