Terraform
Terraform tools
Terraform is part of a rich infrastructure and DevOps ecosystem. The tools below extend Terraform’s functionality or pair with Terraform to solve a broad range of infrastructure challenges.
Develop and Validate Configuration
| Name | Maintainer | Description | Tutorial | 
|---|---|---|---|
| Cloud Development Kit for Terraform (CDKTF) | HashiCorp | Use familiar programming languages to define and provision infrastructure. CDKTF currently supports TypeScript, Python, Java, C#, and Go (experimental). | Write CDK for Terraform configurations | 
| Visual Studio Code Extension | HashiCorp | Enable syntax highlighting and other editing features in VS Code using the Terraform Language Server. | |
| Language Server | HashiCorp | Add support for the Terraform configuration language to editors that use the Language Server Protocol, like Sublime Text, vim, emacs, etc. | |
| console | HashiCorp | Evaluate Terraform expressions and explore your Terraform project's state. The console helps you develop and debug your configuration, especially when working with complex state data and Terraform expressions. | Develop Configuration with the Console | 
| Terraform MCP server | HashiCorp | Helps you use an AI or LLM to write Terraform configuration by retrieving data directly from the Terraform registry. | 
Manage Infrastructure
| Name | Maintainer | Description | Tutorial | 
|---|---|---|---|
| Kubernetes Operator for Terraform | HashiCorp | Manage cloud and on-prem infrastructure through a Kubernetes custom resource definition (CRD) and HCP Terraform. | Deploy Infrastructure with the HCP Terraform Operator for Kubernetes | 
| ServiceNow Catalog | HashiCorp | Create Terraform configuration to order Service Items, create workspaces, and perform Terraform runs from ServiceNow. | |
| Consul Terraform Sync (CTS) | HashiCorp | Automatically request network infrastructure updates to accommodate Consul service registrations. Works with A10 ADC, F5 BIG IP, Palo Alto Networks, and more. | Network Infrastructure Automation (NIA) | 
Automate Terraform
| Name | Maintainer | Description | Tutorial | 
|---|---|---|---|
| terraform-exec | HashiCorp | Use this Go module to construct and run CLI commands. Refer to the terraform-jsonrepository (below) for documentation about the return values. | |
| terraform-json | HashiCorp | Use the data types and helper functions in this repository to work with JSON-formatted Terraform output. | |
| TFE Provider | HashiCorp | Manage HCP Terraform or Terraform Enterprise with Terraform itself. Create, modify, and delete organizations, workspaces, teams, variables, run triggers, policy sets, and more. | |
| CircleCI Orb | Third Party | Deploy your Terraform infrastructure with a CircleCI pipeline. CircleCI Orbs let you package, ship, and re-use configurations. | Deploy Terraform infrastructure with CircleCI | 
| GitHub Actions for Terraform | Third Party | Automate Terraform in your GitHub Actions workflow. After you have used the action, subsequent steps in the same job can run Terraform commands using the GitHub Actions run syntax. | Automate Terraform with GitHub Actions | 
Security and Compliance
| Name | Maintainer | Description | Tutorial | 
|---|---|---|---|
| Splunk and HCP Terraform | HashiCorp | Pull audit logs from HCP Terraform into Splunk to identify the most active policies, understand significant changes in resource operations, and filter actions by specific users within your organization. | |
| Sentinel | HashiCorp | Write and enforce fine-grained, logic-based policies for your infrastructure. Sentinel is an embedded policy-as-code framework integrated with the HashiCorp Enterprise products. | Enforce Policy with Sentinel | 
Develop Terraform Providers
| Name | Maintainer | Description | Tutorial | 
|---|---|---|---|
| Plugin Framework | HashiCorp | A new SDK to develop your own Terraform providers. The framework provides improvements and additional features beyond what is available in the Plugin SDK. | Implement a Provider with the Terraform Plugin Framework | 
| terraform-plugin-testing | HashiCorp | is a module for testing Terraform providers using real configurations to simulate the plan, apply, refresh, and destroy life cycles. | |
| terraform-plugin-mux | HashiCorp | Combine providers built using different SDKs and frameworks. This lets you upgrade between SDKs or frameworks on a resource-by-resource basis instead of all at once. | |
| terraform-plugin-log | HashiCorp | Attach context and information to logs and use multiple loggers to filter log output. | |
| ghaction-terraform-provider-release | HashiCorp | GitHub Action Workflows for releasing Terraform Providers to the public Registry. | 
HashiCorp Products
You can use HashiCorp products together to enable self-service automation across teams and organizations.
| Name | Maintainer | Description | Tutorial | 
|---|---|---|---|
| HashiCorp Cloud Platform (HCP) Provider | HashiCorp | Launch and run HashiCorp products as managed services that will be deployed into HashiCorp Virtual Networks (HVNs) and connected to your infrastructure resources. | |
| Vault provider | HashiCorp | Vault lets you secure, store, and tightly control access to tokens, passwords, certificates, encryption keys, and other sensitive data. Use this provider to read from, write to, and configure Vault. | Inject Secrets into Terraform Using the Vault Provider | 
| Consul Provider | HashiCorp | Consul provides service-based networking for dynamic infrastructure. Use this provider to add external services to Consul, work with the key/value store, and more, using Terraform. | Use Terraform to Register External Services | 
| HashiCorp Consul Service (HCS) | HashiCorp | Provision HashiCorp-managed Consul clusters directly through the Azure Marketplace. | |
| HCP Packer registry | HashiCorp | Packer lets you create identical machine images for multiple platforms from a single source template. Use the registry to track golden images, designate images for test and production environments, and query images to use in both Packer and Terraform configurations. | Push Image Metadata to the HCP Packer Registry | 
| Boundary Provider | HashiCorp | Boundary is an intelligent proxy that creates granular, identity-based access controls for dynamic infrastructure. Use this provider to manage Boundary access controls for resources provisioned with Terraform. | |
| Nomad AWS Module | Third Party | Nomad is a distributed, highly-available, data-center aware scheduler. Use Terraform to deploy a Nomad cluster on Amazon Web Services (AWS). |