how/workflow
Что Terraform делает на каждой команде. Три источника правды (HCL, state, облако), как они сходятся и расходятся, и почему apply без plan - плохая привычка.
Terraform - это машина, которая держит три копии одной мысли в согласии:
terraform.tfstate) - то, что Terraform думает про реальность. Свой кэш.Жизненный цикл - это четыре команды, каждая работает со своим набором этих трёх источников. В первом учебном уроке ты прогонишь их по очереди на одном S3-бакете в LocalStack (см. tf-init, tf-plan, tf-apply, tf-destroy). Жми ▶ - посмотрим, что происходит за каждой командой.
Папка проекта с одним файлом main.tf. В нём описаны
два ресурса: бакет S3 и случайный суффикс к его имени.
State пустой. Облако пустое. Terraform пока не видел ни того ни другого. Команды ниже идут по очереди.
итого
Что важно запомнить:
init бежит один раз на проект (и после смены провайдера/backend). Скачивает плагины, создаёт .terraform.lock.hcl.plan ничего не меняет. Безопасно гонять сколько угодно - между refresh и diff всё происходит у тебя в голове и в RAM, не в облаке.apply - единственная команда, которая реально что-то создаёт. И единственная, которая трогает state.apply повторный plan обязан показывать No changes. Если показывает - это [[drift|дрейф]], идёшь разбираться.destroy симметричен apply: state пустеет, облако пустеет. Зеркало.Дальше: tf-state-anatomy про то, что лежит внутри state, и tf-drift про то, как HCL и облако расходятся.