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

Установка и обновления

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

Установка плагина в AiHummer — это один клик в админке, но за этим кликом стоит детерминированный host-native жизненный цикл. Платформа скачивает плагин, выполняет объявленные шаги установки, разворачивает sandbox-юнит systemd и считает плагин здоровым лишь после того, как он ответит на health-check. Затем каждая установка сама поддерживает себя в актуальном состоянии.

Установка в один клик из админки

Вы устанавливаете и управляете плагинами из админки, за которой стоит admin-API модулей:

GET  /v1/admin/modules
POST /v1/admin/modules/{slug}/install

Ничего не нужно настраивать вручную: выберите плагин из каталога, нажмите «установить», и за дело берётся deployer.

Поток SystemdDeployer

Под капотом SystemdDeployer выполняет такие шаги:

  1. Скачивает tarball выбранного плагина.
  2. Выполняет шаги install[] из манифеста, объявленные плагином.
  3. Разворачивает sandbox-юнит systemd для плагина.
  4. Опрашивает /healthz, пока сервис не сообщит о здоровье.
скачать tarball ─▶ выполнить шаги install[] ─▶ развернуть sandbox-юнит systemd ─▶ опросить /healthz ─▶ active

Только когда /healthz отвечает успешно, установка помечается активной — плагин, который не поднялся, молча не засчитывается как установленный.

Host-native, sandbox systemd — не Docker

Каждый плагин работает как свой sandbox-сервис systemd. Никаких контейнеров, Docker или оркестратора: плагин — это управляемый Linux-сервис со своим юнитом, портом и ограничениями sandbox, контролируемый systemd, как и остальная установка.

[!WARNING] AiHummer — host-native. Плагины разворачиваются как sandbox-сервисы systemd из релизного tarball, а не как Docker-контейнеры. Если в инструкции вам предлагают «запустить контейнер плагина» — это не про AiHummer.

Health-гейт через /healthz

Перед объявлением успеха deployer опрашивает эндпоинт плагина /healthz. Именно этот health-гейт делает установку в один клик безопасной: сломанный или неверно настроенный плагин ловится во время установки, а не обнаруживается позже в проде.

Автообновление на каждую установку

Обновления выполняются на каждую установку. Каждый установленный плагин может автообновляться по своему расписанию, поэтому поддержание плагинов в актуальном состоянии не требует ручной переустановки при каждом появлении новой версии в каталоге. Для обновления выполняется тот же поток «скачать → шаги установки → развернуть юнит → health-check», что и при первой установке.

[!TIP] Поскольку автообновление работает на каждую установку, вы можете зафиксировать одни плагины, позволив другим следовать за последней версией — каждая установка управляет своим жизненным циклом сама.

Мульти-источник каталога

Каталог больше не привязан к одному URL. В Plugins → Sources (Admin UI, или POST /v1/admin/modules/catalog/sources) можно добавить дополнительный источник — например, community-каталог сторонних плагинов. Gateway синхронизирует все включённые источники на старте и на интервале автообновления.

  • Официальный источник (первопартийные модули) запинен и доверяется по умолчанию — это отдельный объект, который не перезаписывается другими источниками.
  • Приватные/community-источники добавляет оператор; у каждой записи каталога есть origin, и именно origin определяет, против какого якоря проверяется подпись (official → запиненный ключ, private → trust-store).

Подробнее о публикации в community-каталог — в Публикации плагина.

Модель доверия и запиненный ключ

Установка проверяет подпись плагина по его источнику:

  • official → проверка против ключа реестра, запиненного в ядре. Доверяется по умолчанию, без действий оператора.
  • private (side-load) → проверка против trust-store инстанса; ключ автора одобряется оператором при загрузке (один клик).
  • неподписанный → отклоняется, кроме dev-режима (AIHUMMER_PLUGIN_DEV_UNSIGNED=1, только для локальной разработки).

Подписанные обновления

Обновление повторно проходит тот же гейт подписи, что и первая установка: при переходе на новую версию подпись проверяется заново против того же якоря доверия. Обновление не может обойти проверку — поднять trust-уровень через апдейт нельзя.

Бейдж Official и ранжирование

В каталоге Web UI плагины от AiHummer помечаются бейджем Official и идут первыми. Сторонние плагины показываются без бейджа и сортируются по числу загрузок. Признак Official является производным от origin записи (official) — его нельзя выставить вручную в манифесте.

Куда дальше