3.2 KiB
3.2 KiB
Конфигурация
Проект использует 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): сколько файлов хранить.
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): фильтр labelkey=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