我想将我的terraform.tfstate
文件存储在mongodb数据库中。我可以看到没有默认选项可用于mongodb作为terraform的后端。因此,我们可以在terraform中创建自定义后端吗(对于我来说,我想创建mongodb后端来存储和提取terraform.tfstate
文件。如果不可能,可以采取任何措施来实现此目标?
答案 0 :(得分:2)
是的,就像您说的那样,没有mongodb
作为默认后端。但是有一些现有的后端会有所帮助。
但是,如果仍在寻找仅使用mongodb
作为默认后端的解决方案,您仍然可以实现。
与S3
,postgres
,azurerm
,gcs
一起,Terraform还支持使用REST客户端http的后端。
所有您需要做的就是使用Node或Flask或您喜欢的框架构建一个小型REST客户端,并公开一个端点,如下所示。
terraform {
backend "http" {
address = "http://tfstate.mycompany.io/store"
}
}
您的RESTful客户端将与Mongodb通信以存储和检索数据。但是,您需要配置POST,GET和DELETE的端点,才能让Terraform进行这项工作。
希望这会有所帮助。