Утилита tms_ctl

tms_ctl — единая утилита командной строки для установки, обновления и обслуживания платформы TVIP TMS. Она входит в состав пакета tvip-tms-standalone и устанавливается в /usr/bin/tms_ctl.

Все команды требуют запуска с правами root (sudo). На время выполнения команды создаётся файл блокировки /var/run/tms_ctl.lock — параллельный запуск двух команд приведёт к ошибке.

Узнать установленную версию:

tms_ctl --version

Справку по командам можно вывести как tms_ctl --help, так и tms_ctl help.

Список команд

Команда

Назначение

install

Полная установка платформы. Подробнее: установка.

update

Обновление установленных сервисов. Подробнее: обновление.

add-service [name]

Установка дополнительного сервиса (см. ниже).

start-all-services / stop-all-services

Запуск/остановка всех установленных сервисов TMS.

enable-services-autostart / disable-services-autostart

Включение/отключение автозапуска сервисов TMS.

backup [path]

Создание резервной копии. Подробнее: резервное копирование.

restore <path>

Восстановление из резервной копии. Подробнее: восстановление.

setup-search [--prepare-db] [doctor]

Настройка поиска (Elasticsearch). Подробнее: поиск.

enable-logging <service> / disable-logging <service>

Включение/отключение отладочного логирования сервиса (см. ниже).

enable-vod / disable-vod

Включение/отключение функциональности VOD (см. ниже).

Управление сервисами

После установки все сервисы платформы стартуют автоматически и добавлены в автозагрузку. Команды ниже нужны для типовых операций обслуживания — например, при остановке сервера на регламентные работы.

Запуск всех установленных сервисов TMS:

sudo tms_ctl start-all-services

Остановка всех установленных сервисов TMS:

sudo tms_ctl stop-all-services

Примечание

Команды находят сервисы автоматически — обнаруживаются все установленные пакеты manager-tvip-* и gateway-tvip-*, а также tms-web-player при его наличии. Сервисы запускаются в порядке, заданном в конфигурации, и останавливаются в обратном порядке.

Включение автозапуска для всех сервисов TMS:

sudo tms_ctl enable-services-autostart

Отключение автозапуска для всех сервисов TMS:

sudo tms_ctl disable-services-autostart

Установка дополнительных сервисов

В состав платформы входят сервисы, которые ставятся по требованию:

Сервис

Назначение

tms-web-player

Веб-плеер для просмотра ТВ и VOD из браузера.

Дополнительно поставляются пакеты интеграции со внешними VOD-библиотеками:

Сервис

Назначение

manager-tvip-tms-vod-viju

Интеграция с библиотекой VOD Viju.

manager-tvip-tms-vod-start

Интеграция с библиотекой VOD Start.

Установить сервис по имени:

sudo tms_ctl add-service <service-name>

Без аргумента команда показывает интерактивное меню с доступными для установки сервисами:

sudo tms_ctl add-service

После установки сервиса, требующего JWT-токенов (manager-tvip-tms-vod-viju, manager-tvip-tms-vod-start), значения access-token-secret и refresh-token-secret подставляются автоматически из конфигурации уже установленных микросервисов. Дополнительные параметры интеграции (ключи API, partner-name) задаются вручную — см. соответствующие разделы документации.

Настройка поиска

Команда setup-search настраивает сервис поиска: устанавливает Elasticsearch на текущий сервер или подключает TMS к существующему Elasticsearch на другом сервере:

sudo tms_ctl setup-search

Команда работает интерактивно: запрашивает пароль пользователя Elasticsearch, ограничение памяти (по умолчанию 2 ГБ) и максимальное количество шардов (по умолчанию 5000), после чего настраивает Elasticsearch, записывает параметры подключения в конфигурацию менеджера поиска и перезапускает сервис manager-tvip-tms-search.

Для подготовки отдельного сервера под Elasticsearch используется флаг --prepare-db:

sudo tms_ctl setup-search --prepare-db

Диагностика текущей конфигурации поиска и связи с Elasticsearch (изменений не вносит):

sudo tms_ctl setup-search doctor

Подробнее: поиск.

Отладочное логирование

Команды enable-logging и disable-logging включают и отключают отладочное (debug) логирование для указанного сервиса TMS:

sudo tms_ctl enable-logging <service-name>
sudo tms_ctl disable-logging <service-name>

Имя сервиса можно указывать не полностью — достаточно уникальной части (например, vod вместо manager-tvip-tms-vod). Изменение применяется к конфигурации сервиса и вступает в силу после его перезапуска, который команда выполняет автоматически после подтверждения.

Управление VOD

Команды enable-vod и disable-vod включают и отключают функциональность VOD в шлюзе gateway-tvip-tms-tvip-api:

sudo tms_ctl enable-vod
sudo tms_ctl disable-vod

Изменение вступает в силу после перезапуска шлюза, который команда выполняет автоматически после подтверждения.