opentofu-migration
Ajuda seu agente a mudar ferramentas de infraestrutura. Ele transfere configurações antigas para um novo sistema sem problemas.
O que ela faz
Esta ferramenta ajuda você a mudar seus códigos de infraestrutura de nuvem do Terraform para o OpenTofu. O OpenTofu é uma versão de código aberto e gratuita do Terraform.
Quando usar
- ✓Quando você precisa migrar do Terraform para o OpenTofu por questões de licenciamento.
- ✓Ao iniciar um novo projeto e comparar OpenTofu com Terraform.
- ✓Para atualizar seus sistemas de integração e entrega contínua (CI/CD) para usar OpenTofu.
Exemplo do que pedir para a IA
“Como posso migrar meu código Terraform atual para o OpenTofu?”
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
A ferramenta substitui comandos do Terraform por comandos equivalentes do OpenTofu e ajuda a atualizar arquivos de configuração para garantir a compatibilidade. Ela também orienta na atualização de pipelines de CI/CD.
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 opentofu-migrationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/opentofu-migration/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.
Migração para OpenTofu
Migre sua infraestrutura como código do HashiCorp Terraform para o fork de código aberto OpenTofu.
Quando Usar Esta Habilidade
Use esta habilidade quando:
- Migrando do Terraform para o OpenTofu por motivos de licenciamento
- Configurando um novo projeto de IaC e avaliando OpenTofu vs Terraform
- Atualizando pipelines de CI/CD para usar OpenTofu
- Configurando o registro de provedores do OpenTofu
Pré-requisitos
- Código-fonte Terraform existente (0.13+)
- CLI do OpenTofu instalada
- Acesso ao backend de estado (S3, GCS, Azure Blob, etc.)
Instalar OpenTofu
# macOS
brew install opentofu
# Linux (Debian/Ubuntu)
curl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh \
-o install-opentofu.sh
chmod +x install-opentofu.sh
./install-opentofu.sh --install-method deb
rm install-opentofu.sh
# Linux (RPM)
./install-opentofu.sh --install-method rpm
# Docker
docker run --rm -v $(pwd):/workspace -w /workspace \
ghcr.io/opentofu/opentofu:latest init
# Verify installation
tofu --version
Checklist de Migração
1. Verificar Compatibilidade
# OpenTofu reads Terraform state files directly — no migration needed
# Check your Terraform version (must be <= 1.6.x for full compat)
terraform version
# Run plan with OpenTofu against existing state
tofu init
tofu plan
2. Substituir Comandos da CLI
| Terraform | OpenTofu |
|---|---|
terraform init |
tofu init |
terraform plan |
tofu plan |
terraform apply |
tofu apply |
terraform destroy |
tofu destroy |
terraform fmt |
tofu fmt |
terraform validate |
tofu validate |
terraform state |
tofu state |
terraform import |
tofu import |
3. Atualizar Arquivo de Bloqueio de Provedor
# Remove Terraform lock and regenerate for OpenTofu
rm .terraform.lock.hcl
tofu init -upgrade
# Verify providers resolve correctly
tofu providers
4. Atualizar Backend de Estado
Os arquivos de estado são compatíveis — nenhuma migração é necessária. Apenas verifique:
# backend.tf — works identically with OpenTofu
terraform {
backend "s3" {
bucket = "mycompany-tfstate"
key = "prod/infrastructure.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-locks"
encrypt = true
}
}
# Verify state access
tofu init
tofu state list
5. Registro de Provedores
O OpenTofu usa seu próprio registro, mas espelha a maioria dos provedores do Terraform:
# versions.tf
terraform {
required_version = ">= 1.6.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "~> 2.25"
}
# OpenTofu-specific providers
random = {
source = "hashicorp/random"
version = "~> 3.6"
}
}
}
Recursos Específicos do OpenTofu
Criptografia de Estado (Não no Terraform)
# OpenTofu supports native state encryption
terraform {
encryption {
key_provider "pbkdf2" "my_key" {
passphrase = var.state_passphrase
}
method "aes_gcm" "encrypt" {
keys = key_provider.pbkdf2.my_key
}
state {
method = method.aes_gcm.encrypt
enforced = true
}
plan {
method = method.aes_gcm.encrypt
enforced = true
}
}
}
Avaliação Antecipada de Variáveis/Locais
# OpenTofu allows variables in backend config and module sources
terraform {
backend "s3" {
bucket = var.state_bucket # Works in OpenTofu, not Terraform
key = "${var.project}/terraform.tfstate"
region = var.aws_region
}
}
Atualizações de Pipeline de CI/CD
GitHub Actions
# .github/workflows/tofu.yml
name: OpenTofu
on:
pull_request:
paths: ["infra/**"]
push:
branches: [main]
paths: ["infra/**"]
permissions:
id-token: write
contents: read
pull-requests: write
jobs:
plan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configurar OpenTofu
uses: opentofu/setup-opentofu@v1
with:
tofu_version: "1.8.0"
- name: Configurar credenciais AWS
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789:role/tofu-deploy
aws-region: us-east-1
- name: Init
run: tofu init
working-directory: infra/
- name: Plan
id: plan
run: tofu plan -no-color -out=tfplan
working-directory: infra/
- name: Comentar PR com o plano
…
Perguntas frequentes
Meus arquivos de estado do Terraform funcionarão com o OpenTofu?
Sim, os arquivos de estado são compatíveis. Você não precisa migrá-los, apenas garantir que o OpenTofu possa acessá-los.
Preciso reinstalar meus provedores?
Você precisará remover o arquivo de bloqueio do Terraform (`.terraform.lock.hcl`) e executar `tofu init -upgrade` para que o OpenTofu baixe e bloqueie as versões corretas dos provedores.
O OpenTofu tem recursos que o Terraform não tem?
Sim, o OpenTofu oferece recursos como criptografia nativa de estado e a capacidade de usar variáveis em configurações de backend e fontes de módulos, que não estão disponíveis no Terraform.
Detalhes
Descrição original do autor
Migrate from Terraform to OpenTofu with state compatibility, provider registry setup, and CI/CD pipeline updates. Use when adopting the open-source Terraform fork or evaluating license-free IaC.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3770
- 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