Skip to content
c17 .ioJoin list

Stacks / Backend

Medium

OpenTofu + Atlantis

Infrastructure as code you run. OpenTofu is MPL-2.0; Atlantis is Apache-2.0 PR automation. Terraform is BSL — not the OSS path.

The problem

HCP Terraform (Terraform Cloud) meters resources (Essentials from $0.10/resource/month). Terraform itself is BSL 1.1 since 2023 — OSI does not list that as open source. OpenTofu is the MPL-2.0 fork. Atlantis runs plan/apply from pull requests on a box you host. This is not feature parity with every Terraform Cloud run-task and policy-as-code add-on.

Replaces

Terraform Cloud

Replace Terraform Cloud

Estimated SaaS saved

$2,400

per year, small team, before lock-in

Start on Railway

Forgejo if you also want to leave Bitbucket Cloud

Sponsor this stack Tip jar

Placeholder: Atlantis + a volume for its data, talking to OpenTofu. Runners that need cloud credentials are often a VPS. No one-click template in this repo yet — Start on Railway. Git hosting can sit on /stacks/forgejo-git.

The stack

Cost table

You stop payingTypical / yearSelf-host instead
HCP Terraform Essentials / Standard (small estate)$2,400OpenTofu + Atlantis

Agent setup prompt

Replace Terraform Cloud with OpenTofu plus Atlantis.

Do not install current Terraform and call it open source — it is BSL.
- OpenTofu for the CLI. Atlantis for plan/apply comments on PRs. Persist Atlantis data. Lock down the webhook secret.
- Run one existing root module with tofu plan. Do not claim Sentinel / run-task parity.
- Write AGENT_PROMPT.md.

Also as markdown: /stacks/opentofu-atlantis.md

FAQ

Will my .tf files work?
Most will. OpenTofu tracks Terraform language compatibility; test the providers you actually use. Atlantis is the PR workflow, not a full Terraform Cloud clone (no private-module marketplace, no Sentinel).
Why Atlantis?
So apply still happens from a pull request. You can also run tofu locally or in Woodpecker/Forgejo Actions — /stacks/woodpecker-ci.