Конфигурация SLOzy
SLOzy использует несколько уровней конфигурации: переменные окружения для базовых настроек бекенда и фронтенда, файлы .env для различных окружений, и runtime-конфигурацию через API для кэша и оповещений.
Обзор опций
Все опции серверной части задаются через переменные окружения. Фронтенд использует переменные с префиксом VITE_. Поддерживается два способа настройки подключения к PostgreSQL: единая строка DATABASE_URL или отдельные переменные POSTGRES_*.
Разделы конфигурации
| Раздел | Описание |
|---|---|
| Сервер | Порт, хост, режим работы (development/production) |
| База данных | PostgreSQL — пул соединений, строки подключения, SSL, миграции |
| Redis | Адрес, порт, пароль, номер БД, TLS |
| JWT | Секретный ключ, время жизни access и refresh токенов |
| CORS | Разрешённые источники, включение/отключение CORS |
| Rate Limiting | Глобальный лимит запросов, лимит на IP, burst |
| Мониторинг | Prometheus метрики, health checks |
| Кэш | TTL, максимальное количество записей, сжатие |
| Оповещения | Retry-логика, дедупликация, WebSocket |
| Логирование | Уровень логов, формат (JSON/текст), вывод |
Режимы окружения
SLOzy поддерживает три режима:
- development —
DEV_MODE=true, расширенное логирование, CORS для localhost - production —
GIN_MODE=release, минимальное логирование, строгие security-заголовки - testing — используется в интеграционных тестах, изолированная БД
Файлы конфигурации
Основные файлы:
.env.production— переменные для production-сборкиfrontend/.env.production— переменные фронтендаdocker-compose.yml— полный стек (PostgreSQL, Redis, приложение)
Runtime-конфигурация
Параметры кэша и оповещений можно менять без перезапуска через API:
PUT /api/v1/cache/config— обновление TTL, лимитов, сжатия- Настройки оповещений и каналов через
POST /api/v1/notifications/rules
Эти изменения хранятся в Redis и применяются мгновенно.