This document discusses tools for improving Terraform code quality, including built-in Terraform tools like fmt and validate, third-party tools like TFLint, local tools using pre-commit, and continuous integration using GitHub Actions. It provides examples of configuring TFLint and pre-commit for local validation and formatting, and implementing GitHub Actions workflows to run fmt, validate, and TFLint on pull requests.
4. Agenda Terraform-native
terraform fmt and terraform validate
TFLint and pre-commit
Local options to improve code
GitHub Actions
Validate code on git push
10. Command: tflint
TERMINAL
> tflint
1 issue(s) found:
Warning: data "google_projects" "projects" is declared but not
used (terraform_unused_declarations)
on data-sources.tf line 11:
11: data "google_projects" "projects" {
13. Command: pre-commit run
TERMINAL
> pre-commit run --all-files
Terraform fmt............................................Passed
Terraform validate.......................................Passed
Check for added large files..............................Passed
Check for case conflicts.................................Passed
Check for merge conflicts................................Passed
Check that executables have shebangs....................Skipped
Check JSON..............................................Skipped
Check for merge conflicts................................Passed
Check for broken symlinks...............................Skipped
Check vcs permalinks.....................................Passed
markdownlint.............................................Passed