HCP Terraform Free Tier Ending: What Changes
HashiCorp announced the discontinuation of HCP Terraform Free tier effective March 31, 2026. Existing free users must transition to paid plans or find alternatives. This decision marks the second major shift following the 2023 BSL license transition, creating another inflection point in the Infrastructure as Code ecosystem.
Terraform vs OpenTofu: 2026 Status Comparison
As of March 2026, Terraform has reached version 1.14.x while OpenTofu stands at 1.9.x. The OpenTofu registry now mirrors over 2,000 providers, with 34% of infrastructure teams completing full migration from Terraform to OpenTofu, and 28% in partial migration.
| Item | Terraform 1.14 | OpenTofu 1.9 |
|---|---|---|
| License | BSL (Business Source License) | MPL 2.0 (Open Source) |
| Governance | HashiCorp/IBM exclusive | Linux Foundation community-driven |
| State Encryption | Requires paid plan | Native support (free) |
| Provider Count | 3,000+ | 2,000+ (mirrored) |
| AI Integration | HCP Terraform AI | Community-driven extensions |
| Cloud Service | HCP Terraform (paid) | Spacelift, env0, and others |
OpenTofu Migration: Practical Steps
Step 1: Verify Compatibility
# Check current Terraform version
terraform version
# Install OpenTofu
brew install opentofu
# Or use official installation script
curl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh | sh
# Verify installation
tofu version
Step 2: Migrate State File
# Navigate to your Terraform project
cd /path/to/terraform-project
# Initialize OpenTofu (automatically recognizes existing state)
tofu init
# Validate state - run plan only without changes
tofu plan
# After verification, update lock file
tofu init -upgrade
Tip: OpenTofu maintains full compatibility with Terraform state file format. Most projects complete migration with just tofu init.
Step 3: Transition CI/CD Pipeline
# GitHub Actions example: terraform → tofu transition
name: Infrastructure Deploy
on:
push:
branches: [main]
paths: ['infra/**']
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: opentofu/setup-opentofu@v1
with:
tofu_version: 1.9.0
- name: Init
run: tofu init
working-directory: infra/
- name: Plan
run: tofu plan -out=plan.tfplan
working-directory: infra/
- name: Apply
if: github.ref == 'refs/heads/main'
run: tofu apply plan.tfplan
working-directory: infra/
Migration Considerations
Important: Some features introduced after Terraform 1.6 are supported in OpenTofu but may have subtle behavioral differences. Always run tofu plan in staging first to ensure no drift. Common issues: First, provider version pinning via .terraform.lock.hcl requires tofu init -upgrade after switching. Second, Sentinel policies need migration to OPA. Third, Terraform Cloud-exclusive features can be replaced with Spacelift or env0.
FAQ
Q: Can I reuse existing Terraform modules?
Yes, most Terraform modules work unchanged. The OpenTofu registry mirrors Terraform providers.
Q: Can I continue using Terraform?
Of course. BSL license doesn't restrict direct use, but consider HCP Terraform costs.
Q: Is Terragrunt compatible?
Yes, Gruntwork announced official OpenTofu support. Set terraform_binary = "tofu" in terragrunt.hcl.
This article was originally published on ManoIT Tech Blog.
Top comments (0)