Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
Типы отчётов
Тип отчёта «Акты»
Тип отчёта «Баланс отсутствий»
Тип отчёта «Бронирование»
Тип отчёта «Биллинг»
Тип отчёта «Версии проектов»
Тип отчёта «Задачи»
Тип отчёта «Затраты»
Тип отчёта «Заявки на затраты»
Тип отчёта «Заявки на отсутствия»
Тип отчёта «История ставок пользователей»
Тип отчёта «Запросы ресурсов»
Тип отчёта «Навыки пользователей»
Тип отчёта «Пользователи»
Тип отчёта «Проводки»
Тип отчёта «Ресурсный план»
Тип отчёта «Ресурсный план (по версиям)»
Тип отчёта «Проекты»
Тип отчёта «Сертификаты пользователей»
Тип отчёта «Счета»
Тип отчёта «Счета (строки)»
Тип отчёта «Таймшиты»
Тип отчёта «Таймшиты детально»
Тип отчёта «Финансы»
Тип отчёта «Структура работ»
Тип отчёта «Центры затрат проектов»
Тип отчёта «Задания воркфлоу»
Тип отчета Клиенты
Тип отчета «Контакты»
Тип отчёта «Сделки»
Тип отчёта «История состояний сделок»
Тип отчёта «Взаимодействия»
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
FAQ
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
Язык шаблонов
On-premises
API
История изменений
Термины и определения

Timetta CLI

Обновлено: 23.06.2026

Timetta.Presentation.Cli — служебная консольная утилита для первоначальной настройки, обновления и диагностики on-premises-инсталляции Timetta.

Основной сценарий использования — запуск в Docker Compose или в виде Kubernetes Job перед запуском сервисов Timetta.

Конфигурация

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

Для работы CLI необходимы:

  • строка подключения TimettaDB;
  • строка подключения SchedulerDB;
  • строка подключения к Redis, если Redis используется;
  • LicenseKey;
  • конфигурация Tenant.

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

Пароли и лицензионный ключ не выводятся в диагностические сообщения.

Запуск

Общий формат:

tmt <command>

В Docker-образе уже настроен entrypoint, поэтому контейнеру передаётся только команда:

docker compose run --rm admin-cli <command>

Команды

init

Инициализирует новую пустую базу данных.

Последовательно выполняет:

  1. Проверку, что схема public пуста.
  2. Создание начальной структуры базы.
  3. Применение всех миграций.
  4. Заполнение системных данных.
  5. Развёртывание стандартных данных Timetta.
tmt init

Если база уже содержит таблицы, команда завершается с ошибкой. Для обновления существующей базы следует использовать migrate.

migrate

Применяет ожидающие миграции к существующей базе данных.

tmt migrate

Команда:

  • не очищает базу;
  • не выполняет повторную инициализацию;
  • не разворачивает стандартные данные;
  • успешно завершается, если новых миграций нет.

Для пустой базы необходимо использовать init.

status

Проверяет конфигурацию и доступность инфраструктуры.

tmt status

Команда выводит:

  • версию CLI;
  • основной домен и язык tenant;
  • адрес PostgreSQL без пароля;
  • доступность и версию PostgreSQL;
  • имя базы и пользователя;
  • состояние базы;
  • последнюю применённую миграцию;
  • количество применённых и ожидающих миграций;
  • доступность Redis, если он настроен;
  • итоговый статус Healthy или Unhealthy.

При ошибке подключения выводятся тип исключения, сообщение и цепочка внутренних причин.

Если обязательная инфраструктура недоступна, команда возвращает код 1.

version

Выводит версию CLI:

tmt version

Перед выполнением также проверяется лицензия.

reset --force

Полностью удаляет схему public, создаёт её заново и выполняет полную инициализацию:

tmt reset --force

Команда выполняет:

  1. Удаление всех объектов схемы public.
  2. Повторное создание схемы.
  3. Создание начальной структуры базы.
  4. Применение миграций.
  5. Заполнение системных данных.
  6. Развёртывание стандартных данных.

Внимание

Команда безвозвратно удаляет данные. Аргумент --force защищает от случайного запуска.

Команду не следует включать в автоматический production-процесс.

Коды завершения

  • 0 — команда успешно выполнена;
  • 1 — ошибка выполнения, лицензии или инфраструктуры;
  • 2 — неизвестная команда или некорректные аргументы.

Docker Compose

CLI следует подключать к той же общей конфигурации и секретам, что и остальные сервисы Timetta.

  admin-cli:
    container_name: admin-cli
    image: cr.yandex/crpr8bvek949tq2fuqkf/admin-cli:${BACKEND_IMAGE_TAG}
    <<: *app-config
    configs:
      - source: app_settings
        target: /app/secrets/settings.json

Для первоначальной установки:

command: ["init"]

Для диагностики:

command: ["status"]

Для миграции данных:

command: ["migrate"]

Запуск:

docker compose run --rm admin-cli <command>

Kubernetes Job

Пример Job для применения миграций:

apiVersion: batch/v1
kind: Job
metadata:
  name: timetta-migrate
spec:
  backoffLimit: 2
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: migrate
          image: registry.example.com/timetta/admin-cli:1.0.0
          args: ["migrate"]
          envFrom:
            - configMapRef:
                name: timetta-config
            - secretRef:
                name: timetta-secrets

Образ содержит entrypoint dotnet tmt.dll, поэтому команда CLI передаётся через args.

Для первоначальной установки используется:

args: ["init"]

CLI должен получать ту же конфигурацию и те же secrets, что и остальные сервисы Timetta.

Рекомендуемый процесс развёртывания

Новая установка:

Создать инфраструктуру → init → запустить сервисы Timetta

Обновление:

Создать резервную копию → migrate → запустить новую версию сервисов

init предназначен только для пустой базы. Для всех последующих обновлений используется migrate.

Содержание

Конфигурация Запуск Команды init migrate status version reset --force Коды завершения Docker Compose Kubernetes Job Рекомендуемый процесс развёртывания
Ничего не найдено

Перейти на русскую версию?