Skip to content

TerraCiTerraform Pipeline Generator

Dependency-aware CI pipelines for Terraform/OpenTofu monorepos — GitLab CI & GitHub Actions, with cost estimation and policy checks

TerraCi

Quick Start

bash
# 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 main

How It Works

mermaid
flowchart 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

Full configuration reference →

Released under the MIT License.