Spacelift Review 2026: Is It Worth It for Terraform GitOps?
Honest review of Spacelift after using it for Terraform workflows. How it compares to Atlantis and Terraform Cloud, what's great, what's not.
Spacelift is a CI/CD platform specifically designed for infrastructure-as-code. It supports Terraform, OpenTofu, Pulumi, Ansible, and Kubernetes, with deep GitOps workflows. After using it on a mid-sized AWS estate (~300 resources across 12 stacks), here's an honest take.
What Spacelift Actually Does
At its core, Spacelift provides:
- Stacks: Each stack tracks a Terraform workspace, its state, and drift
- Policies: OPA-based policies that gate applies (approval rules, compliance checks)
- Contexts: Reusable environment variables/secrets injected into stacks
- Blueprints: Templated stacks you can deploy from a service catalog
When a PR is opened, Spacelift automatically runs terraform plan. Engineers see the plan diff in the PR. Applies are triggered on merge (or require manual approval depending on policy).
What's Actually Good
Policy-as-Code is Excellent
This is where Spacelift shines. Instead of hoping people follow process, you codify the rules:
# policy/require-approval-for-prod.rego
package spacelift
# Require human approval for any production stack change
deny[msg] {
input.run.stack.labels[_] == "production"
not input.run.approved
msg := "Production changes require approval"
}
# Block destroys of databases
deny[msg] {
change := input.terraform.resource_changes[_]
change.type == "aws_db_instance"
change.change.actions[_] == "delete"
msg := sprintf("Destroying database %s requires explicit override", [change.address])
}You write policies in OPA/Rego and they enforce automatically. No more "did someone forget to approve this?"
Drift Detection
Spacelift can detect when real infrastructure drifts from your Terraform state — someone manually clicked in the console, a resource was modified outside Terraform. It runs periodic plans and flags drift.
# Scheduled drift detection
schedules:
drift:
cron: "0 */4 * * *" # every 4 hours
timezone: "UTC"Worker Pools
You can run Spacelift workers inside your own VPC instead of their SaaS runners. This is essential if your Terraform needs to reach private resources (RDS, internal APIs).
# docker-compose for self-hosted worker pool
services:
spacelift-worker:
image: public.ecr.aws/spacelift/runner-terraform:latest
environment:
SPACELIFT_TOKEN: ${WORKER_TOKEN}
SPACELIFT_POOL_ID: ${POOL_ID}
volumes:
- /var/run/docker.sock:/var/run/docker.sockStack Dependencies
If Stack B (application) depends on Stack A (networking), Spacelift can auto-trigger B after A applies successfully. This replaces complex CI scripting:
# Stack B configuration
dependencies:
- stack: networking-prod
reference: vpc_id # pass output from Stack A to Stack BWhat's Not Great
Rego Learning Curve
OPA/Rego is powerful but not beginner-friendly. Writing non-trivial policies takes time. The docs are decent but there's a cliff after "hello world."
Cost at Scale
Spacelift pricing is per user and per run. For small teams or hobbyists, it's expensive relative to self-hosted Atlantis. It makes financial sense at 10+ engineers who are actively running infrastructure changes.
At the time of writing: Spacelift pricing starts at $99/month for teams.
UI Can Be Slow
The runs list and stack view load slowly when you have 50+ stacks. Not a dealbreaker but noticeable.
Spacelift vs Atlantis vs Terraform Cloud
| Spacelift | Atlantis | Terraform Cloud | |
|---|---|---|---|
| Setup | SaaS (easy) | Self-hosted | SaaS (easy) |
| Policy-as-code | OPA/Rego (excellent) | None (native) | Sentinel (proprietary) |
| Drift detection | Yes | No | Yes |
| Non-Terraform support | Yes (Pulumi, k8s, Ansible) | No | Limited |
| Worker pools | Yes (private) | Always private | Yes |
| Cost | $$$ | Free (hosting cost only) | $$ |
| Stack dependencies | Yes | No | No |
| Best for | Teams wanting governance + multi-tool | Terraform-only, budget-conscious teams | AWS-heavy teams on HashiCorp ecosystem |
My Verdict
Spacelift is the right choice if:
- You have 5+ engineers making infrastructure changes
- You need policy enforcement (compliance, security gates)
- You use more than just Terraform (Pulumi, Ansible, etc.)
- Drift detection matters for your environment
Stick with Atlantis if:
- You're Terraform-only
- You want self-hosted with no SaaS cost
- Your team is small (< 5 engineers on infra)
Score: 7.5/10
The policy system and drift detection are genuinely excellent. The cost and Rego learning curve keep it from being a universal recommendation. For teams that need governance, there's nothing better in the market right now.
Today I Fixed
Short real fixes from production — posted daily
Stay ahead of the curve
Get the latest DevOps, Kubernetes, AWS, and AI/ML guides delivered straight to your inbox. No spam — just practical engineering content.
Related Articles
Atlantis Review 2026: Terraform PR Automation Worth It?
Honest hands-on review of Atlantis — the open-source tool that runs terraform plan and apply from GitHub and GitLab PRs. Setup, atlantis.yaml config, security concerns, comparison with Spacelift and Terraform Cloud, and a clear verdict.
Pulumi vs Crossplane: Which Infrastructure Tool to Use in 2026?
Pulumi vs Crossplane comparison — architecture, use cases, team fit, and when to use each for managing cloud infrastructure in 2026.
Spacelift Review: Terraform and OpenTofu Automation Platform (2026)
Hands-on review of Spacelift — the Terraform and OpenTofu CI/CD platform for infrastructure teams. What it does better than Atlantis and Terraform Cloud, where it falls short, and whether it's worth the cost.