我正在使用terraform在私有openstack云中配置服务器。运行terraform要求terraform脚本可以访问我的openstack云的用户名和密码。所以我想将这些信息存储在一个秘密文件中并对其进行加密(类似于ansible vault的内容)。但是,我发现使用带有terraform的hashicorp保险库的唯一例子是AWS。 那么我如何创建一个可以读取包含两个变量的库值的terraform脚本来使用它们来配置openstack实例呢?
以下是我如何安装我的保险库秘密后端:
vault mount generic
以下是我的秘密(如果我没有将其写入json文件):
vault write generic/logins usernames=myUserName psswrds=myPassword
答案 0 :(得分:2)
Terraform 0.8将有一个Vault provider。
data "vault_generic_secret" "login" {
path = "generic/logins"
}
provider "something" {
user = "${data.vault_generic_secret.login.data["username"]}"
pass = "${data.vault_generic_secret.login.data["password"]}"
}