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. Run the server locally, host it yourself, or connect to the remote Terraform MCP server that HashiCorp hosts for HCP Terraform users. |
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-json repository (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). |