сразу камнями. Пытаюсь понять best practice в вопросе хранения секретов. Без кубера, номада и прочего. Вот есть просто гитлаб, есть compose, есть приватное docker хранилище и есть CI/CD. Вот что не начнешь читать, везде пишут: .env в репе не храни, .env на проде не храни, variables в gitlab это небезопасно, не используй их. В итоге - как правильнее всего просто добавлять переменные окружения в собираемые контейнеры в CI/CD и отправлять в приватную репу если ничего нельзя?)
ну, не использовать секреты per se 🙂
Ну а как их не использовать если на прод должен прилетать контейнер с переменными окружения где все доступы и к БД и прочему?)) Да и долететь с гита на сервер целевой все это как то должно ведь? То есть как минимум залезть по ssh и дернуть docker-compose pull
не добавлять секреты в image а делать это в runtime через volume или через consul-template
зависит от ситуации, но например контейнер может пойти в хранилище, например HAshCorp Vault, аутентифицироваться, скажем, своим SerivceAccount, получить роль и ролью взять креды из волты.
то есть вместо закладывания в image переменных окружения с секретами мы пробрасываем volume Значит храним секреты на хосте?
Не хочется HashCorp
Если у вас масштаб docker-compose то на хосте. Но по хорошему в Vault
по http доставай из внешего сервиса
Ну это как я и написал про passbolt Только по https наверно все таки))
тогда уж по rcp ;)
Можно просто файл с паролями положить рядом в тот же git
Обсуждают сегодня