Terraform — це програмний інструмент інфраструктури як коду, створений компанією HashiCorp. Користувачі визначають і описують інфраструктуру центру обробки даних за допомогою декларативної мови конфігурації, відомої як HashiCorp Configuration Language (HCL) або, за бажанням, JSON.[3]
Terraform управляє зовнішніми ресурсами (такими як загальнодоступна хмарна інфраструктура, інфраструктура приватної хмари, мережеві пристрої, програмне забезпечення як послуга та платформа як послуга) з постачальниками. Замість використання імперативних команд для створення ресурсів, Terraform використовує декларативну конфігурацію для опису бажаного кінцевого стану. Як тільки користувач викликає Terraform для цього ресурсу, Terraform буде виконувати дії CRUD від імені користувача для досягнення бажаного стану. Інфраструктура як код може бути написана у вигляді модулів, що забезпечує можливість повторного використання та підтримку коду.
HashiCorp також підтримує реєстр модулів Terraform, запущений у 2017 році. У 2019 році Terraform представила платну версію Terraform Enterprise для великих організацій.
Команди
У Terraform є чотири основні команди:
$ terraform init
$ terraform plan
$ terraform apply
$ terraform destroy
Зміна ліцензії
Раніше вихідний код Terraform буа відкритим і доступний за версією 2.0 Mozilla Public License (MPL). 10 серпня 2023 року компанія HashiCorp прийняла ліцензію Business Source License v1.1 для багатьох своїх продуктів, включаючи Terraform [4]. В Business Source License ліцензії, на відміну від MPL, вихідний код не є відкритим[5], а натомість - тільки доступний. У відповідь група користувачів опублікувала маніфест OpenTF 15 серпня, в якому закликала HashiCorp продовжити публікавати Terraform під ліцензією з відкритим вихідним кодом.[6] Згодом, 25 серпня, група оголосила, що у випадку відсутності будь-якої позитивної відповіді від HashiCorp вони зроблять відгалуження Terraform як OpenTofu на основі останньої доступної версії коду програмного забезпечення з ліцензією MPL (v1.5.5) і працюватимуть над тим, щоб проект прийняли під опіку Linux Foundation.[7]