Установка Umbryx EE¶
EE разворачивается как Core (те же compose-сервисы, та же схема) с двумя дополнениями: лицензируемые образы и активация лицензии.
1. Получите лицензируемый доступ¶
Образы EE (umbryx-ee:<version> из приватного реестра вендора, доступ
идёт с лицензией) или air-gap бандл. Укажите их стеку:
# .env
BACKEND_IMAGE=<private-registry>/umbryx/backend
FRONTEND_IMAGE=<private-registry>/umbryx/frontend
IMAGE_TAG=<licensed-version>
Обновление существующей установки Core — та же операция: схема общая, экспорт/импорт не нужен.
2. Конфигурация¶
Набор переменных — как в Core плюс четыре EE-only (см.
Справочник конфигурации):
INFRA_TLS_VERIFY, INFRA_SSH_KNOWN_HOSTS, UMBRYX_VERIFY_DEPLOY
и каталог состояния cloud-provisioning. Ничего лицензионного через
env не настраивается — лицензия это подписанный токен, не переменная.
3. Активация лицензии¶
Онлайн (по умолчанию): при установке ничего делать не нужно. Как
только токен применён (ниже), экземпляр продлевает его автоматически
раз в 24 часа на license-сервере (LICENSE_SERVER_URL, по умолчанию
https://update.umbryx.pro).
Применение лицензионного токена (System → License, platform admin):
GET /api/system/license/activation-request— «Download activation request» сохраняетumbryx-activation-request.c2v.json(хэши железа, публичный ключ экземпляра, свежий nonce).- Отправьте C2V-файл вендору; получите подписанный
.lic. - Загрузите его (System → License → upload,
POST /api/system/license/upload). При применении проверяются Ed25519-подпись, срок, tier и привязка к экземпляру. - Для air-gapped-инстанций переключите канал в offline
(
PATCH /api/system/license/channel); онлайн-heartbeat полностью отключается.
4. Поведение жизненного цикла лицензии¶
active → grace (истекла, по умолчанию 14 дней, админы получают
уведомления) → wind_down (мутации блокируются с 402; просмотр,
экспорт и teardown продолжают работать). Данные никогда не
удаляются; развёрнутая инфраструктура платформой не останавливается.
5. Высокая доступность (опционально)¶
EE поставляет HA-рецепт:
Поднимаются pg_auto_failover (monitor + ноды), HAProxy + keepalived
VIP и Redis Sentinel; app-слой направляется на VIP. ENCRYPTION_KEY и
JWT_SECRET должны совпадать байт-в-байт на всех app-нодах. Полный
разбор: HA-развёртывание.
EE в air-gap¶
Соберите офлайн-бандл scripts/build-airgap-bundle.sh
(образы backend/frontend/PostgreSQL/Redis/nginx, чексуммы, compose,
офлайн-установщик). Лицензию активируйте по офлайн-схеме C2V → .lic, описанной выше
выше. Образы C2/redirector в бандл намеренно не входят —
упакуйте их отдельно через docker/build-images.sh для
изолированного сегмента.