Infra Atlas · Toolbox

Provisioning & IaC.

Terraform's BSL relicensing in 2023 changed the calculus for new projects. OpenTofu is the answer. Everything else in this department is about making infrastructure code maintainable at the scale where plain Terraform starts to fall apart — modules that diverge, plans nobody reviews, costs nobody estimates before merging.

Form
Language
Picks
OpenTofu replaces Terraform (BSL)

The Linux Foundation fork of Terraform, created after HashiCorp switched from MPL to BSL 1.1 in 2023. API-compatible drop-in: rename the binary, point at your state, done. CNCF project; active community; receives improvements (native functions, provider mocking) that Terraform hasn't merged. The safe default for any new project.

CLI HCL mature platform
opentofu/opentofu
Terragrunt replaces copy-pasted Terraform root modules

A thin wrapper over Terraform/OpenTofu that solves the "DRY infrastructure" problem — define backend, provider, and common inputs once; every environment inherits. run-all apply runs across module stacks in dependency order. Unavoidable at medium-to-large scale where the alternative is 15 near-identical main.tf files with different variable overrides.

CLI Go mature platform
gruntwork-io/terragrunt
tflint replaces terraform validate (provider-aware linting)

Linter for Terraform/OpenTofu that goes beyond terraform validate — catches provider-specific issues (wrong instance type, deprecated attributes, missing required tags) before plan. Plugin architecture means AWS, GCP, and Azure rules are maintained separately and stay current with provider releases. Runs in CI in seconds.

CLI Go mature platform
terraform-linters/tflint
Atlantis replaces manual terraform plan/apply in PRs

Self-hosted GitOps bot: opens a PR touching .tf files → Atlantis automatically posts the plan output as a PR comment. Merge → atlantis apply executes it. Replaces the "run plan locally, paste output as a comment, hope the reviewer trusts you" workflow. Works with GitHub, GitLab, Bitbucket. Requires a server process with cloud credentials.

Web UI Go mature platform
runatlantis/atlantis
Infracost replaces guessing the cost of an IaC diff

Shows the monthly cost delta of a Terraform/OpenTofu diff before you apply it. Integrates into CI as a PR comment: "this change will add $47/month". Covers AWS, GCP, Azure resource pricing. Catches the classic mistake of accidentally provisioning a p4d.24xlarge in a shared module. Free for OSS and most self-hosted use cases.

CLI Go mature platform
infracost/infracost
Pulumi replaces HCL for teams that prefer real languages

IaC in TypeScript, Python, Go, Java, or C# instead of HCL. Same state-machine model as Terraform: resources declared, diffed, applied. The tradeoff is real: you get loops, functions, and testing frameworks natively, but you also get all the complexity of a general-purpose language in infrastructure code. OSS core; Pulumi Cloud is the managed backend (self-host with S3/GCS is straightforward).

CLI multi mature platform
pulumi/pulumi
*

The IaC space moved fast post-2023. OpenTofu is the OSS answer to Terraform's relicensing. Terragrunt and tflint work with both. Atlantis and Infracost are independent of the HCL runtime — they work with either. Pulumi is the serious alternative for teams that find HCL limiting. Open a PR if something obvious is missing.