Перейти к содержанию

Установка 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>
docker compose pull && docker compose up -d

Обновление существующей установки 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):

  1. GET /api/system/license/activation-request — «Download activation request» сохраняет umbryx-activation-request.c2v.json (хэши железа, публичный ключ экземпляра, свежий nonce).
  2. Отправьте C2V-файл вендору; получите подписанный .lic.
  3. Загрузите его (System → License → upload, POST /api/system/license/upload). При применении проверяются Ed25519-подпись, срок, tier и привязка к экземпляру.
  4. Для air-gapped-инстанций переключите канал в offline (PATCH /api/system/license/channel); онлайн-heartbeat полностью отключается.

4. Поведение жизненного цикла лицензии

active → grace (истекла, по умолчанию 14 дней, админы получают уведомления) → wind_down (мутации блокируются с 402; просмотр, экспорт и teardown продолжают работать). Данные никогда не удаляются; развёрнутая инфраструктура платформой не останавливается.

5. Высокая доступность (опционально)

EE поставляет HA-рецепт:

./install.sh   # ha_seed на первой ноде, ha_join на второй,
               # ha_app для нод app-слоя

Поднимаются 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 для изолированного сегмента.