K8s & Docker - идеальный дизайн изображения для чувствительных параметров на GCP

Я работаю над образом Docker, который связывает Apache с PHP7 и использует msmtp для интеграции с Sendgrid. Причина, по которой мне нравится msmtp, заключается в том, что нет отдельного запущенного процесса, поэтому он прекрасно упаковывается без необходимости в контейнере SMTP.

Тем не менее, конфигурация для MSMTP выглядит следующим образом

account sendgrid
host smtp.sendgrid.net
port 587
auth on
user apikey
password YOUR_API_KEY
from FROM@YOURDOMAIN.TLD

В идеале, файл будет все со значениями для YOUR_API_KEY а также FROM@YOURDOMAIN.TLD каким-то образом передается в контейнер во время выполнения.

Сейчас я рассматриваю варианты написания моего Dockerfile... Учитывая, что я намерен запустить контейнер в модуле на Kubenetes на Google Cloud Platform, это может повлиять на это решение.

Я узнал о таких вещах, как время сборки args (ARG), переменные среды (ENV) и тому подобное, в этой замечательной статье.

Похоже, что сборка args будет плохим выбором из-за предупреждений док-станций

Предупреждение: не рекомендуется использовать переменные времени сборки для передачи секретов, таких как ключи github, учетные данные пользователя и т. Д. Значения переменных времени сборки видны любому пользователю образа с помощью команды истории докера.

Учитывая все это, каков наилучший подход к созданию образа, который позволит передавать учетные данные во время выполнения? Мне также все еще нужно найти способ передать эти аргументы в файл при запуске контейнера... Или я должен все это забыть и просто COPY Конфигурация msmtp полностью для каждого клиента? Это звучит немного пагубно!

0 ответов

Другие вопросы по тегам