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параметры.

0 ответов

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