weekly.tf #29 - testing and reversing terraform

Back with another issue of the almost-weekly, mostly-terraform newsletter.

To build these newsletters I spend a good amount of time trawling through aggregators like reddit, medium archives and hashicorp forums. But I doubt I catch everything that should be covered.

Please always feel free to email me tips at [email protected] or via twitter dm.

You can write terraform tests in Go, Ruby or Python and now you can also write them in HCL. terraspec is a new (to me) project which enables testing terraform configurations using an HCL-based DSL.

Not sure how I feel about this. HCL is useful (most of the time) for infrastructure code because its declarative nature allows the runtime to do more of the heavy lifting. One thing that looks interesting is the ability to mock data source.

terracognita will read cloud resources and and generate terraform code. I have only poked around at this project a bit, but don't really understand how to distinguish it from the more popular terraformer. Any insights?

Terraform 0.14 will make it easier to protect sensitive values in configurations.

Terraform plan diffs are doing to look a lot better in 0.14.

Notable Releases

The changelog here is from 0.13 to 0.14, so hard to track the rc1 specific changes.

0.14 seems close, check out this release if you want to test before the release is final.

Terratest (a library for testing terraform code in Go) has a new feature - the ability to test terraform plans. Before this change, terratest would help with testing configurations that have been applied, rather than plans. Take a look at an example test to see how it works.

The terraform language server provides editor-agnostic support for working with terraform.

This version adds some basic support for auto-completion of core blocks, like backends, providers, etc.