в какую сторону копать.
На текущий момент креды для БД у нас хранятся в .env файле.
При "поднятии" сервиса, в docker-compose.yml указываем параметр env_file, через который и передаем креды.
Решили исключить хранение конфиденциальной информации в файликах, смотрели в сторону docker secrets, но они не позволяют изменять секрет без остановки сервиса, и нет гибкого ACL для редактирования кред (например у разраба должна быть возможность изменить только определенный параметр, а не апдейнуть пароль от БД)
Теперь смотрю в сторону Vault.
Как docker при запуске контейнера считывает секреты из vault?
Пока что вижу решение с переменными Gitlab CI, c JSON Web Token (JWT)
Условно, хочется просто в docker-compose.yml передать расположение секрета в Vault, как это делается сейчас с помощью env_file
Понял, спасибо ещё раз
В идеале приложуха сама идёт в волт и читает все разрешенные секреты В противном случае, нужно коствлить подобие "инжектора". Но как проще сделать в компосте - вопрос
передать секрет к волту тоже как-то нужно )
Ребята, хотел уточнить у вас ещё насчет Vault Agent. Его использование подразумевает установку агента только на тот хост, где будет меняться секрет? Вот нагуглил кусок конфига: template { source = "/etc/vault/templates/template.ctmpl" destination = "/etc/vault/templates/render.txt" } Могу ли я, поднять контейнер с Vault Agent, и в качестве destination указать другой контейнер, предварительно объединив их в одну сеть? Или же этот подход работает только как sidecar-контейнер внутри одного пода Kubernetes (который мы не используем)?
Обсуждают сегодня