← Software

Terraform

Infrastructure as code for cloud and on-premises resources.

Terraform logo

Terraform reads declarative HashiCorp Configuration Language (HCL) files describing infrastructure (compute, networks, DNS records, IAM policies, Kubernetes resources, and much more) and reconciles cloud providers to match. Each "terraform apply" plans a diff between the current state (stored in a backend like S3 or Terraform Cloud) and the desired state, then applies the differences in dependency order.

Providers — typically a Go binary per cloud or service — handle the actual API calls. The Terraform Registry hosts thousands of providers covering AWS, Azure, GCP, Kubernetes, GitHub, DNS providers, monitoring services, and even Spotify playlists. Modules let users package reusable infrastructure patterns.

Mitchell Hashimoto and Armon Dadgar started Terraform at HashiCorp in 2014. The licence shifted from MPL-2.0 to BSL-1.1 in 2023, which prompted the Linux Foundation OpenTofu fork that continues under the original MPL licence. Both projects share a substantial code lineage and remain compatible at the configuration level. Terraform/OpenTofu is the dominant general- purpose IaC tool in the industry.

License: BSL-1.1 (Terraform 1.6+)

Category: DevOps

Website: https://www.terraform.io/

Install

Debian/Ubuntu: see https://developer.hashicorp.com/terraform/install
Fedora/RHEL:   sudo dnf install terraform
Arch:          sudo pacman -S terraform
macOS:         brew install terraform

Authors

  • HashiCorp
  • Terraform contributors
PreviousTekton NextThunar

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring