Лицензирование
Vision работает только по лицензии Cesbo. Свежая установка заблокирована, пока администратор её не активирует. Лицензия не привязана к IP-адресу, имени хоста, идентификатору машины или оборудованию: один серийный номер покрывает одно активированное устройство.
Как получить лицензию
Заголовок раздела «Как получить лицензию»Для Vision нужны лицензия Cesbo и сервер Cesbo Alta, которым он управляет. Лицензиями управляют в вашем профиле Cesbo на app.cesbo.com участники компании-владельца лицензии. Чтобы применить лицензию, откройте в Vision Settings → License → Activate и выберите её на странице Cesbo (см. Активация).
Что покрывает одна лицензия
Заголовок раздела «Что покрывает одна лицензия»- Один серийный номер покрывает одно активированное устройство: один хост Vision. Он не привязан к IP-адресу, имени хоста, идентификатору машины или оборудованию.
- Участники компании-владельца лицензии активируют, заменяют и удаляют устройства в профиле Cesbo.
- Перенос Vision на новое оборудование означает активацию нового хоста и замену старого устройства на странице Cesbo. См. Удаление или замена устройства.
- Не копируйте один
license.txtна второй хост: оба займут один и тот же слот устройства.
Что значит «заблокирован»
Заголовок раздела «Что значит «заблокирован»»Пока лицензия этого не разрешает:
- каждый вызов API отвечает
403 LICENSE_REQUIRED, кроме входа и конечных точек лицензии; - пользователи, которым разрешено читать параметры, перенаправляются на Settings → License; все остальные видят страницу License required;
- веб-интерфейс,
/healthz,/readyzи/metricsостаются доступными, а фоновые worker продолжают работать; - открытые сеансы видео работают до истечения своих токенов.
Vision разблокируется сам после следующей успешной проверки.
30-минутная отсрочка после запуска (см. Автономная работа) покрывает только недоступный сервер лицензий — но не отсутствие лицензии.
Активация
Заголовок раздела «Активация»Активировать может только пользователь, которому разрешено изменять параметры.
- Откройте Settings → License и нажмите Activate.
- Откройте ссылку и войдите в свой профиль Cesbo как участник компании, которой принадлежит лицензия.
- Убедитесь, что имя хоста на странице — это имя данного устройства, затем выберите лицензию. Если у лицензии нет свободного слота, выберите устройство для замены. Оно удаляется только тогда, когда данное устройство получит лицензию, и перестаёт работать при своей следующей проверке после этого.
- Vision получает лицензию самостоятельно, записывает
license.txtи сразу же её проверяет.
Ссылка истекает через 10 минут. Неудавшуюся или истёкшую активацию можно начать заново кнопкой Start again или убрать кнопкой Dismiss; Cancel отбрасывает ожидающую активацию. Отменённая, неудавшаяся или истёкшая активация не удаляет ни одного устройства, даже если устройство для замены уже было выбрано на странице Cesbo.
Ручной способ: поместите license.txt на место
Заголовок раздела «Ручной способ: поместите license.txt на место»Когда активация не может связаться с app.cesbo.com или файл присылает поддержка, скачайте license.txt для устройства из своего профиля Cesbo и запишите его в существующий файл, сохранив владельца и режим (vision:vision, 0600):
sudo tee /etc/vision/license.txt < license.txt >/dev/nullsudo ls -l /etc/vision/license.txt # -rw------- vision visionЗатем нажмите Settings → License → Re-check now.
tee сохраняет файл, в который сервис может писать. Не заменяйте его через mv или cp от root — файл, принадлежащий root, блокирует следующую активацию (vision doctor называет исправление: sudo chown vision:vision /etc/vision/license.txt).
Удаление или замена устройства
Заголовок раздела «Удаление или замена устройства»Любой участник компании-владельца может:
- удалить устройство: в профиле Cesbo откройте лицензию и используйте Manage device;
- заменить устройство: активируйте новый хост из его Settings → License и выберите старое устройство на странице Cesbo. Старое устройство удаляется, когда новое получает лицензию.
Удалённое устройство после своей следующей проверки показывает License not found or revoked и блокируется. У Vision нет собственной кнопки удаления. Активация хоста, у которого уже есть лицензия, заменяет его локальный серийный номер; предыдущая активация остаётся действующей в вашем профиле Cesbo, пока вы не удалите её там.
Файл лицензии
Заголовок раздела «Файл лицензии»Серийный номер хранится в /etc/vision/license.txt, рядом с config.yaml, владелец vision, режим 0600. vision install создаёт его пустым ({}) и никогда не перезаписывает; unit сервиса позволяет сервису записывать только этот файл, тогда как остальное содержимое /etc/vision остаётся доступным только для чтения. Активация переписывает l и сохраняет все остальные ключи:
{ "l": "<serial>", "s": "https://ls.example/"}l— серийный номер, 40 шестнадцатеричных символов в нижнем регистре. Это секрет: Vision показывает и пишет в журнал только его первые 14 символов, публичный ID.sнеобязателен: единственный сервер лицензий, который заменяет серверы Cesbo (тестовые стенды, обращения в поддержку). Значениеs, которое пусто или не является строкой, игнорируется.
vision backup переносит файл вместе с секретами.
Проверки
Заголовок раздела «Проверки»Каждая проверка опрашивает серверы лицензий (ls1–ls3.cesbo.com) в случайном порядке, пока один из них не выдаст лицензию. Отказ или ответ, не прошедший проверку, учитывается, только когда ни один сервер её не выдал.
- После выдачи Vision проверяет снова через 24 часа или в дату истечения лицензии, если она раньше, так что продление подхватывается сразу.
- После отказа (истекла, удалена или заменена) или ответа, не прошедшего проверку, он проверяет каждый час.
- Re-check now проверяет немедленно (не чаще одного раза в 10 секунд).
Серверы лицензий отклоняют запрос, время которого отличается от их времени более чем на 5 минут. Тогда страница License показывает код 40003. Включите NTP на хосте (timedatectl set-ntp true), затем нажмите Re-check now.
| Код | Значение |
|---|---|
40000 | Лицензия не найдена, отозвана, либо это устройство удалено или заменено — активируйте снова |
40002 | Срок действия лицензии истёк — продлите её в своём профиле Cesbo |
40003 | Часы хоста расходятся более чем на 5 минут — включите NTP |
40004 | Сервер лицензий не смог прочитать запрос — повтор каждую минуту; если не проходит, обратитесь в поддержку Cesbo |
40006 | Сервер лицензий сейчас не может ответить — повтор каждую минуту |
40100 | Нет файла лицензии или в нём нет серийного номера — активируйте |
40110 | s в license.txt не является пригодным URL — исправьте или удалите его |
40111 | Не удаётся подключиться к серверам лицензий (сеть, TLS, прокси, тайм-аут) |
40112 | Ответ пришёл не от сервера лицензий (прокси, captive portal или неверный s) — повтор каждую минуту |
40120–40135 | Ответ сервера лицензий не прошёл проверку — повтор каждую минуту; проверьте часы хоста и любой прокси, подменяющий HTTPS |
40140 | Ответ сервера лицензий не прошёл проверку подписи — заблокирован; проверьте, нет ли прокси, подменяющего HTTPS |
Когда лицензия истекает
Заголовок раздела «Когда лицензия истекает»Когда лицензия истекла либо её устройство удалено или заменено, серверы лицензий отклоняют проверку (40002 — истекла, 40000 — удалена или заменена), и Vision блокируется, как описано в разделе Что значит «заблокирован». После этого он проверяет лицензию каждый час, поэтому разблокируется сам, как только лицензия продлена в профиле Cesbo; Re-check now делает это сразу. В последние 7 дней до окончания баннер над каждой страницей предупреждает пользователей, которые могут читать настройки.
Автономная работа
Заголовок раздела «Автономная работа»Vision повторяет попытку каждую минуту, когда серверы лицензий недоступны.
- В течение 30 минут после запуска он продолжает работать без какого-либо ответа.
- После успешной проверки он продолжает работать до 30 дней без неё. В течение последних 7 дней страница License и баннер над каждой страницей показывают, до какого момента.
- 30-дневное окно хранится только в памяти: перезапуск сервиса начинает всё заново с 30-минутной отсрочки.
Vision нужен исходящий HTTPS (443) к:
ls1.cesbo.com,ls2.cesbo.com,ls3.cesbo.com— проверки (хотя бы к одному);app.cesbo.com— только активация.
За прокси задайте HTTPS_PROXY в /etc/vision/vision.env и выполните sudo vision restart. Прокси не должен перехватывать TLS: подменённый ответ не проходит проверку.
Ваши данные
Заголовок раздела «Ваши данные»- Записи остаются на ваших серверах Alta. Собственную базу данных и данные приложения Vision хранит на своём хосте, в
/var/lib/vision/. - Для лицензирования нужен исходящий HTTPS только к хостам из раздела Сеть.
- При активации страница Cesbo показывает имя хоста активируемого устройства.
Проверка из командной строки
Заголовок раздела «Проверка из командной строки»vision statusпоказывает публичный ID файла лицензии или not activated. Текущее состояние и срок действия — в Settings → License.vision doctorпроверяет файл (существует, владелецvision, режим0600, разрешён сервису unit) и отвечают ли серверы лицензий иapp.cesbo.com. Недоступный сервер — это предупреждение, а не сбой.journalctl -u visionи Журналы (компонентlicense) записывают каждое изменение состояния.