Configuration Reference
Все опции конфигурации relay.json
Разделы конфигурации
Пример конфигурации
json
{
"server": {
"host": "0.0.0.0",
"port": 8080,
"tls_enabled": true
},
"database": {
"url": "postgres://flowlink:secret@localhost:5432/flowlink",
"pool_size": 10
},
"websocket": {
"port": 9081,
"ping_interval": 30
},
"mcp": {
"enabled": true,
"rate_limit": {
"enabled": true,
"requests_per_minute": 1000
}
},
"shield": {
"enabled": true,
"levels": ["L1", "L2", "L3", "L4", "L5", "L6", "L7"]
},
"logging": {
"level": "info",
"format": "json"
}
}Server
Основные настройки сервера
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
host | string | 0.0.0.0 | IP адрес для привязки HTTP API | "host": "127.0.0.1" |
port | number | 8080 | Port для HTTP API | "port": 8080 |
tls_enabled | boolean | true | Включить TLS для HTTPS | "tls_enabled": true |
tls_cert | string | "/etc/flowlink/cert.pem" | Путь к TLS сертификату | "tls_cert": "/etc/flowlink/cert.pem" |
tls_key | string | "/etc/flowlink/key.pem" | Путь к TLS приватному ключу | "tls_key": "/etc/flowlink/key.pem" |
Database
Настройки подключения к базе данных
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
url | string | "postgres://user:pass@localhost:5432/flowlink" | PostgreSQL connection string | "url": "postgres://flowlink:[email protected]:5432/flowlink?sslmode=require" |
pool_size | number | 10 | Размер connection pool | "pool_size": 20 |
max_connections | number | 100 | Максимум concurrent connections | "max_connections": 200 |
connection_timeout | number | 30 | Timeout для подключения к БД (секунды) | "connection_timeout": 60 |
WebSocket
Настройки WebSocket для агентов
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
enabled | boolean | true | Включить WebSocket endpoint | "enabled": true |
port | number | 9081 | Port для WebSocket connections | "port": 9081 |
path | string | "/ws" | WebSocket endpoint path | "path": "/ws" |
ping_interval | number | 30 | Интервал ping/pong (секунды) | "ping_interval": 60 |
max_connections | number | 1000 | Максимум concurrent WebSocket connections | "max_connections": 5000 |
message_size_limit | number | 1048576 | Максимальный размер сообщения (байты) | "message_size_limit": 2097152 |
MCP
Настройки MCP сервера
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
enabled | boolean | true | Включить MCP сервер | "enabled": true |
port | number | 9082 | Port для HTTP MCP endpoint | "port": 9082 |
max_tools | number | 12 | Количество доступных MCP tools | "max_tools": 12 |
rate_limit | object | { "enabled": true, "requests_per_minute": 100 } | Rate limiting для MCP requests | "rate_limit": { "enabled": true, "requests_per_minute": 1000, "burst": 100 } |
timeout | number | 30 | Timeout для выполнения команды (секунды) | "timeout": 60 |
Shield
Настройки 7-уровневого анализатора
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
enabled | boolean | true | Включить Shield анализ | "enabled": true |
levels | array | ["L1", "L2", "L3", "L4", "L5", "L6", "L7"] | Активные уровни анализа | "levels": ["L1", "L2", "L3", "L4", "L5", "L6", "L7"] |
sensitivity | string | "medium" | Чувствительность анализа (low, medium, high) | "sensitivity": "high" |
cache_enabled | boolean | true | Кешировать результаты скана | "cache_enabled": true |
cache_ttl | number | 300 | TTL для кеша сканов (секунды) | "cache_ttl": 600 |
Auth
Настройки аутентификации и авторизации
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
jwt_secret | string | "change-me-in-production" | Secret для JWT токенов | "jwt_secret": "your-random-64-char-secret" |
jwt_expiry | number | 86400 | Время жизни JWT токена (секунды) | "jwt_expiry": 3600 |
session_ttl | number | 86400 | Время жизни сессии (секунды) | "session_ttl": 7200 |
oauth_providers | array | [] | OAuth провайдеры для входа | "oauth_providers": [{ "name": "github", "client_id": "...", "client_secret": "..." }] |
api_key_header | string | "X-API-Key" | Header name для API ключа | "api_key_header": "Authorization" |
Logging
Настройки логирования
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
level | string | "info" | Уровень логирования (debug, info, warn, error) | "level": "debug" |
format | string | "json" | Формат логов (json, text) | "format": "text" |
output | string | "stdout" | Куда писать логи (stdout, file, syslog) | "output": "file" |
file_path | string | "/var/log/flowlink/relay.log" | Путь к файлу логов (если output=file) | "file_path": "/var/log/flowlink/relay.log" |
max_size | number | 100 | Максимальный размер файла лога (MB) | "max_size": 500 |
max_backups | number | 10 | Количество rotat-ов логов | "max_backups": 30 |
Monitoring
Настройки мониторинга и метрик
| Option | Type | Default | Description | Example |
|---|---|---|---|---|
enabled | boolean | true | Включить Prometheus метрики | "enabled": true |
metrics_endpoint | string | "/metrics" | Endpoint для метрик | "metrics_endpoint": "/metrics" |
health_interval | number | 30 | Интервал health check (секунды) | "health_interval": 60 |
trace_enabled | boolean | false | Включить distributed tracing | "trace_enabled": true |