Sommaire
Pour que les builders restent joignables après une mise en veille ou un saut de Wi-Fi, croisez ce flux avec une checklist stabilité et reconnexion Mac distant (superviseur, sondes, vidage de file avant mise à jour macOS). Côté politique réseau, alignez la passerelle sur une configuration fail-closed, validate et anti-dérive afin qu’un proxy mal réglé n’élargisse jamais l’ingress en silence. Pour le rôle des nœuds et le DNS unique vers Monday, reprenez le guide de déploiement multi-nœuds MeshMac.
Monday : signature sortante et authentification
Monday.com appelle votre automation depuis son cloud. Traitez ce trafic comme de l’Internet entrant non fiable : configurez une authentification sortante que Monday envoie à chaque livraison — en pratique un secret de signature ou un en-tête partagé long, plus éventuellement une épreuve de possession d’URL (challenge) avant que les événements ne coulent.
- Abonnement sur tableau canari. Webhook de tableau ou automation « appeler une URL » vers
https://passerelle.exemple/monday/openclaw. Répondez au challenge Monday avec le JSON exact attendu pour que la validation reste déterministe. - Vérificateur côté OpenClaw. Soit un en-tête dédié (
X-Meshmac-Monday-Secret) avec valeur aléatoire (32+ octets) stockée en0440, soit un HMAC sur le corps brut — comparaison en temps constant, réponse401avant tout parse métier. - Réduire le bruit. Prédicats sur colonne ou statut (« prêt à build ») pour éviter d’enfiler une compilation à chaque retouche de texte. Journaliser
userId, identifiants pulse et tableau pour l’audit, jamais les secrets. - Rotation en double lecture. Déployez un second secret accepté par la passerelle, basculez Monday pendant une fenêtre de maintenance, puis retirez l’ancien — même calendrier que pour les identifiants CI afin que tout le monde sache qui « tient l’horloge ».
N’embarquez pas de jeton API Monday dans l’URL du webhook : les URL fuient dans les journaux et les tickets support. La vérification entrante est indépendante du jeton GraphQL utilisé plus tard pour poster les synthèses d’échec.
Réception et routage passerelle
Exposez une seule route de réception sur la passerelle OpenClaw : TLS terminé au bord, corps transmis sans réécriture (les signatures dépendent des octets exacts), mappage strict de POST /monday/openclaw. Les workers MeshMac consomment une file privée ; ils ne doivent pas enregistrer d’URL publique auprès de Monday.
- Installation et sondes.
openclaw gateway doctor, checks HTTP qui échouent si la file ou le backend de tâches est injoignable — posture identique aux autres guides webhook de la série. - Normaliser d’abord. Traduire l’enveloppe Monday en
pulse_id,board_id,column_id, référence git souhaitée etcorrelation_id; pour les types inconnus, journaliser un no-op et répondre200pour ne pas bloquer les retries Monday. - Enqueue durable. Clé d’idempotence = pulse + type d’événement + compartiment de cinq minutes ;
200uniquement après commit d’enqueue afin que les livraisons dupliquées ne forquent pas deux pipelines. - Métadonnées de routage. Version du listener, révision de politique,
mesh_node_idune fois le job pris — utile pour les gabarits de fusion et les post-mortems.
Si vous dupliquez l’ingress derrière un répartiteur, gardez la configuration OpenClaw alignée entre nœuds d’entrée pour que les changements DNS ne vous obligent pas à retaper les URL dans Monday à chaque bascule.
Gabarit de fusion d’état multi-nœuds
Quand chaque Mac pousse sa propre chronologie, le canal et le tableau deviennent illisibles. Publiez un message fusionné par pulse (ou par exécution de pipeline), avec la même fenêtre d’idempotence qu’à l’entrée. Incluez un tableau compact : mesh_node_id, phase (queued, running, passed, failed), SHA court, latence depuis l’enqueue.
## Build {{ pulse_name }} ({{ correlation_id }})
| Nœud | Phase | Commit | Depuis enqueue |
|------|---------|----------|----------------|
{{#rows}}
| {{ mesh_node_id }} | {{ phase }} | {{ short_sha }} | {{ wait_ms }} ms |
{{/rows}}
Mis à jour {{ utc_ts }}Z — passerelle {{ policy_revision }}
Reproduisez la même structure dans Monday : une seule mise à jour (colonne « CI », note interne ou mise à jour de statut) plutôt que dix notifications partielles. Les workers émettent des événements structurés vers l’intérieur ; seule la passerelle formate le texte sortant pour centraliser la rédaction et la réduction des secrets.
Si tous les nœuds sont verts, réduisez le tableau à une ligne pour limiter le bruit sur le tableau ; dès qu’un nœud échoue, développez automatiquement et attachez le bloc de synthèse d’échec (cible, dernières lignes de log sans secrets, lien vers la visionneuse de runs interne).
Délais d’attente en cas d’échec et moindre privilège
Les appels GraphQL sortants vers Monday exigent un backoff exponentiel avec jitter, un plafond de tentatives, et des politiques distinctes pour 429, 401 et 5xx. Honorez Retry-After ; ne bouclez jamais serré sur 401 — corrigez ou faites tourner les identifiants d’abord.
monday_graphql_retry:
max_attempts: 6
base_delay_ms: 500
max_delay_ms: 45000
jitter_ratio: 0.3
retry_on_status: [408, 409, 425, 429, 500, 502, 503, 504]
no_retry_on_status: [400, 401, 403, 404]
respect_retry_after: true
Les jetons API restent sur la passerelle (0440), limités aux tableaux et mutations nécessaires. Les identifiants SSH ou mesh des builders n’ont pas besoin d’accès Monday : en cas de compromission d’un nœud de compilation, la surface d’attaque reste bornée.
Planifiez une rotation des jetons trimestrielle ou à chaque départ : nouveau jeton personnel aux mêmes portées, fenêtre de double écriture, remplacement atomique du fichier secret, requête GraphQL « dry-run », puis révocation de l’ancien jeton dans l’admin Monday. Documentez propriétaire et rollback dans le même runbook que la rotation CI.
Liste de contrôle et notes de sécurité
Liste de contrôle (parcours minimal)
- Tableau canari → webhook ou URL d’automation → nom d’hôte TLS public résolu.
- Challenge Monday terminé ; secret ou HMAC stocké
0440; vérification avant parse JSON. - Prédicats d’activation étroits ; corrélation dans les journaux ; aucun secret dans les access logs.
- Route
POST /monday/openclaw; enqueue durable ; clés d’idempotence ;200après commit. - Un gabarit fusionné pour le chat et la colonne Monday ; un seul formateur côté passerelle.
- Chemin d’échec : texte de synthèse, retries GraphQL avec backoff, escalade humaine si chat et Monday échouent tous deux.
- Runbook rotation : nouveau jeton, fenêtre double lecture, révocation, ticket de traçabilité.
- Mac distants : checklist stabilité, redémarrage superviseur, vidage de file avant upgrade macOS.
Notes de sécurité
- Corps webhook traité comme hostile : limites de taille, schéma JSON strict, refus des types d’événements inconnus.
- Comparaisons de secrets en temps constant ; pas de branchement sur préfixe de chaîne.
- Séparer secrets webhook entrants et jetons API Monday (chemins et propriétaires de rotation différents).
- WAF / CDN : ne pas supprimer les en-têtes requis pour la vérification ; tester depuis l’extérieur du bureau.
- Réduction des journaux ; liens vers artefacts sensibles ; interdire les jetons administrateur pour l’automation.
FAQ courte
- La signature échoue seulement en production
- Comparez le corps brut : certains proxys réindentent le JSON. Désactivez le pretty-print sur le chemin webhook, journalisez les écarts de
Content-Length, vérifiez que le bord transmet les mêmes octets que Monday a signés. - GraphQL renvoie 429 malgré le backoff
- Baissez la concurrence du pool worker, élargissez le jitter, regroupez les mises à jour de colonnes en une mutation par pulse lorsque l’API le permet. En tempête d’incident, une page humaine vaut mieux qu’une boucle API.
Synthèse
Configurer l’authentification sortante Monday.com, router les livraisons vers une passerelle OpenClaw sur MeshMac, fusionner l’état multi-nœuds dans un seul gabarit, pousser des synthèses d’échec avec backoff, et faire tourner les jetons sous moindre privilège — tout en gardant les builders alignés sur une stabilité Mac distant prévisible. Pages accueil, index blog, tarifs publics et centre d’aide consultables sans compte.
Industrialiser Monday sans multiplier les webhooks par Mac
La capacité multi-nœuds doit augmenter le débit de build, pas le nombre d’URL exposées à Monday. Parcourez les tarifs publics (page ouverte), l’accueil Meshmac pour comparer la location de Mac distants, le blog pour les autres intégrations OpenClaw, et le centre d’aide SSH/VNC — le tout sans créer de session. Le hub OpenClaw regroupe les patterns passerelle d’abord pour 2026.