# Конфигурация Проект использует `config.yaml`. Начни с `config.example.yaml`. ## telegram - `token` (string, обяз.): токен бота. - `admin_id` (int, обяз.): Telegram user id администратора. ## paths - `artifact_state` (string): JSON файл состояния артефактов. - `restic_env` (string): путь к файлу с RESTIC_* переменными. ## thresholds - `disk_warn` (int, %): порог предупреждения по диску. - `load_warn` (float): порог предупреждения по нагрузке. - `high_load_warn` (float): порог для критической нагрузки. ## alerts - `enabled` (bool): включить алерты. - `interval_sec` (int): интервал опроса. - `cooldown_sec` (int): кулдаун между алертами. - `notify_recovery` (bool): уведомлять о восстановлении. - `smart_enabled` (bool): SMART проверки. - `smart_interval_sec` (int): интервал SMART. - `smart_cooldown_sec` (int): кулдаун SMART. - `smart_temp_warn` (int): порог температуры (C). ## audit - `enabled` (bool): включить аудит. - `path` (string): путь к лог-файлу. По умолчанию `/var/server-bot/audit.log`. - `rotate_when` (string): режим ротации (`TimedRotatingFileHandler`), например `W0`. - `backup_count` (int): сколько файлов хранить. ## incidents - `enabled` (bool): включить лог инцидентов. - `path` (string): путь к лог-файлу. По умолчанию `/var/server-bot/incidents.log`. - `rotate_when` (string): режим ротации (`TimedRotatingFileHandler`), например `W0`. - `backup_count` (int): сколько файлов хранить. ## arcane - `base_url` (string): base url API Arcane. - `api_key` (string): ключ API Arcane. - `env_id` (int): ID окружения Arcane. ## npmplus Используется для статуса SSL сертификатов. - `base_url` (string): base url API, например `https://10.10.10.10:81/api`. - `identity` (string): email логин. - `secret` (string): пароль. - `token` (string): опционально статический токен (не рекомендуется при истечении). - `verify_tls` (bool): `false` для self-signed TLS. Логика токена: - первый токен: `POST /api/tokens` с `identity` и `secret`. - refresh: `GET /api/tokens` с текущим токеном. ## security - `reboot_password` (string): пароль для подтверждения reboot. ## docker - `autodiscovery` (bool): автодискавери по имени/label. - `watchdog` (bool): уведомления о контейнерах. - `label` (string): фильтр label `key=value`. - `match` (list): подстроки для поиска контейнеров. - `aliases` (map): alias -> реальное имя. - `containers` (map): явный список (legacy). Можно задавать: - `name` (string) - `url` (string) для URLs проверки Пример: ```yaml telegram: token: "YOUR_TELEGRAM_BOT_TOKEN" admin_id: 123456789 paths: artifact_state: "/opt/tg-bot/state.json" restic_env: "/etc/restic/restic.env" audit: enabled: true path: "/var/server-bot/audit.log" rotate_when: "W0" backup_count: 8 npmplus: base_url: "https://10.10.10.10:81/api" identity: "your@email.com" secret: "yourPassword" verify_tls: false ```