Table of Contents

Concepts Section

CI CD and Git

Terraform Cloud

GitHub and Azure Devops

Download and install

Recommend VS Code Extensions

Testing Tools

  • TFLint - Terraform linter focused on possible errors, best practices, etc
  • terraform-compliance - Lightweight, security and compliance focused test framework against terraform to enable negative testing capability for your infrastructure-as-code
  • Terratest - A Go library that makes it easier to write automated tests for your infrastructure code. It provides a variety of helper functions and patterns for common infrastructure testing tasks
  • Kitchen-Terraform - Set of Test Kitchen plugins which enable a system to use Test Kitchen to converge a Terraform configuration and verify the resulting Terraform state with InSpec controls
  • tfsec - tfsec uses static analysis of your terraform templates to spot potential security issues.

Additional Tools

  • TerraCognita - Read from your existing cloud providers and generate IaC in Terraform
  • InfraMap - Reads .tfstate or HCL to generate a graph specific for each provider
  • TerraCost - Cloud cost estimation for Terraform in the CLI
  • Blast-Radius - Tool for reasoning about Terraform dependency graphs with interactive visualizations
  • Terragrunt - Thin wrapper for Terraform that provides extra tools for keeping your Terraform configurations DRY, working with multiple Terraform modules, and managing remote state
  • terraform docs - Generate Terraform modules documentation in various formats.
  • tfswitcher for Windows - Windows was missing a Terraform version switching tool. I wrote some PowerShell functions that can be run via the PowerShell Profile that get the job done.
  • The Big Book of PowerShell Error Handling