Вступить в клуб →
лёгкаявопросОчереди, надёжность и эксплуатация

Пароль от базы в 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` по ключу

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела