Dependency Graph
Parses terraform_remote_state to build a DAG. Topological sort ensures correct execution order across modules.
How it works
Dependency-aware CI pipelines for Terraform/OpenTofu monorepos — GitLab CI & GitHub Actions, with cost estimation and policy checks
# Install
brew install edelwud/tap/terraci
# Initialize & generate (GitLab)
terraci init
terraci generate -o .gitlab-ci.yml
# Initialize & generate (GitHub Actions)
terraci init --provider github
terraci generate -o .github/workflows/terraform.yml
# Only changed modules
terraci generate --changed-only --base-ref mainflowchart LR
subgraph repo["Your Repo"]
r1["vpc/"]
r2["eks/"]
r3["rds/"]
end
subgraph terraci["TerraCi"]
t1["Discover"] --> t2["Parse"] --> t3["Sort"] --> t4["Generate"]
end
subgraph ci["CI Pipeline"]
g1["plan vpc"] --> g2["apply vpc"]
g2 --> g3["plan eks + rds"]
g3 --> g4["apply eks + rds"]
end
repo --> terraci --> ci