Перейти к содержимому

Установка лицензии и переход на Business

Вы приобрели тарифный план и получили лицензию. На этой странице описано, что с ней делать: куда поместить файл, как применить его к работающему движку, как узнать, что установлено, и — если вы приобрели план Enterprise — как заменить бинарный файл Community на Enterprise, ничего не переустанавливая.

Что вы приобрелиЧто приходитЧто с этим делать
Communityустанавливать нечегоуже работает — ничего на этой странице не применяется
Business / Business Max, самостоятельное размещениефайл лицензии и токен скачиванияустановить лицензию, затем перейти на бинарный файл Enterprise
Cloudучётные данные размещённого tenantна вашем хосте устанавливать нечего

Лицензия представляет собой один подписанный blob. Сохраните его в файл — customer.license или с любым другим именем — и сохраните токен скачивания из того же письма: они используются на разных этапах, и устанавливается только лицензия.

Окно терминала
olivares license install ./customer.license --data-dir /var/lib/olivares

Команда проверяет blob до того, как что-либо записать, по открытому ключу Ed25519, встроенному в вашу сборку. Поэтому усечённая копия из буфера обмена завершается ошибкой здесь, а не при следующем запуске. При успехе команда записывает <data-dir>/license.key с режимом 0600 — каноническую хранимую лицензию, которую движок читает по умолчанию.

Передайте - вместо пути, чтобы прочитать blob из стандартного ввода:

Окно терминала
pbpaste | olivares license install - --data-dir /var/lib/olivares

Установка поверх существующей лицензии атомарно заменяет её и сообщает, какая лицензия была заменена.

Применить к работающему движку — без перезапуска

Заголовок раздела «Применить к работающему движку — без перезапуска»

Работающий движок принимает новую лицензию на месте. Это можно сделать любым из следующих способов:

Окно терминала
kill -HUP "$(pidof olivares)" # signal the running process
curl -X POST .../v1/console/runtime/reload # the API half

…или собственным элементом перезагрузки в консоли. Перезапуск тоже работает, но он не нужен.

Если вы уже внедряете лицензию другим способом, учитывайте, что файл из каталога данных имеет самый низкий приоритет среди четырёх источников. Движок разрешает их в порядке убывания приоритета:

  1. --license <path> (или LicenseFile в файле конфигурации)
  2. OLIVARES_LICENSE_PATH=<path>
  3. OLIVARES_LICENSE=<blob> — лицензия непосредственно в окружении
  4. <data-dir>/license.key — то, что записывает license install

license install отказывается выполнять установку, когда может определить, что override имеет более высокий приоритет, чем файл, который команда собирается записать: установка под таким override оставила бы файл, который движок никогда не читает, а вы увидели бы exit 0 без каких-либо изменений. Команда сообщает, какой override она обнаружила, а --force всё равно подготавливает файл — правомерный случай состоит в том, что вы собираетесь удалить override.

Окно терминала
olivares license status --data-dir /var/lib/olivares

status работает офлайн и разрешает лицензию с тем же приоритетом, который использует движок. Поэтому он отвечает на важный вопрос — какая лицензия фактически действует — вместо вопроса «есть ли файл». Он сообщает разрешённый источник, владельца, план и срок действия.

Запускайте его после каждой установки и после удаления override.

После установки лицензии бинарный файл Enterprise доступен для скачивания. Ничего не нужно переустанавливать, и данные никуда не перемещаются:

Окно терминала
olivares upgrade --enterprise --token <TOKEN>

Команда получает подписанную сборку Enterprise для вашей платформы и проверяет подпись офлайн — артефакт с несанкционированными изменениями прерывает обновление, оставляя работающий бинарный файл неизменным, — а затем выполняет атомарную замену, сохраняя резервную копию предыдущего файла. Сначала используйте --check, если хотите увидеть план, не применяя его:

Окно терминала
olivares upgrade --enterprise --token <TOKEN> --check

Перезапустите службу, а затем включите надстройки:

Окно терминала
olivares enterprise enable <preset> # starter | regulated | full

Активация управляется и аудируется: сначала показывается diff, а надстройка, которой нужен secret или проверка, переводится в подготовленное состояние, а не включается наполовину. olivares enterprise status сообщает, что активно. Эти команды существуют только в бинарном файле Enterprise — если olivares enterprise не является командой, у вас всё ещё работает сборка Community и описанная выше замена ещё не произошла.

Окно терминала
olivares license uninstall --data-dir /var/lib/olivares --yes

Команда удаляет <data-dir>/license.key и сообщает, что было удалено. Как и install, она отказывается выполнять операцию, пока может увидеть override OLIVARES_LICENSE*: действует не этот файл, поэтому его удаление ничего не изменит. У неё есть и та же слепая зона: флаг --license, переданный отдельно работающему движку, для неё невидим. Это офлайн-половина собственного DELETE /v1/console/license консоли.

Удаление лицензии не отключает ничего из того, что у вас работало. Оно отзывает подтверждение; бинарный файл Enterprise продолжает вести себя как бинарный файл Enterprise, пока вы не замените его обратно.

  • Выпуск лицензий (license keygen / sign) — это сторона поставщика в той же команде. Клиенту она не нужна.
  • Состав каждого плана приведён на страницах цен, а не здесь.
  • Как работает модель — почему подписка предоставляет доступ к артефактам, а не служит переключателем, — описано в разделе Открытое ядро и лицензирование.