Установка лицензии и переход на Business
Вы приобрели тарифный план и получили лицензию. На этой странице описано, что с ней делать: куда поместить файл, как применить его к работающему движку, как узнать, что установлено, и — если вы приобрели план Business — как заменить бинарный файл Community на коммерческий, ничего не переустанавливая.
Что вы получили
Заголовок раздела «Что вы получили»| Что вы приобрели | Что приходит | Что с этим делать |
|---|---|---|
| Community | устанавливать нечего | уже работает — ничего на этой странице не применяется |
| Business / Enterprise, самостоятельное размещение | файл лицензии и токен скачивания | установить лицензию, затем перейти на коммерческий бинарный файл |
| Cloud | учётные данные размещённого tenant | на вашем хосте устанавливать нечего |
Лицензия представляет собой один подписанный blob. Сохраните его в файл —
customer.license или с любым другим именем — и сохраните токен скачивания из того же письма:
они используются на разных этапах, и устанавливается только лицензия.
1 · Установить лицензию
Заголовок раздела «1 · Установить лицензию»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 processcurl -X POST .../v1/console/runtime/reload # the API half…или собственным элементом перезагрузки в консоли. Перезапуск тоже работает, но он не нужен.
Где движок ищет лицензию, по порядку
Заголовок раздела «Где движок ищет лицензию, по порядку»Если вы уже внедряете лицензию другим способом, учитывайте, что файл из каталога данных имеет самый низкий приоритет среди четырёх источников. Движок разрешает их в порядке убывания приоритета:
--license <path>(илиLicenseFileв файле конфигурации)OLIVARES_LICENSE_PATH=<path>OLIVARES_LICENSE=<blob>— лицензия непосредственно в окружении<data-dir>/license.key— то, что записываетlicense install
license install отказывается выполнять установку, когда может определить, что override имеет
более высокий приоритет, чем файл, который команда собирается записать: установка под таким override
оставила бы файл, который движок никогда не читает, а вы увидели бы exit 0 без каких-либо изменений. Команда сообщает,
какой override она обнаружила, а --force всё равно подготавливает файл — правомерный случай состоит в том, что вы
собираетесь удалить override.
2 · Проверить, что установлено
Заголовок раздела «2 · Проверить, что установлено»olivares license status --data-dir /var/lib/olivaresstatus работает офлайн и разрешает лицензию с тем же приоритетом, который использует движок.
Поэтому он отвечает на важный вопрос — какая лицензия фактически действует — вместо вопроса
«есть ли файл». Он сообщает разрешённый источник, владельца, план и срок действия.
Запускайте его после каждой установки и после удаления override.
3 · Community → Business, на месте
Заголовок раздела «3 · Community → Business, на месте»Установка действующей лицензии Business или Enterprise на сборку Community не останавливает эту сборку. Кокпит сессий и остальные коммерческие страницы появляются только после того, как вы переключите эту установку на Business. Представление Edition & license в консоли показывает установленную лицензию отдельно от сборки. Expires — оплаченный срок; Lease until, если он показан, — отдельная временная аренда экземпляра. Работаете в Docker? Перейдите к разделу Docker и Compose ниже.
После установки лицензии коммерческий бинарный файл доступен для скачивания. Ничего не нужно переустанавливать, и данные никуда не перемещаются:
export OLIVARES_UPGRADE_TOKEN=<TOKEN> # not needed once this installation is connectedolivares upgrade --edition businessolivares license install и olivares license status выводят точную команду для того способа, которым установлена эта инсталляция, а представление Edition & license в консоли показывает тот же шаг одной кнопкой Перейти на Business: движок скачивает сборку, проверяет её, заменяет на месте и перезапускается на ней. Токен загрузки находится на странице Downloads лицензионного портала загрузок (https://licenses.olivares.ai/portal/downloads), рядом с этими командами, и в письме с лицензией; передавайте его по имени, как выше, чтобы он не попадал в список процессов. Подключённой инсталляции (olivares license connect start) токен не нужен. --enterprise — прежняя запись того же маршрута. Кнопке консоли нужно одно из двух: токен в собственном окружении движка или это подключение; если нет ни того, ни другого, представление показывает команду.
Команда получает подписанную коммерческую сборку для вашей платформы и проверяет подпись
офлайн — артефакт с несанкционированными изменениями прерывает обновление, оставляя
работающий бинарный файл неизменным, — а затем выполняет атомарную замену, сохраняя резервную
копию предыдущего файла. Business имеет тот же номер версии, что и Community, поэтому команда работает
и тогда, когда вы уже используете эту версию. Сначала используйте --check, если хотите увидеть план, не
применяя его; смену редакции он показывает как edition: community -> enterprise:
olivares upgrade --edition business --checkПерезапустите службу, а затем включите модули:
olivares enterprise enable <preset> # starter | regulated | fullКоманда и имена пресетов — это то, что принимает коммерческий бинарный файл. Пресеты не являются редакциями и не соответствуют один к одному четырём семействам возможностей Business.
Активация управляется и аудируется: сначала показывается diff, а модуль, которой нужен
secret или проверка, переводится в подготовленное состояние, а не включается наполовину.
olivares enterprise status сообщает, что активно. Эти команды существуют только в
коммерческом бинарном файле — если olivares enterprise не является командой, у вас всё ещё
работает сборка Community и описанная выше замена ещё не произошла.
Docker и Compose
Заголовок раздела «Docker и Compose»Публичный образ docker.io/olivaresai/olivares — это Community. В контейнере
olivares upgrade устанавливает релиз в том данных, а не в образ, поэтому пересозданный
контейнер запускает его снова. Это применяет релиз Business, если он новее образа или той же версии
(--check показывает смену как edition: community -> enterprise); собрать образ самостоятельно, как описано ниже, — альтернатива.
Когда лицензия установлена (раздел 2), запустите обновление в работающем контейнере и
перезапустите его. Токен приходит в письме с доставкой; передайте его по имени, чтобы он не
попал в список процессов:
export OLIVARES_UPGRADE_TOKEN=<TOKEN>docker compose exec -e OLIVARES_UPGRADE_TOKEN olivares olivares upgrade --edition business --yesdocker compose restart olivaresРелиз хранится в ota/ в каталоге данных (/var/lib/olivares/ota в поставляемом образе)
вместе с подписанным манифестом и артефактом, по которым он был проверен. Бинарный файл образа
запускает его, если он новее образа или имеет ту же версию, но собран иначе (образ Community той
версии, которую вы применили как Business). Содержимому тома само по себе не доверяют: при
каждом запуске подпись манифеста проверяется встроенным в образ ключом OTA, а артефакт —
дайджестом, который подписывает манифест. Подтверждение хранится во временном каталоге
контейнера (в поставляемом файле Compose там смонтирован tmpfs), а не в томе; пересоздание
очищает его. Если образ новее применённого релиза, запускается образ, и журнал запуска сообщает
об этом; снова запустите обновление. Данные, которые не проходят проверку, игнорируются с
сообщением, и запускается образ. Том не хранит резервную копию предыдущего бинарного файла:
чтобы вернуться к бинарному файлу образа, удалите ota/. Нужен том, допускающий выполнение
файлов (именованный том допускает; на монтировании noexec olivares serve останавливается и
объясняет причину, а не запускает молча бинарный файл образа).
Образ можно также собрать самостоятельно. Скачайте ту же версию и ту же архитектуру Linux бинарного файла Business через
портал загрузки для лицензированных клиентов и проверьте его подпись
и контрольную сумму по инструкциям к загрузке. Затем на своём хосте можно наложить этот проверенный
бинарный файл на соответствующий runtime-образ Community. В каталоге, где лежит проверенный
бинарный файл с именем olivares, используйте такой Dockerfile:
ARG COMMUNITY_IMAGEFROM ${COMMUNITY_IMAGE}COPY --chmod=0755 olivares /usr/local/bin/olivaresСобирайте с дайджестом образа Community для этой версии, проверенным так, как описано в
Проверка того, что вы скачали. Результат сохраняет непривилегированного
пользователя, entrypoint и порты этого образа, поэтому строка USER в Dockerfile не нужна:
docker build --build-arg COMMUNITY_IMAGE=docker.io/olivaresai/olivares@sha256:<digest> \ --tag olivares-business-local:X.Y .Держите этот образ закрытым и сохраните коммерческую лицензию и уведомления, поставляемые с
загрузкой. Не помещайте файл лицензии или токен загрузки в контекст сборки. Укажите в поле image
вашего сервиса Compose значение olivares-business-local:X.Y, затем пересоздайте этот сервис
командой docker compose up -d --no-deps --force-recreate olivares. Для автономного Docker
пересоздайте контейнер с этим образом, тем же томом и теми же аргументами. Сохраните том данных:
не используйте down --volumes.
После перезапуска проверьте Edition & license: редакция должна показывать Business, а установленная лицензия остаётся в томе данных. Контракты Enterprise используют эту же коммерческую сборку; любой артефакт, специфичный для контракта, следует своим инструкциям по загрузке.
Удалить лицензию
Заголовок раздела «Удалить лицензию»olivares license uninstall --data-dir /var/lib/olivares --yesКоманда удаляет <data-dir>/license.key и сообщает, что было удалено. Как и install, она
отказывается выполнять операцию, пока может увидеть override OLIVARES_LICENSE*: действует не этот файл,
поэтому его удаление ничего не изменит. У неё есть и та же слепая зона: флаг --license, переданный отдельно
работающему движку, для неё невидим. Это офлайн-половина собственного
DELETE /v1/console/license консоли.
Удаление лицензии не отключает ничего из того, что у вас работало. Оно отзывает подтверждение; коммерческий бинарный файл продолжает вести себя как коммерческий бинарный файл, пока вы не замените его обратно.
Чего нет на этой странице
Заголовок раздела «Чего нет на этой странице»- Выпуск лицензий (
license keygen/sign) — это сторона поставщика в той же команде. Клиенту она не нужна. - Состав каждого плана приведён на страницах цен, а не здесь.
- Как работает модель — почему подписка предоставляет доступ к артефактам, а не служит переключателем, — описано в разделе Открытое ядро и лицензирование.
- Репетиция «покупка → возврат» (на фикстурах песочницы, а не на реальной карте) — это Репетиция коммерческого цикла.