Open-source IaC orchestration that runs Terraform and OpenTofu inside your existing CI pipeline, with plan and apply driven from pull request comments.
hashicorp/terraform
Infrastructure as code CLI that plans and applies declarative configuration files to create, change, and version cloud and service resources.
- Stars
- 49,978
- Forks
- 10,648
- Open issues
- 1,920
- Last commit
- 17 hours ago
What is it?
Terraform is a command-line tool for building, changing, and versioning infrastructure. You describe resources in a high-level configuration syntax, and Terraform works out how to create or update them through the APIs of cloud and service providers. Because the configuration is plain text, it can be stored in version control, reviewed, shared, and reused like other code.
Before making changes, Terraform generates an execution plan showing what it will create, modify, or destroy, so operators can review the impact before applying. It builds a dependency graph of resources and runs independent operations in parallel. Providers are loaded as plugins and can be downloaded automatically from the Terraform Registry, and custom in-house providers are also supported.
This repository contains only Terraform core: the CLI and the graph engine. Individual providers are maintained separately, by HashiCorp or by other organizations. The project is licensed under the Business Source License 1.1 rather than an OSI-approved open-source license.
Key features
- 01Declarative configuration files that can be versioned and reviewed like code.
- 02Execution plans show proposed changes before they are applied.
- 03Resource dependency graph enables parallel creation and modification.
- 04Plugin-based providers, downloadable from the Terraform Registry.
- 05Support for custom in-house providers.
Use cases
- Provisioning cloud infrastructure such as networks, compute, and databases across providers.
- Standardizing environments so development, staging, and production are built from the same configuration.
- Reviewing infrastructure changes through pull requests before they reach production.
- Managing custom or internal services through a purpose-built provider.
Quick start
- 1
Read the Getting Started guides on the Terraform website
Things to know
- Licensed under the Business Source License 1.1, not an OSI-approved open-source license, which restricts some commercial uses.
- This repository contains only Terraform core; providers are separate plugins downloaded from the Terraform Registry.
Topics
FAQ
- What is terraform?
- Infrastructure as code CLI that plans and applies declarative configuration files to create, change, and version cloud and service resources. Terraform is a command-line tool for building, changing, and versioning infrastructure. You describe resources in a high-level configuration syntax, and Terraform works out how to create or update them through the APIs of cloud and service providers. Because the configuration is plain text, it can be stored in version control, reviewed, shared, and reused like other code.
- Is terraform free to use? What license does it have?
- terraform is open source under the Other license. Check the license terms before using it in commercial products.
- Is terraform still maintained?
- Actively maintained. The last commit to terraform was on Oct 19, 2026.
- What can I use terraform for?
- Provisioning cloud infrastructure such as networks, compute, and databases across providers. Standardizing environments so development, staging, and production are built from the same configuration. Reviewing infrastructure changes through pull requests before they reach production. Managing custom or internal services through a purpose-built provider.
- How do I install terraform?
- Read the Getting Started guides on the Terraform website
- Where can I get terraform?
- The source code and installation instructions are on GitHub: https://github.com/hashicorp/terraform
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A collection of real DevOps, SRE and cloud engineering interview questions, organized by company and role.
A programmable automation engine that builds, tests and ships codebases using containers, running locally, in CI or in the cloud.
Self-hosted ACME tool that automates SSL certificate issuance, deployment, renewal and monitoring through a visual workflow.
A fast, cross-platform task runner written in Go, inspired by Make and configured through a Taskfile YAML file.
Open-source infrastructure for running AI-generated code in isolated cloud sandboxes, with JavaScript and Python SDKs.