AiHummer доки
v1.0.x
RU EN

Политика обновлений

v1.0.x · обновлено 2026-06-26

Стабильность — это принцип продукта, а не запоздалая мысль. AiHummer следует SemVer, применяет безопасные вперёд миграции БД автоматически и умеет самообновляться из CDN — так что обновления становятся рутиной, а не риском.

Версионирование (SemVer)

Релизы следуют семантическому версионированию. Версию сообщают /healthz и aihummer version, поэтому всегда можно подтвердить, что именно работает, до и после обновления.

Миграции безопасны вперёд и автоматичны

При старте gateway применяет ожидающие миграции БД автоматически. Безопасность обеспечивают два свойства:

  • Безопасность вперёд. Миграции написаны так, что более новый бинарь работает со схемой, в которую он мигрирует, — именно это делает автоприменение и скользящие обновления безопасными.
  • Единственный применяющий через advisory-lock. Миграции выполняются под advisory-lock PostgreSQL, поэтому при одновременном старте нескольких gateway применяет их только один, а остальные ждут — никаких двойных миграций.

[!NOTE] Миграции всегда выполняются на owner-пуле базы. Ограниченная RLS-роль (AIHUMMER_DB_APP_URL) предназначена для обслуживания трафика, а не для изменений схемы.

Самообновление из CDN

Gateway может обновляться сам из релизного CDN. Поведение управляется тремя переменными окружения:

ПеременнаяНазначение
AIHUMMER_AUTO_UPDATEoff | check | apply — выключено, только уведомление или автоприменение
AIHUMMER_UPDATE_CHANNELОтслеживаемый канал релизов (например, stable / alfa / beta / dev)
AIHUMMER_DOWNLOAD_BASE_URLБазовый URL, откуда тянется обновление

Обновления обнаруживаются через latest.json канала на CDN. Также обновлениями можно управлять вручную через CLI:

aihummer update --check   # сообщить, доступна ли новая версия
aihummer update           # скачать и применить обновление
# gateway.env — только уведомления на канале stable
AIHUMMER_AUTO_UPDATE=check
AIHUMMER_UPDATE_CHANNEL=stable

[!TIP] Начните с AIHUMMER_AUTO_UPDATE=check, чтобы получать уведомления о новых релизах, и перейдите на apply, когда будете доверять каналу для автоматических выкаток.

Выкатки без простоя

AiHummer создан для обновления без простоя:

  • Запускайте 2+ gateway за прокси. Обновляйте их по очереди; проба готовности (/readyz) держит перезапускающийся узел вне ротации, пока он не начнёт обслуживать.
  • Планировщик — единственный лидер. Фоновое планирование выбирает одного лидера через advisory-lock PostgreSQL, поэтому несколько gateway не дублируют запланированную работу.
  • Доставка идемпотентна. Outbox с гарантированной доставкой плюс ключи идемпотентности означают, что ответ не отправится дважды при перезапуске — именно это делает скользящую выкатку флота безопасной.

Куда дальше