Stacks / Backend
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
Estimated SaaS saved
$2,400
per year, small team, before lock-in
Start on RailwayForgejo if you also want to leave Bitbucket Cloud
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 paying | Typical / year | Self-host instead |
|---|---|---|
| HCP Terraform Essentials / Standard (small estate) | $2,400 | OpenTofu + 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.