惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
B
Blog
有赞技术团队
有赞技术团队
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
Jina AI
Jina AI
Vercel News
Vercel News
博客园 - 叶小钗
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The Cloudflare Blog
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
腾讯CDC

InfoQ - 促进软件开发领域知识与创新的传播

Meta 收购 Manus 这事儿泡汤了 5.5万 Star 开源项目 Ghostty 被迫出走,GitHub 正在终结一代技术人的乌托邦 Slack 长时运行多智能体系统的上下文管理方案 从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台 谷歌云推出 Agents CLI,简化 AI 智能体开发全流程 Claude官方击穿高薪、高学历的安全防线!Anthropic点名10大高危职业,但有群人暂时稳了 亚马逊云科技终止 WorkMail 服务,并将 App Runner 转入维护模式 OPPO小布记忆:全模态碎片化内容的理解与智能整理实践|AICon上海 模力工场038周AI应用周榜:工具在消失,工作流在出现 Akamai CEO Tom Leighton:Agent 时代来临,云基础设施正从“中心化”转向“分布式边缘” 日均数百亿入库背后:从“人肉调度”到K8s弹性架构,度小满金融基于OceanBase重构入库架构实践 百度文库网盘发布GenFlow 4.0:月活用户超1亿,要把网盘变成全端AI工作台 Altman 投的 Agent 终端 Warp 开源了!斩获3.5万star 哪些客户需要拒, 敢让龙虾决定吗?_AI&大模型_InfoQ 中文站_InfoQ精选视频 从开发到生产:为什么越来越多的机器学习团队纷纷迁移到 Snowflake | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 探索多智能体工作流:LangGraph Snowflake Cortex AI | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 腾讯云分布式缓存数据库:AI Agent - 从提示词工程到 Harness 工程 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 基于 Streamlit 为 CSV 数据构建分析智能体 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 AI 智能体:告别文档缺漏 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 构建 AI 驱动的数据管道:深度探讨 Snowflake Openflow 与非结构化数据 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 云端太贵、本地不够聪明,英特尔押注“端云混合AI”:智能体PC会替人完成工作 不到10%的存储投入,可能拖垮90%的GPU投资!IBM把AI Agent塞进存储系统,算清企业最容易忽略的一笔账 Snowpark 上手实战 | BUILD 2025_大数据_王玮_InfoQ精选视频 ClickHouse + Langfuse,构建 Agent 可观测基石 腾讯云分布式缓存数据库:Cluster Proxy 共享连接架构深度解析 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 AI 写代码太烧钱了:Copilot、Claude 一起涨价,不如把程序员请回来? 英特尔发布至强600系列工作站处理器与锐炫Pro B70 GPU,全新AI工作站来了 腾讯云分布式缓存数据库:从 Redis 到 Valkey - 开源社区如何快速创新 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 印奇这次要“从0重做”智驾模型!首谈阶跃和千里双公司布局:中国AI商业闭环要靠车跑出来 从Cursor返聘归来,90后华裔女高管带Claude开启日更模式:token成本比工程师工资低多了!
OpenTofu 1.12发布,带来 Terraform 从未提供的功能
作者:Claudio Masolo平川 · 2026-05-25 · via InfoQ - 促进软件开发领域知识与创新的传播

OpenTofu 社区于 2026 年 5 月 14 日发布了 1.12.0 版本。这次更新并非彻底的重写,但确实解决了基础设施团队长期以来面临的一些问题。

人们讨论最热烈的功能是动态 prevent_destroy。以前,如果想防止资源被意外删除,就必须在配置中对这一决策进行硬编码。当你只管理一个环境时,这种做法还可以接受,但在共享的模块配置中——即同一模块在开发、预发布和生产环境中被重复使用的情况——该方案会立即失效。以往的解决方法无非是“复制模块”或“接受对开发数据库进行意外保护”的变体。这两种方案都不尽如人意。OpenTofu 1.12 允许将 prevent_destroy 关联到一个变量,这样生产环境的工作区就可以将其设为 true,而开发环境的工作区则保持 false 不变,不需要对模块进行分支。这听起来似乎微不足道。但对于那些需要通过共享模块代码管理数十个环境的团队来说,这绝非小事。

在这一点上,Terraform 与之形成了鲜明的对比。关于将 prevent_destroy 与变量关联的请求可以追溯到 2016 年的 Terraform 0.7 版本。多年来,问题跟踪系统上围绕这一主题已经累积了多个讨论帖。当团队尝试这种在 OpenTofu 1.12 中已经成为标准的模式时,会遇到“此处不允许使用变量”之类的错误。有人尝试使用动态生命周期块等变通方案,却又遭遇“此处不期望出现 lifecycle 类型块”的报错。还有人提议使用 TF_ALLOW_DESTROY 等环境变量覆盖作为变通方案——这正是当正确的修复方案迟迟未到时,人们会想出的那种权宜之计。HashiCorp 始终未正式发布该功能。在不同环境中使用共享模块的团队面临着艰难的抉择:要么复制模块代码,要么让开发环境和生产环境遵循相同的生命周期规则。OpenTofu 在 1.12 版本中解决了这一问题,距离首个相关请求提交至 Terraform 问题跟踪系统已经过去近十年。这一时间差折射出社区驱动开发与有优先级设定的产品路线图之间的节奏差异。

OpenTofu 还更改了其 OperProvider 校验和的处理方式。依赖锁文件历来是团队内部产生轻微摩擦的根源,特别是在使用共享提供程序插件缓存或本地镜像的配置中。运行 tofu init 会将 zh: 格式的校验和填入锁定文件,但随后你需要单独运行 tofu providers lock 命令,才能获取缓存或镜像所需的 h1: 格式校验和。OpenTofu 1.12 在注册表层修复了这一问题:OpenTofu 注册表现在会同时返回两种格式的校验和集合,因此, tofu init 只需一次运行就可以填入所有内容。升级后首次运行 init 时,你会看到锁定文件中出现了新的 h1: 条目,这是符合预期的正常行为。tofu providers lock 命令仍然保留着其原始用途:当你并非直接从 OpenTofu 注册表安装时,用于填充校验和。

第三个值得注意的新增功能是 -json-into=FILENAME 标志。现在,如果你希望从 OpenTofu 命令中获得机器可读的输出,就可以使用 -json。这会完全取代人类可读的终端输出。此前,任何基于 OpenTofu 输出构建工具的人,都必须先复现整个用户界面,才能发布任何有用的东西。新标志会将 JSON 流发送到文件(或命名管道,或用于并发处理的 /dev/fd/N),并保留正常的终端输出。如果你正在为内部平台创建一个显示应用程序实时进度的 UI,那么这会使集成过程变得更加简洁。你不需要在两种输出模式之间做选择。

该版本还新增了一个元参数:destroy = false。这会将资源从状态中移除,但不会销毁该对象。这是一种更简便的方式,可以实现用户过去通过变通方法 Terraform state rm 所做的事情。

在功能弃用方面,WinRM 配置程序支持将在 1.12 版本中逐步淘汰(会有警告提示),并将于 1.13 版本中完全移除。其底层的 Go 库已经无人维护,建议迁移至 OpenSSH for Windows。如果你仍然在使用 WinRM 运行配置程序,现在是时候开始迁移了,切勿拖延。官方 32 位架构版本也正在逐步淘汰,预计在 1.13 版本中会显示弃用警告,并在随后完全停止发布。

原文链接:https://www.infoq.com/news/2026/05/opentofu-release-terraform/