Heimdall (Beta)
Heimdall — это бот помощник в Time для chat-ops, который является опциональным компонентом Time.
Инструкция по установке Heimdall
Инструкции по установке необходимо применять только после того, как 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.
| Количество конфигов | CPU | RAM |
|---|---|---|
| 500-600 | 0.1 | 50 MB |
| 1000-1500 | 0.2-0.3 | 80-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 инсталляции).
Остальные переменные окружения можно не менять.