Установка и обновления
Установка плагина в AiHummer — это один клик в админке, но за этим кликом стоит детерминированный host-native жизненный цикл. Платформа скачивает плагин, выполняет объявленные шаги установки, разворачивает sandbox-юнит systemd и считает плагин здоровым лишь после того, как он ответит на health-check. Затем каждая установка сама поддерживает себя в актуальном состоянии.
Установка в один клик из админки
Вы устанавливаете и управляете плагинами из админки, за которой стоит admin-API модулей:
GET /v1/admin/modules
POST /v1/admin/modules/{slug}/install
Ничего не нужно настраивать вручную: выберите плагин из каталога, нажмите «установить», и за дело берётся deployer.
Поток SystemdDeployer
Под капотом SystemdDeployer выполняет такие шаги:
- Скачивает tarball выбранного плагина.
- Выполняет шаги
install[]из манифеста, объявленные плагином. - Разворачивает sandbox-юнит systemd для плагина.
- Опрашивает
/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) —
его нельзя выставить вручную в манифесте.
Куда дальше
- Маркетплейс: обзор и тиры — что такое три тира плагинов.
- Plugin SDK —
manifest.json, чьи шагиinstall[]выполняет этот жизненный цикл. - Публикация плагина — приватный side-load и публичный реестр.
- Zero-code интеграции — добавьте инструменты OpenAPI/MCP без установки сервиса.