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

Heimdall (Beta)

Heimdall — это бот помощник в Time для chat-ops, который является опциональным компонентом Time.

Инструкция по установке Heimdall

warning

Инструкции по установке необходимо применять только после того, как Time будет успешно установлен и настроен.

В инструкции описаны два способа установки: через docker-compose и k8s. Предпочтительным способом является k8s. В обоих случаях необходимо иметь уже готовый к использованию Time и созданного бота вместе с OAuth 2.0 Application.

Более конкретные инструкции описаны в соответствующих разделах.

Инфраструктурные компоненты

  • Postgresql 15-17. Для экономии ресурсов допускается использовать общий инстанс с Time. Минимальные требования для работы: 1 инстанс, 0.5 CPU, 512 MB RAM, HDD 20 GB.
  • Grafana 11. Минимальные требования: 1 CPU, 512 MB RAM. Дашборды для импорта можно найти в папке grafana.

Выделение ресурсов

Таблица снизу содержит примерные значения потребления ресурсов в зависимости от количества каналов, в которых работает Heimdall.

Количество конфиговCPURAM
500-6000.150 MB
1000-15000.2-0.380-100 MB
2000+0.5+200 MB

Подготовка к использованию

Создание бота происходит в интерфейсе Time (Квадрат в верхнем левом углы -> Integrations -> Bot Accounts -> Add Bot Account). Полученный при создании токен бота небходимо сохранить.

Для работы бота необходимо так же создать OAuth приложение в Time (Квадрат в верхнем левом углы -> Integrations -> OAuth 2.0 Applications -> Add OAuth 2.0 Application). При создании обязательно указать Callback URLs - он должен быть в формате https://your-heimdall-domain.ru/api/v1/callback. Полученные cliend_id и client_secret необходимо сохранить.

Переменные окружения

Примеры переменных окружения для docker расположены в ./docker/example.env, для k8s - ./k8s/cfg/example.envs.

  • HEIMDALL_API_URL - адрес, по которому будет доступ API Heimdall.
  • TIME_API_URL - адрес, по каторому находится API Time.
  • TIME_WS_URL - адрес для подключения к Time по ws.
  • HEIMDALL_SERVER_BASE_URL - адрес самой Time инсталляции.
  • BOT_TOKEN - токен бота, можно получить при создании бота в Time
  • DB_PASSWORD, DB_USER, DB_URI, DB_NAME - параметры подключения к БД. В качестве бд можно использовать тот же инстанс, что и использует Time
  • LOCK_SERVICE_ENABLED - ставим true, если используем больше двух инстансов бота, иначе - false
  • OPENTELEMETRY_COLLECTOR_URL - адрес коллектора для трассировки. Если не используется ставим DISABLE_TRACE=true для отключения сбора трейсов
  • TIME_CLIENT_ID, TIME_CLIENT_SECRET - данные для OAuth авторизации в Time, можно получить при создании OAuth приложения в Time.
  • AES_KEY, AES_IV - ключ и вектор инициализации для шифрования данных в БД.
  • HEIMDALL_IMAGE - необходимый образ Heimdall с учетом docker registry (необходимо только для docker инсталляции).

Остальные переменные окружения можно не менять.