2022-02-21

Terraform

Terraform

Terraform это инструмент от Hashicorp который позволяет настраивать внешние сервисы с помощью конфигурационных файлов.

https://www.terraform.io
https://github.com/hashicorp/terraform

Для любого сервиса который отдаёт наружу API можно написать “провайдера” Terraform. Провайдер опеределяет какие “ресурсы” можно настраивать в этом сервисе.

Terraform Provider

А для популярных сервисов уже есть официальные провайдеры:

Чтобы понимать, что изменилось с последнего запуска, Terraform нужно где-то хранить “состояние”: в локальном файле, или в S3-бакете или где-то ещё. Если не хочется заморачиваться с настройкой CI/CD и хранением состояния, Hashicorp предоставляет облачный сервис Terraform Cloud.

К сожалению, Terraform пока не умеет генерировать конфигурационные файлы по уже настроенным сервисам. Для этого есть Terraformer.

Есть ещё несколько инструментов которые могут сделать жизнь с Terraform лучше: