Terraform Docs: Como Gerar Documentação Automática no Terraform
Olá pessoal!
Tudo bem com vocês?
Hoje no blog da 4Linux, vamos falar sobre uma ferramenta incrível para documentar sua infraestrutura como código: o Terraform Docs (terraform-docs).
Com ela, é possível gerar documentação automática, padronizada e sempre atualizada dos seus módulos Terraform — economizando tempo e evitando erros.
O que é o Terraform Docs?
Quando trabalhamos com Terraform, criamos infraestrutura como código (IaC) com clareza e intenção. Porém, essa clareza se perde quando falta documentação atualizada nos módulos.
O Terraform Docs é uma ferramenta de linha de comando simples e poderosa que gera documentação automaticamente a partir dos módulos Terraform. Ele suporta diversos formatos, como Markdown, JSON, AsciiDoc e YAML.
Com ele, você mantém um README.md sempre sincronizado com seu código — seja executando manualmente no terminal, integrando em um pipeline CI/CD ou usando hooks de pré-commit. Assim, variáveis, outputs, providers e dependências ficam sempre documentados sem edição manual.
Eu uso bastante o terraform-docs para documentar meus módulos Terraform e OpenTofu, e recomendo!
Instalando Docker
Vamos instalar o Docker rapidamente via script para executar o terraform-docs sem instalar nada diretamente no sistema.
curl -fsSL https://get.docker.com -o docker-install.sh && sh docker-install.sh
Para validar que o Docker está em execução:
$ docker version
Client: Docker Engine - Community
Version: 28.3.2
API version: 1.51
Go version: go1.24.5
Git commit: 578ccf6
Built: Wed Jul 9 16:13:42 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.3.2
API version: 1.51 (minimum version 1.24)
Go version: go1.24.5
Git commit: e77ff99
Built: Wed Jul 9 16:13:42 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Gerando documentação automática com Terraform Docs
Vamos demonstrar usando um repositório público com um projeto Terraform para Google Cloud Platform (GCP).
Clone o repositório:
git clone https://github.com/4linux/terraform-docs-4labs.git && cd terraform-docs-4labs.git
O terraform-docs permite gerar a documentação em vários formatos (JSON, YAML, Markdown). Aqui, vamos gerar em Markdown:
docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) quay.io/terraform-docs/terraform-docs:0.20.0 markdown /terraform-docs > doc.md
O resultado será salvo no arquivo doc.md com todas as variáveis, outputs e dependências documentadas.
Resultado do output abaixo:


Resultado completo no repo https://github.com/4linux/terraform-docs-4labs/blob/main/doc.md
Bacana né pessoal? Curtiram?
Benefícios de usar o Terraform Docs
- Mantém a documentação sempre atualizada
- Padroniza a forma de documentar módulos Terraform
- Evita inconsistências entre código e README
- Integra facilmente em pipelines CI/CD
- Suporte a múltiplos formatos de saída
Conclusão
Manter a documentação da infraestrutura como código é tão importante quanto versioná-la e testá-la.
Com o Terraform Docs, conseguimos automatizar a criação de documentação limpa, legível e alinhada com os padrões do Terraform — sem esforço manual.
Neste post, vimos:
- Como instalar o Docker rapidamente
- Como rodar o terraform-docs em um único comando
- Como gerar documentação em Markdown para módulos Terraform
Se você ainda não documenta seus módulos, este é o momento de começar. Com o terraform-docs, esse processo se torna rápido, confiável e automatizável.
Então é isso galera! Nos veremos no proximo post. Compartilhe em suas redes sociais!
Tmj!
Referências
About author
Você pode gostar também
DevSecOps: Como usar o SonarQube para análise de vulnerabilidades
Quando falamos de DevSecOps, estive um termo chamado Shift Left, que consiste em analisar questões de segurança desde o inicio do desenvolvimento de uma aplicação, ao invés do modelo tradicional
4Linux se torna A.T.O do EXIN com curso homologado para DEVOPS Master
Material didático desenvolvido pela 4Linux foi homologado pelo EXIN A 4linux acaba de se tornar um A.T.O. (Authorized Training Organization) do EXIN e simultaneamente teve o material de seu curso
Segurança e Boas Práticas na Criação e Geração de Imagens Docker: Do Dockerfile ao Deploy com Hadolint, SonarQube e Trivy
A conteinerização revolucionou a forma como desenvolvemos e implantamos aplicações, oferecendo consistência e escalabilidade. No entanto, com essa evolução, a segurança se torna uma preocupação crucial. Neste post, vamos explorar as melhores práticas para criar imagens Docker seguras, desde a elaboração do Dockerfile utilizando boas práticas e ferramentas como Hadolint e SonarQube, até a implementação de uma pipeline de deploy com Trivy. Por Que a Segurança em Imagens Docker é Essencial? Imagens Docker comprometidas podem expor aplicações a vulnerabilidades, afetando a integridade dos sistemas e a confidencialidade dos dados. Implementar medidas de segurança desde a concepção do Dockerfile até o deploy é fundamental para mitigar riscos. Boas Práticas na Criação do Dockerfile 1. Utilize Imagens Base Oficiais e







