Terraform — open-source (форк OpenTofu после конфликта лицензии 2023) инструмент Infrastructure as Code (IaC). Инфраструктура описывается декларативно в HCL-файлах: «мне нужен 1 VPS с 2 vCPU в Falkenstein, 1 domain-запись, 1 firewall». Terraform ходит в API провайдера (Hetzner, AWS, DigitalOcean, GCP), создаёт и обновляет ресурсы.
Ключевые концепции: provider — плагин под конкретный сервис (hcloud, aws, digitalocean). resource — единица инфраструктуры (server, dns_record, volume). state — сохранённое состояние того, что уже создано (в S3 / файле / Terraform Cloud). plan — сравнение желаемого и текущего. apply — применение изменений.
Пример: `resource "hcloud_server" "web" { name = "web1", server_type = "cx21", location = "fsn1" }`. Три строчки — сервер поднимается за 60 секунд. Меняете тип на cx31 — Terraform поймёт и обновит.
У Elistrax есть собственный Terraform-провайдер `cloudhost` — им можно управлять серверами, DNS, SSL-сертификатами и SSH-ключами декларативно. Гайд: /docs/api-terraform-provider.