Можем ли мы создать собственный бэкэнд в terraform? - PullRequest
0 голосов
/ 24 января 2020

Я хочу сохранить мой terraform.tfstate файл в базе данных mongodb. Я мог видеть, что нет никакой опции по умолчанию, доступной для mongodb как серверной части в terraform. Итак, можем ли мы создать пользовательский бэкэнд в terraform (В моем случае я хочу создать бэкэнд mongodb для хранения и выборки файла terraform.tfstate. Если это невозможно, можно ли обойти эту задачу?

1 Ответ

2 голосов
/ 24 января 2020

Да, как вы сказали, нет mongodb в качестве бэкэнда по умолчанию. Но есть несколько существующих бэкэндов, которые могли бы помочь.

Но, если вы все еще смотрите на решения, использующие только mongodb в качестве бэкэнда по умолчанию, вы все равно можете достичь этого.

Наряду с S3, postgres, azurerm, gcs Terraform также поддерживает бэкэнд с использованием клиента REST http .

Все, что вам нужно сделать Создайте небольшой клиент REST, используя Node или Flask, или ваш любимый фреймворк и предоставьте конечную точку, как показано ниже в вашем бэкэнде.

terraform {
  backend "http" {
    address = "http://tfstate.mycompany.io/store"
  }
}

И ваш клиент RESTful будет связываться с Mongodb для хранения и получения данных. Но вам нужно настроить конечные точки для POST, GET и DELETE, чтобы Terraform мог выполнять эту работу.

Надеюсь, это поможет.

...