Пароль от базы в docker-compose.yml в репозитории
В репозитории лежит файл, который используется и для локального запуска, и как основа для стенда:
services:
api:
image: registry.example.com/api:latest
environment:
DATABASE_URL: postgres://app:S3cretProd!@db.prod.internal:5432/app
JWT_SECRET: prod-jwt-secret-2024
Что здесь неправильно?
- Ничего критичного: репозиторий приватный, доступ есть только у команды, а на проде значения всё равно переопределяются
- Проблема только в формате: секреты нужно перенести в блок `build.args`, тогда они уйдут из описания сервиса в сборку
- Продовые секреты лежат в git: они остаются в истории, попадают в форки и на CI; их место — в хранилище секретов
- Нужно зашифровать значения средствами Docker Compose: файл поддерживает шифрование полей `environment` по ключу
