Обработка учетных данных поставщика Openstack в Terraform без хранилища

Есть ли какая-либо опция для обработки учетных данных провайдера Openstack в Terraform, аналогичная той, которая существует в провайдере AWS, например, переменные среды.

Мой случай использования:

Как часть POC, я буду ссылаться на terraform apply команда из моего приложения на Python, в которой я планирую определить учетные данные Openstack как переменные среды и сбросить их после завершения выполнения. Этим я могу избежать хранения учетных данных в файлах, а также сложности хранилища / консула.

Пожалуйста, уточните, спасибо.

2 ответа

Решение

Есть несколько способов решения этой проблемы. Я бы порекомендовал сделать это из Убежища. Но если вы действительно не хотите этого делать, вы можете использовать входные переменные Terraform и использовать там переменные окружения.

Как это: terraform apply -var "osuser=${ENV_VAR}"

Или специально для провайдера OpenStack в Terraform вы можете использовать переменные среды, которые описаны здесь: https://www.terraform.io/docs/providers/openstack/

Из документации:

auth_url - (Необязательно; требуется, если облако не указано) URL-адрес аутентификации личности. Если опущен, используется переменная окружения OS_AUTH_URL.

Эти переменные среды обычно также предоставляются в графическом интерфейсе openstack.

Вы также можете предложить пользователю эти вещи, как я упоминал в https://github.com/hashicorp/terraform/issues/13022#issuecomment-819658436:

      # You can set other TF variables in here as well.
echo "Please enter the outgoing e-mail account's password: "
read -sr TF_VAR_smtp_password_unquoted
export TF_VAR_smtp_password="\"$TF_VAR_smtp_password_unquoted\""
Другие вопросы по тегам