HowTo · Monday.com · OpenClaw · MeshMac · мультиузел

2026 OpenClaw MeshMac на практике: Monday.com Webhook — broadcast статуса сборки с нескольких узлов, краткая сводка сбоев и ротация токенов

27 апреля 2026 г. Команда Meshmac 8 минут чтения

Командам с MeshMac и Monday.com нужен один HTTPS ingress для OpenClaw проверенный Monday.com Webhook merge мультиузлового статуса сводка сбоев и ротация токенов без секретов на каждом Mac. Ниже матрица шаги чеклист безопасность плюс стабильность удалённого Mac и fail-closed validate шлюза.

Три боли без шлюза

  1. Секреты на N Mac — утечки в логах.
  2. Частичные статусы — нет mesh_node_id и фазы.
  3. GraphQL — дубли без backoff и ротации.

Матрица «кто держит доверие»

Где живут секрет webhook и API токен до прода.

Вариант Плюсы Минусы
Шлюз OpenClawОдин URL для Monday один аудит подписи и ротацииНужна очередь и согласованный деплой мультиузла
Webhook на каждом MacМеньше сервисов в центреN поверхностей утечки сложный firewall и ротация

Конфигурация исходящей подписи и аутентификации Monday.com

Monday зовёт ваш URL из облака это недоверенный ingress. Нужны секрет подписи и при необходимости URL challenge до потока событий.

  1. Канареечная доска webhook или call URL на https://gateway.example/monday/openclaw challenge ответьте минимальным JSON.
  2. Верификатор OpenClaw заголовок X-Meshmac-Monday-Secret или HMAC сырого тела файл 0440 сравнение за постоянное время иначе 401.
  3. Предикаты по колонке статусу лог event.userId pulse board без секретов.
  4. Ротация секрета dual-read на шлюзе окно обслуживания смена в Monday снятие старого как в CI.

Не кладите GraphQL токен в URL webhook. Входящий секрет отдельно от API токена сводок.

Для приёмки включите канареечный item и снимите tcpdump только на тестовом стенде либо используйте зеркальный ingress с synthetic event прежде чем подключать продовую доску. Любой лог должен хранить board id pulse id и digest подписи без значения секрета.

Маршрутизация приёма на шлюзе

Один маршрут OpenClaw TLS на edge сырое тело для подписи. POST /monday/openclaw Mac без публичных URL в Monday.

  1. Doctor и health openclaw gateway doctor на ingress.
  2. Нормализация pulse_id board_id ref correlation_id неизвестное 200 no-op.
  3. Очередь idempotency pulse плюс тип плюс короткое окно 200 после commit.
  4. Метаданные listener version policy mesh_node_id после claim.

LB перед hostname синхронный конфиг шлюзов см. деплой мультиузла. Если стоит корпоративный MITM выпустите доверенный корень только на сегменте шлюза иначе проверка цепочки TLS для исходящих вызовов Monday сломается отдельно от входящего webhook.

Политика fail-closed validate должна отклонять расширение allowlist без review чтобы случайный патч прокси не отключил проверку подписи на одном из узлов кластера ingress.

Шаблон слияния статусов мультиузла

Одно сообщение на pulse с тем же окном idempotency. Таблица mesh_node_id фазы queued running passed failed SHA очередь.

## Сборка {{ pulse_name }} ({{ correlation_id }})
| Узел | Фаза | Коммит | С момента enqueue |
|------|------|--------|-------------------|
{{#rows}}
| {{ mesh_node_id }} | {{ phase }} | {{ short_sha }} | {{ wait_ms }} ms |
{{/rows}}
Обновлено {{ utc_ts }}Z — шлюз {{ policy_revision }}

Одна мутация Monday колонка CI или заметка воркеры JSON наружу только шлюз. Все зелёные свернуть строку при fail развернуть сводку.

Добавьте в шаблон policy_revision и версию форматтера чтобы саппорт видел какой код рендерил карточку когда пользователь присылает скриншот из Monday спустя сутки после инцидента.

Backoff при отказах и принцип минимальных привилегий

GraphQL backoff джиттер 429 401 5xx уважать Retry-After на 401 сначала ротация.

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

Сводка цель хвост логов без секретов commit mesh_node_id ссылка на run viewer. Токен на шлюзе 0440 scopes доски сборщики без Monday API.

Если Monday возвращает GraphQL userRateLimit уменьшите частоту обновлений колонки и включите локальный кеш последнего успешного состояния чтобы не дергать API на каждый микрошаг раннера.

Ротация новый personal token dual-write файл dry-run revoke старый документируйте окно в тикете вместе с владельцем секрета webhook чтобы два разных человека не отозвали друг друга в пятницу вечером.

Чеклист воспроизведения и заметки по безопасности

  • Канареечная доска TLS извне challenge секрет 0440 verify до parse.
  • POST /monday/openclaw durable enqueue idempotency 200 после commit.
  • Merge один форматтер сбой GraphQL backoff пейдж людей при двойном фейле.
  • Runbook ротации revoke тикет стабильность Mac drain перед macOS.
  • Снимите метрику задержки от webhook ingress до enqueue и от enqueue до первого heartbeat воркера чтобы отличить сетевой лаг Monday от заторов очереди MeshMac.
  • Проведите game day отключив секрет Monday на пять минут и убедитесь что алерт уходит в чат а очередь не теряет задачи благодаря DLQ.

Безопасность

  • Лимит тела строгая schema неизвестное режется.
  • Секреты constant-time отдельные пути webhook vs API WAF не режет заголовки тест извне.
  • Логи без секретов не admin token для автоматизации.
  • Запретите редакторам досок менять URL webhook без тикета инфраструктуры иначе подпись начнёт расходиться с прод шлюзом незаметно для CI.

FAQ

Подпись только в проде — сырое тело без re-encode отключить pretty-print на пути сравнить content-length.

429 — меньше параллелизма больше джиттер одна мутация на pulse пейдж при шторме.

Краткое резюме

Monday.com подпись один OpenClaw на MeshMac merge мультиузла сводки backoff ротация least privilege. Без входа главная блог тарифы справка хаб OpenClaw.

Сигналы Monday без разрастания секретов по Mac

MeshMac — масштаб узлов а не копий webhook. Тарифы блог справка публично без логина. Хаб OpenClaw для CI на стабильном удалённом Mac.

Тарифы без входа