terraform-gcp
Faz seu agente provisionar infraestrutura GCP usando Terraform. Permite configurar provedores e implantar recursos do Google Cloud de forma declarativa.
O que ela faz
Esta ferramenta ajuda a criar e gerenciar a infraestrutura do Google Cloud (GCP) usando o Terraform. Ela permite definir seus recursos de nuvem em código, tornando as implantações repetíveis e fáceis de auditar.
Quando usar
- ✓Ao definir sua infraestrutura do GCP como código para implantações repetíveis.
- ✓Ao gerenciar diferentes ambientes (desenvolvimento, produção) a partir de um único lugar.
- ✓Ao configurar múltiplos recursos do GCP de uma vez, como redes e clusters.
Exemplo do que pedir para a IA
“Configure minha infraestrutura do GCP para um novo projeto de desenvolvimento com rede e um cluster GKE.”
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
Mensagem pronta para colar
Como funciona
Você escreve arquivos de configuração que descrevem os recursos do GCP que deseja. O Terraform lê esses arquivos e interage com o Google Cloud para criar ou modificar sua 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-gcpOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/terraform-gcp/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Terraform GCP
Provisão e gerenciamento de infraestrutura do Google Cloud Platform usando Terraform com o provedor hashicorp/google.
Quando Usar
- Definir infraestrutura GCP como código para implantações repetíveis e auditáveis
- Gerenciar configurações multi-ambiente (dev, staging, produção) a partir de uma única base de código
- Provisionar grafos de recursos complexos (VPC + GKE + Cloud SQL + IAM) em um único plano
- Integrar alterações de infraestrutura em pipelines de CI/CD com estágios de plan/apply
Pré-requisitos
- Terraform >= 1.5 instalado
- Google Cloud SDK ou uma chave de conta de serviço para CI
- Um projeto GCP com faturamento ativado
gcloud auth application-default login # local dev
export GOOGLE_APPLICATION_CREDENTIALS="sa.json" # CI/CD
terraform version
Configuração do Provedor
# versions.tf
terraform {
required_version = ">= 1.5"
required_providers {
google = { source = "hashicorp/google"; version = "~> 5.0" }
google-beta = { source = "hashicorp/google-beta"; version = "~> 5.0" }
}
backend "gcs" { bucket = "my-project-tf-state"; prefix = "terraform/state" }
}
provider "google" { project = var.project_id; region = var.region }
provider "google-beta" { project = var.project_id; region = var.region }
# variables.tf
variable "project_id" { type = string }
variable "region" { type = string; default = "us-central1" }
variable "environment" {
type = string
validation {
condition = contains(["dev", "staging", "production"], var.environment)
error_message = "Must be dev, staging, or production."
}
}
Configuração do Projeto e Bucket de Estado
gcloud storage buckets create gs://my-project-tf-state \
--location=us-central1 --uniform-bucket-level-access --public-access-prevention
gcloud storage buckets update gs://my-project-tf-state --versioning
terraform init
terraform plan -var="project_id=my-project" -var="environment=production" -out=tfplan
terraform apply tfplan
resource "google_project_service" "apis" {
for_each = toset([
"compute.googleapis.com", "container.googleapis.com",
"sqladmin.googleapis.com", "servicenetworking.googleapis.com",
"cloudfunctions.googleapis.com", "run.googleapis.com",
"secretmanager.googleapis.com", "artifactregistry.googleapis.com",
])
project = var.project_id
service = each.value
disable_dependent_services = false
disable_on_destroy = false
}
Módulo de Rede
# modules/networking/main.tf
resource "google_compute_network" "vpc" {
name = "${var.environment}-vpc"
auto_create_subnetworks = false
routing_mode = "REGIONAL"
}
resource "google_compute_subnetwork" "main" {
name = "${var.environment}-main-subnet"
ip_cidr_range = var.subnet_cidr
region = var.region
network = google_compute_network.vpc.id
private_ip_google_access = true
log_config { aggregation_interval = "INTERVAL_5_SEC"; flow_sampling = 0.5 }
}
resource "google_compute_subnetwork" "gke" {
name = "${var.environment}-gke-subnet"
ip_cidr_range = var.gke_subnet_cidr
region = var.region
network = google_compute_network.vpc.id
private_ip_google_access = true
secondary_ip_range { range_name = "pods"; ip_cidr_range = var.pods_cidr }
secondary_ip_range { range_name = "services"; ip_cidr_range = var.services_cidr }
}
resource "google_compute_firewall" "allow_iap" {
name = "${var.environment}-allow-iap"
network = google_compute_network.vpc.name
allow { protocol = "tcp"; ports = ["22", "3389"] }
source_ranges = ["35.235.240.0/20"]
}
resource "google_compute_router" "router" {
name = "${var.environment}-router"
region = var.region
network = google_compute_network.vpc.id
}
resource "google_compute_router_nat" "nat" {
name = "${var.environment}-nat"
router = google_compute_router.router.name
region = var.region
nat_ip_allocate_option = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
log_config { enable = true; filter = "ERRORS_ONLY" }
}
output "vpc_id" { value = google_compute_network.vpc.id }
output "gke_subnet_id" { value = google_compute_subnetwork.gke.id }
Módulo de Cluster GKE
# modules/gke/main.tf
…
Perguntas frequentes
O que é Terraform?
Terraform é uma ferramenta que permite gerenciar infraestrutura de nuvem (como servidores, bancos de dados) através de código, tornando o processo mais automatizado e confiável.
O que é Google Cloud Platform (GCP)?
GCP é um conjunto de serviços de computação em nuvem oferecidos pelo Google, como armazenamento, bancos de dados e máquinas virtuais.
O que significa 'infraestrutura como código'?
É a prática de gerenciar e provisionar sua infraestrutura de TI através de arquivos de definição legíveis por máquina, em vez de configuração manual.
Detalhes
Descrição original do autor
Provision GCP infrastructure with Terraform. Configure providers and deploy Google Cloud resources. Use when implementing IaC for GCP.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4348
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC