Граф зависимостей
Парсит terraform_remote_state для построения DAG. Топологическая сортировка гарантирует правильный порядок выполнения.
Как это работает
# Установка
brew install edelwud/tap/terraci
# Инициализация и генерация (GitLab)
terraci init
terraci generate -o .gitlab-ci.yml
# Инициализация и генерация (GitHub Actions)
terraci init --provider github
terraci generate -o .github/workflows/terraform.yml
# Только изменённые модули
terraci generate --changed-only --base-ref mainflowchart LR
subgraph repo["Репозиторий"]
r1["vpc/"]
r2["eks/"]
r3["rds/"]
end
subgraph terraci["TerraCi"]
t1["Поиск"] --> t2["Парсинг"] --> t3["Сортировка"] --> t4["Генерация"]
end
subgraph ci["CI пайплайн"]
g1["plan vpc"] --> g2["apply vpc"]
g2 --> g3["plan eks + rds"]
g3 --> g4["apply eks + rds"]
end
repo --> terraci --> ci