Pular para o conteúdo
OpenTofu 1.12.0 chega com prevent_destroy dinâmico e melhorias de performance

OpenTofu 1.12.0 chega com prevent_destroy dinâmico e melhorias de performance

OpenTofu 1.12.0 traz prevent_destroy dinâmico, novo formato de saída, melhorias de checksum e remoção de suporte a WinRM e 32‑bits.

A comunidade OpenTofu anunciou a disponibilização da versão v1.12.0, que incorpora meses de desenvolvimento e traz funcionalidades voltadas para automação, segurança e desempenho. Entre os destaques estão o argumento prevent_destroy dinâmico, novos formatos de saída simultâneos e aprimoramentos no gerenciamento de checksums de provedores.

Principais novidades

prevent_destroy dinâmico

O argumento prevent_destroy do bloco lifecycle de recursos agora aceita referências a variáveis ou outros símbolos dentro do mesmo módulo. Isso permite habilitar ou desabilitar a proteção contra destruição de forma contextual, por exemplo, diferindo entre ambientes de produção e desenvolvimento.

variable "prevent_destroy_database" {
  type    = bool
  default = true
}

resource "example_database" "example" {
  # ...

  lifecycle {
    prevent_destroy = var.prevent_destroy_database
  }
}

Saída simultânea em JSON e texto

A nova opção de linha de comando -json-into=FILENAME grava a saída JSON em um arquivo, enquanto a saída legível permanece no terminal. Ferramentas que consomem JSON podem operar em paralelo sem substituir a interface padrão.

Novo meta‑argumento destroy = false

É possível remover um recurso do estado do OpenTofu sem destruí‑lo no provedor remoto, facilitando migrações e limpeza de recursos que já não são gerenciados.

Melhorias no checksum de provedores

A execução de tofu init agora inclui todos os hashes (zh: e h1:) para todas as plataformas, eliminando a necessidade de rodar tofu providers lock em cenários padrão. O comando providers lock passa a ser usado apenas quando se emprega um repositório alternativo.

Instalação de provedores mais rápida

O instalador realiza requisições concorrentes, reduzindo o tempo de tofu init quando múltiplos provedores são necessários.

Depreciações importantes

Recurso Status Impacto
WinRM para provisioners Depreciado Avisos a partir da 1.12; remoção prevista na 1.13. Recomenda‑se migrar para OpenSSH no Windows.
Arquiteturas 32‑bit (386, arm) Futuro fim de suporte Avisos serão emitidos na 1.13; migração para 64‑bit (amd64, arm64) recomendada.

Como obter a nova versão

  • GitHub Releases – Baixe o binário em OpenTofu v1.12.0.
  • Gerenciadores de pacotes – Instale via apt, dnf, homebrew ou o gerenciador de sua preferência.
  • Docker – Imagens oficiais estão disponíveis no Docker Hub.

Para instruções detalhadas de instalação, consulte os guias oficiais em https://opentofu.org/docs/intro/install.

Impacto para usuários e equipes

A capacidade de definir prevent_destroy dinamicamente reduz a necessidade de manter múltiplas versões de módulos para ambientes diferentes, simplificando o versionamento e a colaboração. As melhorias de checksum e de performance de instalação favorecem pipelines CI/CD que utilizam caches de plugins ou espelhos internos, diminuindo falhas de verificação e tempo de build.

A depreciação do WinRM e o fim do suporte a 32‑bits sinalizam um foco maior em plataformas modernas, alinhando o OpenTofu às práticas de segurança e eficiência adotadas pela comunidade.

Próximos passos

  • Acompanhar a discussão sobre a dinamização de outros meta‑argumentos de ciclo de vida em umbrella issue #1329.
  • Preparar a migração de scripts que ainda utilizam WinRM para OpenSSH antes da chegada da versão 1.13.
  • Avaliar a necessidade de atualizar a arquitetura de servidores de CI/CD para 64‑bits, evitando interrupções quando o suporte a 32‑bits for removido.

Com essas mudanças, o OpenTofu reforça sua posição como ferramenta de IaC (Infrastructure as Code) robusta, flexível e preparada para os desafios atuais de automação de infraestrutura.

Via opentofu.org. Você pode conferir o post original em inglês:

OpenTofu v1.12.0

Por · Última atualização: