Terraform

Infrastructure-as-code CLI that builds, changes, and versions infrastructure from declarative configuration files, using execution plans and a resource graph.

Terraform is an infrastructure-as-code command line tool from HashiCorp. Infrastructure is described in declarative configuration files using a high-level syntax, so a blueprint of a datacenter or service setup can be versioned, shared, reused, and reviewed like other code. It can manage existing, popular service providers as well as custom in-house solutions.

Before changing anything, Terraform runs a planning step that produces an execution plan showing what will happen when you call apply. It also builds a graph of all resources and parallelizes creation and modification of resources that do not depend on each other. The graph gives operators visibility into dependencies, and combined with the plan it lets complex changesets be applied with minimal human interaction in a known order.

This repository contains Terraform core only: the command line interface and the main graph engine. Providers are implemented as plugins, and Terraform can automatically download providers published on the Terraform Registry. HashiCorp develops some providers and other organizations develop the rest. The tool is aimed at DevOps engineers, SREs, and platform teams who manage infrastructure through version-controlled configuration. It is licensed under the Business Source License 1.1.

Alternatives & related tools

add a badge to your README

Maintain Terraform? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/terraform.svg)](https://www.trmn.sh/tools/terraform?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/terraform?utm_source=badge"><img src="https://www.trmn.sh/badge/terraform.svg" alt="Featured on trmn" height="20"></a>