Любое SaaS живёт на настройках. Базы, кэш, файловые хранилища — всё это надо где-то прописать, чтобы приложение знало, куда стучаться и где что лежит.

Обычно настройки распихивают по конфигурационным файлам — config, settings, .env. Там лежат ключи, пароли, адреса серверов. Для продакшна — одни, для девелопмента — другие, для теста — третьи.

Конфиги не коммитят в Git — чтобы не сливать секретные пароли и случайно не прибить рабочее окружение чужими правками. Всё, что надо — описывают через переменные окружения или константы.

Стандарт — держать три окружения:

  • prod — живой продакшн, туда никто руками не лезет.
  • dev — твой песочница для разработки.
  • test — тестовый стенд, чтобы проверить, не сломалось ли что-то перед выкатом.

Так всё и живёт: меняешь конфиг — меняется поведение. Без этого гибкости и масштабирования никакого.