Формат agent.yaml
agent.yaml — конфигурационный файл Flaree Agent. Путь по умолчанию — /etc/flaree-agent/agent.yaml, переопределяется переменной FLAREE_AGENT_CONFIG. Здесь перечислены все ключи, которые агент действительно читает, их типы и значения по умолчанию.
Приоритет источников
Конфигурация применяется послойно, от слабого источника к сильному:
env-переменные > CLI-аргументы > agent.yaml > defaults
Значение из env перетирает CLI, CLI перетирает файл, файл перетирает встроенные значения по умолчанию.
Ключи
Файл разбирается упрощённым парсером: поддерживаются только плоские скаляры и три секции — secrets:, connections: и otlp:. Любые другие ключи молча игнорируются.
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
server | url | https://api.flaree.ru | URL Flaree API, абсолютный http(s) |
token | string | — (обязателен) | agent token из дашборда, показывается один раз |
name | string | hostname | человекочитаемое имя агента в дашборде |
buffer_path | path | /var/lib/flaree-agent | рабочий каталог: state.json и SQLite-буфер |
persistent_buffer | boolean | false | true — SQLite-буфер, переживает рестарт; false — кольцевой буфер в памяти |
max_concurrent_checks | number | 50 | параллельные проверки, от 1 до 1024 |
http_timeout_sec | number | 15 | таймаут HTTP-транспорта в секундах, от 1 до 120 |
metrics_endpoint | string | 127.0.0.1:9090 | endpoint Prometheus-метрик; пустая строка выключает экспорт |
heartbeat_endpoint | string | 127.0.0.1:9091 | локальный приёмник heartbeat; пусто — выключен |
cert_pin_sha256 | string | — | SHA-256 SPKI серверного сертификата в hex для cert-pinning |
secrets | map | {} | подстановки {{secret:name}} в заголовках и конфигах проверок; на сервер не отправляются |
connections | map | {} | именованные строки подключения для DB-проверок; job ссылается через connectionRef; хранятся только локально |
otlp.enabled | boolean | false | включить OTLP receiver для колокейтед-приложений |
otlp.host | string | 127.0.0.1 | bind-адрес receiver; только loopback, иначе агент не стартует |
otlp.port | number | 4318 | порт OTLP receiver |
otlp.max_request_bytes | number | 4194304 | лимит тела OTLP-запроса в байтах |
Чего в agent.yaml нет: формат логов (FLAREE_AGENT_LOG_FORMAT), автообновление (FLAREE_AGENT_AUTO_UPDATE, FLAREE_AGENT_UPDATE_CHANNEL, FLAREE_AGENT_UPDATE_MANIFEST_URL) и экспорт телеметрии агента (FLAREE_AGENT_OTEL_ENDPOINT) задаются только через переменные окружения. Секций workspace, log_level, tls, proxy, update, spool не существует. Сами проверки настраиваются в дашборде и приходят агенту через GET /api/agent/config.
Минимальный пример
server: "https://api.flaree.ru"
token: "<токен из дашборда>"
Полный пример
server: "https://api.flaree.ru"
token: "<токен из дашборда>"
name: "prod-web-01"
buffer_path: "/var/lib/flaree-agent"
persistent_buffer: true
max_concurrent_checks: 50
http_timeout_sec: 15
metrics_endpoint: "127.0.0.1:9090"
heartbeat_endpoint: "127.0.0.1:9091"
cert_pin_sha256: "<hex SHA-256 SPKI>"
# Подстановки {{secret:name}} в проверках; локально, на сервер не уходят
secrets:
api_header: "Bearer <значение>"
# Строки подключения для DB-проверок; job ссылается по connectionRef
connections:
main_pg: "Host=db;Username=ro;Password=<из secret manager>"
# OTLP receiver для приложений на этом же хосте
otlp:
enabled: true
host: "127.0.0.1"
port: 4318
max_request_bytes: 4194304
CLI-аргументы
CLI перетирает файл, но проигрывает env:
| Флаг | Назначение |
|---|---|
--server <url> | URL Flaree API |
--token <token> | agent token |
--name <name> | имя агента |
--persistent-buffer | включить SQLite-буфер |
--buffer-path <dir> | рабочий каталог |
--metrics <host:port> | endpoint Prometheus-метрик |
--no-metrics | выключить экспорт метрик |
--cert-pin <hex> | SHA-256 SPKI для cert-pinning |
--version | вывести версию и выйти |
--support-bundle <out.zip> | собрать диагностический архив |