Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #4350

terraform-module-library

Faz seu agente usar padrões de módulos Terraform prontos para produção para AWS, Azure e GCP. Ajuda a construir infraestrutura de nuvem de forma eficiente e confiável.

O que ela faz

Esta ferramenta ajuda a criar blocos de código reutilizáveis (módulos) para configurar infraestrutura na nuvem (como redes e bancos de dados) usando Terraform. Ela oferece modelos prontos para provedores como AWS, Azure e GCP.

Quando usar

  • ✓Ao construir componentes de infraestrutura que serão usados várias vezes.
  • ✓Para padronizar como os recursos da nuvem são criados.
  • ✓Ao querer seguir as melhores práticas de 'infraestrutura como código'.

Exemplo do que pedir para a IA

“Crie um módulo Terraform para uma rede virtual na AWS, seguindo as melhores práticas.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/terraform-module-library/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/terraform-module-library/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta fornece estruturas e exemplos de código para diferentes serviços na nuvem. Você escolhe um modelo, adapta as configurações necessárias e o Terraform cuida da criação da infraestrutura.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill terraform-module-library

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/terraform-module-library/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Disponibilidade de material de suporte

Esta cópia do catálogo contém as orientações inline abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos agrupados:

  • <support-root>/assets/vpc-module/
  • <support-root>/assets/rds-module/
  • <support-root>/references/azure-modules.md
  • <support-root>/references/gcp-modules.md

Solicite o material de suporte original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças aplicáveis e pré-requisitos de execução. Não execute um comando nem afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não fabrique os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.

Biblioteca de Módulos Terraform

Padrões de módulos Terraform prontos para produção para infraestrutura AWS, Azure e GCP.

Não use esta habilidade quando

  • A tarefa não estiver relacionada à biblioteca de módulos terraform
  • Você precisar de um domínio ou ferramenta diferente fora deste escopo

Instruções

  • Clarifique objetivos, restrições e entradas necessárias.
  • Aplique as melhores práticas relevantes e valide os resultados.
  • Forneça etapas acionáveis e verificação.

Propósito

Criar módulos Terraform reutilizáveis e bem testados para padrões comuns de infraestrutura em nuvem em vários provedores de nuvem.

Use esta habilidade quando

  • Construir componentes de infraestrutura reutilizáveis
  • Padronizar o provisionamento de recursos em nuvem
  • Implementar as melhores práticas de infraestrutura como código
  • Criar módulos compatíveis com multi-cloud
  • Estabelecer padrões organizacionais do Terraform

Estrutura do Módulo

terraform-modules/
├── aws/
│   ├── vpc/
│   ├── eks/
│   ├── rds/
│   └── s3/
├── azure/
│   ├── vnet/
│   ├── aks/
│   └── storage/
└── gcp/
    ├── vpc/
    ├── gke/
    └── cloud-sql/

Padrão de Módulo Padrão

module-name/
├── main.tf          # Main resources
├── variables.tf     # Input variables
├── outputs.tf       # Output values
├── versions.tf      # Provider versions
├── README.md        # Documentation
├── examples/        # Usage examples
│   └── complete/
│       ├── main.tf
│       └── variables.tf
└── tests/           # Terratest files
    └── module_test.go

Exemplo de Módulo VPC da AWS

main.tf:

resource "aws_vpc" "main" {
  cidr_block           = var.cidr_block
  enable_dns_hostnames = var.enable_dns_hostnames
  enable_dns_support   = var.enable_dns_support

  tags = merge(
    {
      Name = var.name
    },
    var.tags
  )
}

resource "aws_subnet" "private" {
  count             = length(var.private_subnet_cidrs)
  vpc_id            = aws_vpc.main.id
  cidr_block        = var.private_subnet_cidrs[count.index]
  availability_zone = var.availability_zones[count.index]

  tags = merge(
    {
      Name = "${var.name}-private-${count.index + 1}"
      Tier = "private"
    },
    var.tags
  )
}

resource "aws_internet_gateway" "main" {
  count  = var.create_internet_gateway ? 1 : 0
  vpc_id = aws_vpc.main.id

  tags = merge(
    {
      Name = "${var.name}-igw"
    },
    var.tags
  )
}

variables.tf:

variable "name" {
  description = "Name of the VPC"
  type        = string
}

variable "cidr_block" {
  description = "CIDR block for VPC"
  type        = string
  validation {
    condition     = can(regex("^([0-9]{1,3}\\.){3}[0-9]{1,3}/[0-9]{1,2}$", var.cidr_block))
    error_message = "CIDR block must be valid IPv4 CIDR notation."
  }
}

variable "availability_zones" {
  description = "List of availability zones"
  type        = list(string)
}

variable "private_subnet_cidrs" {
  description = "CIDR blocks for private subnets"
  type        = list(string)
  default     = []
}

variable "enable_dns_hostnames" {
  description = "Enable DNS hostnames in VPC"
  type        = bool
  default     = true
}

variable "tags" {
  description = "Additional tags"
  type        = map(string)
  default     = {}
}

outputs.tf:

output "vpc_id" {
  description = "ID of the VPC"
  value       = aws_vpc.main.id
}

output "private_subnet_ids" {
  description = "IDs of private subnets"
  value       = aws_subnet.private[*].id
}

output "vpc_cidr_block" {
  description = "CIDR block of VPC"
  value       = aws_vpc.main.cidr_block
}

Melhores Práticas

…

Perguntas frequentes

O que é Terraform?

Terraform é uma ferramenta que permite descrever e provisionar infraestrutura de nuvem usando código, tornando o processo repetível e confiável.

O que são módulos Terraform?

Módulos são pacotes de recursos Terraform que podem ser reutilizados em diferentes projetos ou partes de um projeto, como blocos de construção.

Quais provedores de nuvem são suportados?

Os principais provedores suportados são AWS, Azure e Google Cloud Platform (GCP).

Detalhes

Descrição original do autor

Production-ready Terraform module patterns for AWS, Azure, and GCP infrastructure.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4350
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas