Этап
Не будет выполнена
Тип
Исследование
Приоритет
Обычный
Трудоемкость
Обычная
Создана
Дата создания
3 года назад
Назначена
Обновлена
2 года назад

Впрочем весьма вероятно он будет работать и с docker-swarm или consul. Это надо изучить, наша цель на своем продовом инстансе использовать чуствительные данные безопасно, но так, чтобы основная репа проекта все еще была отвязана от особенностей прода, и если кому-то вздумается его скачать и развернуть у себя, у него был бы выбор в степени безопасности установки.

Из задачи выделен tndt-104 разделение конфигов, здесь мы добавим к директориям

  • src/<env>/secrets

Или не будем, если заработают секреты docker, и собственная система секретов симфони окажется малоосмысленна

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius 2 года назад

Обновим докер, положим секреты туда. Кому не нужно не будут их использщовать вовсе. А эта задача не нужна

 demius 2 года назад

https://docs.docker.com/compose/compose-file/08-configs/

 demius 2 года назад

И так, на первый взгляд в базовый докер принесли таки секреты, и можно использовать их

 demius 2 года назад

Кажется, в новом докере секреты есть и без swarm. Только на hsrv у нас докер старый, увы. А вед выходных обновить его там у нас не будет

 demius 2 года назад

Структуру конфигов уже исправили, не выводя отдельные директории doctrine, log оставив их конфигами в packages. И большой вопрос а надо ли сие, заменять ENV с кредами на env с ключом для файла с кредами, который тоже должен подставляться из деплоя

 demius 3 года назад

Кривовато вставился, а менять не выйдет. Не факт, что хорошо переделывать структуру в этой же задаче. Многие специфичные для окружения вещи, на самом деле от него не зависят. Например mysql подменять мы не хотим (хотя может и хотим). В общем надо подумать.

 demius 3 года назад

Все сходится на том, что секреты лежат в app/config/secrets/prod/

У нас получаются много папочек prod, которые хорошо бы забирать в контейнер из репозитория продовых сервисов. Поэтому прежде чем вводить секреты конфиги хорошо бы реструктуризировать в структуру, где окружение первично.

  • config
    • common - все общие файлы
    • prod - все специфичное для prod
      • packages
        • log
        • doctrine
        • cache
      • services
        • application.yml
        • presentation.yml
      • secrets
    • test
      • packages
        • log
        • doctrine
        • cache
      • services
        • application.yml
        • presentation.yml
      • secrets
    • dev
      • packages
        • log
        • doctrine
        • cache
      • services
        • application.yml
        • presentation.yml
      • secrets
 demius 3 года назад

https://habr.com/ru/companies/otus/articles/510764/ русскоязычная статья про секреты симфони. https://symfony.ru/doc/current/configuration/secrets.html - другая, вероятно более свежая

 demius 3 года назад

Да, в репе деплоя и настройки продового инстанса лежит свой собственный env, работает ли он или мы просто переопределяем переменные через docker-compsoe?

 demius 3 года назад

.env у нас лежит в репе tndt, но судя по содержимому переопределяется на реальном проде.

У него есть механизм переопределения симфони .env.dev, .env.prod но это для симфони, докер с этим работать не умеет. Он, похоже переопределяет его через environments стека.

 demius 3 года назад

Есть некое подозрение, что symfony secrets уже умеет это из коробки. .env не лежит в репе, мы его подкладываем, вместо него на нашей установке мы инициируем и настраиваем secrets