24 lines
1.8 KiB
Markdown
24 lines
1.8 KiB
Markdown
# Terraform — Core (one-screen)
|
|
|
|
## 1) Что такое Terraform
|
|
Terraform (HashiCorp) — инструмент централизованного управления инфраструктурой по IaC: описываем **желаемое состояние**, Terraform через **provider** вызывает API вендора.
|
|
|
|
## 2) Основные файлы/директории
|
|
- `main.tf` — декларативное описание инфраструктуры.
|
|
- `terraform.d/` — место, где может храниться провайдер после загрузки.
|
|
- `.terraform/` — рабочая директория Terraform (в т.ч. файлы провайдеров/кэш).
|
|
- `terraform.lock.hcl` — lockfile версий провайдеров (фиксирует зависимости).
|
|
- `terraform.tfstate` — **state**: зарегистрированное состояние инфраструктуры (очень важный файл).
|
|
|
|
## 3) Базовые команды
|
|
- `terraform init` — инициализация директории (скачать провайдеры и т.п.).
|
|
- `terraform plan` — показать, что изменится (dry-run).
|
|
- `terraform apply` — применить изменения.
|
|
- `terraform refresh` — обновить данные о состоянии (в современных версиях многое переехало в plan/apply).
|
|
|
|
## 4) Практическая заметка про state
|
|
`tfstate` связывает “код” и реальные ресурсы. Потеря/порча state = боль (дрейф, дубли, невозможность безопасно удалить).
|
|
|
|
---
|
|
**Source:** [[01 Library/02 DevOps/Terraform|Terraform]]
|