有没有一种方法可以避免在虚拟机管理员用户的Terraform脚本中输入密码?
我不想将密码放入脚本并将其检入存储库。
答案 0 :(得分:1)
Terraform支持将变量传递到脚本:
variable "vm_password" {
description = "Your VM password"
}
这些可以通过前缀为TF_VAR_
的环境变量(例如TF_VAR_vm_password
)传递。或者,您可以传递一个tfvars文件(当然您也不会检入),该文件可以使用-var-file
标志(例如terraform apply -var-file=myvars.tfvars
)传递给terraform。如果未指定这些参数,则执行terraform apply
将提示您手动输入变量。
请注意,机密仍已签入Terraform状态文件。因此,请确保将Terraform状态文件存储在安全的位置,或者采取其他措施对状态文件进行加密。