Podman — генерировать переменные ENV с секретами из файла
Podman позволяет использовать секрет. Это позволяет передавать конфиденциальные значения, такие как учетные данные или ключи API, в контейнер во время его запуска, но исключает их из коммитов или экспорта.
До сих пор я использовал следующий формат для включения файла конфигурации с учетными данными в качестве секретного файла конфигурации в контейнер.
podman secret create my_creds /path/to/my/credfile.txt
podman run ... --secret=my_creds,mode=0400 ... container --credentials /run/secrets/my_creds
Но теперь я столкнулся с контейнером, который заставляет меня либо включать учетные данные в большой файл конфигурации (который я не хочу полностью хранить в секрете), либо через переменные среды.
У Podman есть возможность импортировать секреты в контейнер в качестве переменных среды. Однако список учетных данных, которые мне нужно импортировать, довольно велик, поэтому мне придется добавить довольно много строк, создающих секреты, в мой служебный файл.
Итак, теперь мой вопрос: есть ли способ взять файл, содержащий секреты, хранящиеся какKEY=VALUE
и импортировать каждую строку как секретную переменную env в контейнере podman?
РЕДАКТИРОВАТЬ:
В настоящее время я взломал следующее решение
ExecStartPre=-for l in $(cat /path/to/my/credfile.txt); do \
echo $l | cut -d'=' -f 2 | /usr/bin/podman secret create $(echo $l | cut -d'=' -f 1 -) -; done
ExecStopPost=-for l in $(cat /path/to/my/credfile.txt); do \
/usr/bin/podman secret rm $(echo $l | cut -d'=' -f 1 -); done
Мне все еще нужно вручную добавить все--secret=SECRET_NAME,type=env
параметры.