View on GitHub

manual-da-engenharia-para-codar

Este é o manual para compromissos de "código com" a engenharia.

Revisão de Código em Terraform

Guia de Estilo

Os desenvolvedores devem seguir o guia de estilo do Terraform.

Projetos devem verificar os scripts do Terraform com ferramentas automatizadas.

Análise de Código / Linting

TFLint

O TFLint é um linter do Terraform focado em possíveis erros, melhores práticas, etc. Uma vez instalado o TFLint no ambiente, ele pode ser invocado usando a extensão do VS Code terraform.

Extensões do VS Code

As seguintes extensões do VS Code são amplamente utilizadas.

Extensão Terraform

Esta extensão fornece realce de sintaxe, lintagem, formatação e capacidades de validação.

Extensão Azure Terraform

Esta extensão oferece suporte aos comandos do Terraform, visualização de gráfico de recursos e integração com o CloudShell dentro do VS Code.

Validação de Build

Certifique-se de aplicar os guias de estilo durante a construção. O seguinte script de exemplo pode ser usado para instalar o Terraform e um linter que verifica a formatação e erros comuns.

#! /bin/bash
set -e

SCRIPT_DIR=$(dirname "$BASH_SOURCE")
cd "$SCRIPT_DIR"

TF_VERSION=0.12.4
TF_LINT_VERSION=0.9.1

echo -e "\n\n>>> Instalando Terraform 0.12"
# Instale as ferramentas do Terraform para a verificação de formatação
wget -q https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_linux_amd64.zip -O /tmp/terraform.zip
sudo unzip -q -o -d /usr/local/bin/ /tmp/terraform.zip

echo ""
echo -e "\n\n>>> Instalando o TFLint (terceiros)"
wget -q https://github.com/wata727/tflint/releases/download/v${TF_LINT_VERSION}/tflint_linux_amd64.zip -O /tmp/tflint.zip
sudo unzip -q -o -d /usr/local/bin/ /tmp/tflint.zip

echo -e "\n\n>>> Versão do Terraform"
terraform -version

echo -e "\n\n>>> Formato do Terraform (se falhar, use o comando 'terraform fmt -recursive' para resolver"
terraform fmt -recursive -diff -check

echo -e "\n\n>>> TFLint"
tflint

echo -e "\n\n>>> Terraform init"
terraform init

echo -e "\n\n>>> Terraform validate"
terraform validate

Lista de Verificação de Revisão de Código

Além da Lista de Verificação de Revisão de Código, você também deve procurar por esses itens específicos de revisão de código do Terraform.

Provedores

Organização do Repositório

Estado do Terraform

Variáveis

Testes

Nomeação e Estrutura do Código

Recomendações Gerais