Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 9.1 KB

terraform-tools.mdx

File metadata and controls

73 lines (53 loc) · 9.1 KB
page_title description
Terraform Tools
Use these tools with Terraform to solve a broad range of infrastructure and DevOps challenges.

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

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 Terraform Cloud. Deploy Infrastructure with the Terraform Cloud 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 Terraform Cloud 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 Terraform Cloud HashiCorp Pull audit logs from Terraform Cloud 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 SDK HashiCorp Develop your own Terraform providers. Setup and Implement Read
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 Create and Read with the Terraform Plugin Framework
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-go HashiCorp Use low-level Go bindings for the Terraform plugin protocol as a foundation for integrations.
terraform-plugin-go-contrib HashiCorp Use this set of common code packages with terraform-plugin-go.
terraform-plugin-log HashiCorp Attach context and information to logs and use multiple loggers to filter log output.

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).