Files
tg-admin-bot/CONFIG.md

3.1 KiB
Raw Blame History

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

Проект использует 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): порог предупреждения по нагрузке.

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): сколько файлов хранить.

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 проверки

Пример:

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