Migration Guide
Migrating from Atlantis to InfraDots
Atlantis never stored your state — it runs against your own backend (S3, GCS, etc.). So there’s no state to extract, which makes this the lowest-risk migration of the set.
Connect the same repo, map your atlantis.yaml projects to workspaces, and keep the PR-driven workflow you already use — then retire the daemon and the scheduled jobs you bolted onto it.
What moves, and what you re-enter
Terraform / OpenTofu / Terragrunt code
Unchanged — same repo
Terraform state
Already in your own backend — stays the source of truth
PR-driven workflow
Kept — plans and applies still run from pull requests
atlantis.yaml projects
Map to InfraDots workspaces
Variables & secrets
Recreate with the same keys; re-enter secrets
Self-hosted daemon + drift cron jobs
Retire them — drift detection is built in
✓ moves automatically · ↻ you re-enter or re-map once
The migration, step by step
Atlantis never stored your state — it runs against your own backend (S3, GCS, etc.). So there’s no state to extract and the move is low-risk: InfraDots connects to the same repo and state you already have.
- 1
Connect the same repo
Point InfraDots at the repository Atlantis already watches. Your Terraform, OpenTofu, and Terragrunt code is unchanged — no rewrites.
- 2
Map atlantis.yaml to workspaces
Each project/workspace in your atlantis.yaml becomes an InfraDots workspace, pointed at the same state backend and the tool version you already use. Your existing state stays the source of truth.
- 3
Move variables and provider credentials
Bring the variables and secrets your Atlantis runs relied on into the workspace — same keys, marked sensitive. Provider credentials become sensitive environment variables.
- 4
Plan to confirm, then retire the daemon
Run a plan from InfraDots; with the same code and state, it should show no changes. Once you’ve cut over each workspace, you can shut down the Atlantis daemon — and the scheduled drift jobs you built around it.
Run both in parallel during cutover: keep Atlantis live until each workspace is confirmed in InfraDots. Because your code stays plain Terraform/OpenTofu/Terragrunt, there’s no lock-in — the same property that made Atlantis easy to leave makes InfraDots easy to leave too.
Ready to move off Atlantis?
Start with one workspace — your code and state stay put, and you can run both in parallel until you’re sure.
Frequently asked questions
Do I have to shut down the Atlantis daemon first?
No. Run both in parallel during cutover — keep Atlantis live until each workspace is confirmed in InfraDots, then shut down the daemon (and the scheduled drift jobs you built around it).
What happens to my Terraform state?
Nothing risky — it already lives in your own backend. InfraDots points at the same repo and state; a no-op plan confirms you’re in sync before you apply.
What about my atlantis.yaml?
Each project/workspace in your atlantis.yaml becomes an InfraDots workspace on the same tool and version, pointed at the same state backend.
Do I lose the PR workflow I like?
No — that’s the point. Plans and applies still run from your pull requests. You keep the workflow and drop the daemon, the cron jobs, and the wall-of-text reviews.
Still deciding? See the full InfraDots vs. Atlantis comparison →
