# hashicorp/terraform

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hashicorp-terraform).**

47,784 stars · 10,218 forks · Go · other

## Links

- GitHub: https://github.com/hashicorp/terraform
- Homepage: http://developer.hashicorp.com/terraform
- awesome-repositories: https://awesome-repositories.com/repository/hashicorp-terraform.md

## Topics

`cloud` `cloud-management` `graph` `infrastructure-as-code` `terraform`

## Description

Terraform is a declarative infrastructure-as-code tool designed to manage the lifecycle of cloud and on-premises resources. It functions as a workflow engine that reconciles a defined desired state against real-world infrastructure, using a persistent state-tracking layer to maintain consistency and visibility across distributed environments. By mapping infrastructure components into a directed acyclic graph, the system calculates the optimal order for provisioning, updating, or destroying resources.

The platform is distinguished by its extensible plugin-based architecture, which decouples core orchestration logic from vendor-specific service APIs. This allows users to manage diverse infrastructure across multiple providers through a unified workflow. The system enforces predictability by separating operations into a three-stage lifecycle—planning, applying, and state-updating—and supports policy-as-code evaluation to validate changes against security and compliance rules before any modifications are executed.

Beyond core orchestration, the tool provides robust support for collaborative management, including workspace isolation for environment separation and module sharing for distributing standardized infrastructure patterns. It integrates into broader development ecosystems through support for programmatic definition in various languages, external system hooks, and comprehensive tooling for configuration debugging and editor assistance.

## Tags

### DevOps & Infrastructure

- [Infrastructure as Code Engines](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-as-code-engines.md) — Reconciles desired state against real-world infrastructure to manage the lifecycle of cloud and on-premises resources.
- [Infrastructure as Code Frameworks](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-as-code-frameworks.md) — Defines and manages cloud and on-premises resources through version-controlled configuration files.
- [Cloud Resource Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/cloud-resource-orchestrators.md) — Executes complex infrastructure changes across multiple service providers using dependency-aware workflow engines.
- [Infrastructure as Code](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-as-code.md) — Provision infrastructure using familiar programming languages like Python, TypeScript, or Go instead of writing static configuration files manually. ([source](https://developer.hashicorp.com/terraform/docs/tools))
- [Infrastructure State Managers](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-state-managers.md) — Maintains a persistent record mapping declarative configurations to actual deployed infrastructure attributes.
- [Infrastructure Provider Plugins](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-provider-plugins.md) — Provides translation layers between infrastructure workflows and external service APIs via executable plugins. ([source](https://developer.hashicorp.com/terraform/docs/partnerships))
- [Infrastructure State Management Systems](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-state-management-systems.md) — Maintains a persistent record of managed infrastructure to map configuration definitions to real-world objects. ([source](https://developer.hashicorp.com/terraform/docs/glossary))
- [Multi-Cloud Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/multi-cloud-orchestrators.md) — Manages diverse infrastructure components across multiple service providers using a unified workflow.
- [Dependency Graph Engines](https://awesome-repositories.com/f/devops-infrastructure/dependency-graph-engines.md) — Calculates optimal resource operation sequences by mapping dependencies into directed acyclic graphs.
- [Environment Isolation](https://awesome-repositories.com/f/devops-infrastructure/environment-isolation.md) — Manages distinct infrastructure environments by isolating state data to prevent configuration overlap. ([source](https://developer.hashicorp.com/terraform/docs/glossary))
- [Infrastructure Automation](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-automation.md) — Automates infrastructure operations through programmatic execution and CI/CD pipeline integration. ([source](https://developer.hashicorp.com/terraform/docs/tools))
- [Infrastructure Automation Tools](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-automation-tools.md) — Automates the planning, provisioning, and destruction of complex resource stacks within deployment pipelines.
- [Infrastructure Lifecycle Execution Engines](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-lifecycle-execution-engines.md) — Performs infrastructure updates through a three-stage workflow involving planning, execution, and dependency resolution. ([source](https://developer.hashicorp.com/terraform/intro))
- [Declarative Infrastructure Languages](https://awesome-repositories.com/f/devops-infrastructure/declarative-infrastructure-languages.md) — Describes the desired state of resources using a configuration language that organizes infrastructure into logical modules. ([source](https://developer.hashicorp.com/terraform/docs/glossary))
- [Deployment Lifecycle Workflows](https://awesome-repositories.com/f/devops-infrastructure/deployment-lifecycle-workflows.md) — Separates infrastructure changes into distinct planning, applying, and state-updating phases for predictable outcomes.
- [Extensible Provider Frameworks](https://awesome-repositories.com/f/devops-infrastructure/extensible-provider-frameworks.md) — Enables integration of diverse third-party service APIs into a unified management workflow through standardized interfaces.
- [Infrastructure Modules](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-modules.md) — Supports the creation and verification of reusable infrastructure modules for standardized deployments. ([source](https://developer.hashicorp.com/terraform/docs/partnerships))
- [Provider Plugin Architectures](https://awesome-repositories.com/f/devops-infrastructure/provider-plugin-architectures.md) — Decouples core logic from service APIs by executing external binaries to translate resource requests.
- [Infrastructure Provider Integrations](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-provider-integrations.md) — Extends infrastructure management capabilities through plugins that interface with specific service APIs.
- [Collaborative Infrastructure Platforms](https://awesome-repositories.com/f/devops-infrastructure/collaborative-infrastructure-platforms.md) — Coordinates team workflows through shared state management and automated governance policies for infrastructure deployments. ([source](https://developer.hashicorp.com/terraform/docs))
- [Configuration Parsers](https://awesome-repositories.com/f/devops-infrastructure/configuration-parsers.md) — Parses declarative configuration files into internal state representations to drive infrastructure planning.
- [Infrastructure Integrations](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-integrations.md) — Synchronizes infrastructure state with external orchestration and automation platforms. ([source](https://developer.hashicorp.com/terraform/docs/tools))
- [Lifecycle Hooks](https://awesome-repositories.com/f/devops-infrastructure/lifecycle-hooks.md) — Triggers external validation and gating tasks during infrastructure lifecycle stages. ([source](https://developer.hashicorp.com/terraform/docs/partnerships))

### Security & Cryptography

- [Policy-As-Code Engines](https://awesome-repositories.com/f/security-cryptography/policy-as-code-engines.md) — Validates infrastructure changes against security and compliance rules before applying modifications.
- [Infrastructure Policy Enforcement](https://awesome-repositories.com/f/security-cryptography/infrastructure-policy-enforcement.md) — Enforces security and compliance policies across infrastructure operations using code-based logic. ([source](https://developer.hashicorp.com/terraform/docs/tools))
