Я хотел опубликовать это как запрос функции, но я хотел узнать, нашел ли кто-нибудь еще какой-нибудь умный способ сделать это, прежде чем я отправлю сообщениеИли, может быть, кто-то из Hashicorp может сказать мне, что это будет функция в ближайшем
Я искал высокий и низкий уровень для маскировки переменных с консоли при запуске terraform apply/show
.Желательно пытаться маскировать переменные, используя local-exec , при передаче переменных в сценарий.
Инструмент под названием Terrahelp - единственное, что я могу найти, которое сделает это, но оно будет применяться только к переменным в файле tfvars
, который неразрешить интерполяции.Это не помогает, поскольку мы пытаемся использовать Vault для защиты секретов от файлов терраформ.
Current Versions
Terraform v0.11.7
provider.null v1.0.0
provider.template v1.0.0
provider.vault v1.3.1
provider.vsphere v1.8.1
Вариант использования
provisioner "local-exec" {
command = "&'${path.module}\\scripts\\script.ps1' -name ${var.node_name} -pass '${var.pass}' -user ${var.user} -server ${var.server}"
interpreter = ["Powershell", "-Command"]
}
Попытки решения Я использую Vault, чтобы хранить секреты в файлах Terraform, поэтому я использую провайдера хранилища и вызываю данные из него.Я попытался создать модуль и вывести секреты со значением sensitive = true
, а затем вызывать этот модуль для использования секретов, однако это все еще отображается в консоли.
Предложение
Разрешить какое-то чувствительное значение, похожее на вывод переменных в Terraform.Поэтому, если в консоли вызываются скрипты, подобные приведенным выше, они не будут показывать конфиденциальную информацию о переменных.
Рекомендации https://github.com/hashicorp/terraform/issues/16114 https://github.com/hashicorp/terraform/issues/16643