Модель конфигурации
Обязательные переменные среды
Общие для Django-сервисов
SECRET_KEY
DEBUG
DATABASE_URL (предпочтительно)
- fallback:
DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_PORT
Для async/очередей
REDIS_URL (order_service, order_celery, часть других сервисов)
Для внешних интеграций
PRODUCT_SERVICE_URL (order_service, telegram_bot_service)
ORDER_SERVICE_URL (telegram_bot_service)
TELEGRAM_BOT_TOKEN (telegram_bot_service)
Принципы управления конфигурацией
- Не использовать production-значения по умолчанию в коде.
- Поддерживать единый
.env.example для каждого сервиса.
- Версионировать обязательный список env и минимально допустимые значения.
Контроль качества конфигурации
- Проверка наличия обязательных env при старте.
- Явная документация default/fallback поведения.
- Разделение
dev, test, prod профилей окружения.