Автоматизация ИИ 8 мая 2026

Развёртывание blue-green шлюза OpenClaw со вторым портом, переключением по здоровью и launchd на арендованном облачном Mac (2026-05-08)

Команда автоматизации ИИ MacLogin 8 мая 2026 ~23 мин чтения

История шлюза OpenClaw на macOS в 2026 году разделена: настольное приложение управляет жизненным циклом, а долгоживущий демон остаётся под launchd с внешними CLI-установками. Это хорошо для blue-green: можно поднять кандидат-шлюз на 127.0.0.1:18765, пока продакшен на 127.0.0.1:18764, доказать готовность синтетическими пробами и перенастроить loopback-потребителей или upstream-прокси — без второго физического mini MacLogin. Этот runbook за май 2026 фиксирует матрицу, которую арендаторы MacLogin в Гонконге, Японии, Корее, Сингапуре и США используют, чтобы стабилизировать webhook-воркеры, хуки Canvas и CLI-автоматизации во время обновлений.

См. также приложение и передачу CLI, мониторинг health curl, корректное завершение и дренаж, и хаб тематический индекс OpenClaw. Также справка и цены.

Почему blue-green лучше местных перезапусков для загруженных шлюзов

Местный launchctl kickstart -k уместен для мелких патчей, но рискованные обновления (мажор Node, смена allowlist моделей, миграция URL webhook) выигрывают от процессов рядом. Blue-green даёт полностью прогретый контейст: TLS-контексты скомпилированы, кэши моделей разогреты, очереди воркеров проверены до клиентского трафика.

Проверка реальности: два цвета на одном хосте делят CPU, диск и термику — если кандидат нагружает ANE, планируйте переключения вне пика даже на Mac mini M4.

План портов и матрица меток launchd

ЦветАдрес прослушиванияМетка launchd (пример)Назначение
Синий (стабильный)127.0.0.1:18764ai.openclaw.gateway.blueПродакшен-трафик
Зелёный (кандидат)127.0.0.1:18765ai.openclaw.gateway.greenПроверка staging
НаблюдаемостьЛюбойN/AПривязывать health к loopback; наружу только через контролируемые прокси по усилению localhost

Контракт health-проб до переключения трафика

Задайте обязательные сигналы: HTTP 200 на /healthz (или проектный путь), поле версии JSON согласовано с CLI, успешный ping модели в бюджете задержки и при необходимости эхо self-test webhook. Запускайте пробы минимум два интервала scrape, чтобы поймать медленные утечки.

Совет: повторите синтетический цикл из вчерашней статьи мониторинга — другой порт, та же дисциплина — чтобы дежурные использовали те же привычки.

Шаблон вторичного LaunchAgent plist (на пользователя)

Дублируйте рабочий plist, меняйте Label, StandardOutPath, StandardErrorPath и экспорт окружения с портом и корнем конфигурации. Держите ThrottleInterval разумным, чтобы циклы падений не DOS-или syslog. Согласуйте с переменными окружения в launchd, чтобы оба цвета наследовали верное хранилище секретов.

Runbook переключения в девять шагов

  1. Снимок текущего plist, хеша бинарника и версии Node.
  2. Развернуть кандидат в версионированный каталог; стабильные пути не перезаписывать.
  3. Установить зелёный plist; launchctl bootstrap от пользователя арендатора.
  4. Проверить health локально через curl + mTLS при включении.
  5. Переиграть синтетические webhook только на зелёный.
  6. Осушить синий по последовательности из статьи о дренаже апреля 2026.
  7. Продвинуть, перенастроив localhost-форвардеры или upstream-блоки прокси.
  8. Наблюдать бюджет ошибок 30–60 минут до объявления успеха.
  9. Понизить синие бинарники или оставить горячими для мгновенного отката.

Учения отката быстрее пяти минут

Отрабатывайте обратное продвижение: вернуть upstream-указатель на синий, launchctl bootout зелёного только после дренажа очередей, вести логи, пока провайдеры webhook не прекратят волны 5xx. Зафиксируйте владельцев DNS, loopback и reverse-proxy — путаница там растягивает инциденты за SLA.

Наблюдаемость: diff JSONL между цветами

Когда оба демона пишут JSON-строки, помечайте записи color=blue|green на уровне логгера. Команды SIEM в зонах HK, JP, KR, SG и US могут накладывать ошибки без угадывания процесса.

FAQ

Заменяет ли это Kubernetes? Нет — аренда одного хоста проще; для K8s используйте pod blue-green.

Публичные TLS-webhooks? Сочетайте с руководством по TLS reverse proxy, чтобы периметр переключал upstream на здоровый loopback-порт.

Где арендовать изолированные шлюзы? Начните с цен, чтобы добавить мощность JP или US для шумных нагрузок.

Хаб OpenClaw, справка и роль регионов

Обновляйте хаб OpenClaw внутренними метками run, чтобы новые инженеры наследовали ту же матрицу портов. Когда чувствительные к задержке автоматизации ближе к токийским брокерам, чем к западному побережью США, закрепление аренды по региону снижает риск переключения за счёт предсказуемых RTT webhook.

Запуск OpenClaw на выделенном Apple Silicon

Узлы HK · JP · KR · SG · US для постоянно включённых шлюзов.