Terraform 分支 OpenTofu 新增提供者迭代和排除功能

OpenTofu 1.9.0 版本发布总结

主要观点

OpenTofu 1.9.0 版本发布,引入了多项重要功能,包括通过 for_each 实现提供程序迭代能力,简化多区域和多区域部署。此外,还新增了 -exclude 标志,允许用户在计划或应用操作中跳过特定资源。

关键功能与改进

  1. for_each 功能

    • 可用于模块和任何资源类型,为映射或字符串集合中的每个项目创建实例。
    • 仅适用于静态变量和本地变量,不能用于从其他数据源或资源获取的变量。
    • 需谨慎使用,因其显著改变了 OpenTofu 的工作方式。
  2. -exclude 标志

    • 允许在计划或应用操作中跳过特定资源,是现有 -target 选项的相反功能。
    • 此功能是该版本中最受欢迎的功能请求之一。
  3. 其他改进

    • 增强了早期评估能力。
    • 更新了加密功能以及 AzureRM 和 HTTP 后端。
    • 性能优化。

社区反馈

  • 正面反馈

    • Matt Gowie 和 Tomas Dabašinskas 对 for_each 功能表示欢迎,认为其在管理多项目、多组织或多数据库时非常有用。
    • Reddit 用户 "wywywywy" 称赞此功能简化了代码。
  • 负面反馈

    • 部分用户对 OpenTofu 独立于 Terraform 的发展轨迹表示担忧,认为其未能跟上 Terraform 的更新。
    • 用户 "aleques-itj" 对 OpenTofu 缺乏临时资源功能表示遗憾。

项目进展

  • 文档搜索

    • OpenTofu 搜索界面现在索引了超过 4,000 个提供程序和 20,000 个模块的文档,每 15-30 分钟更新一次。
  • JetBrains 支持

    • JetBrains 在 2024.3 版本中宣布支持 OpenTofu,包括 OpenTofu 特定的代码完成和状态加密检测。
  • 项目成功

    • OpenTofu 自去年从 Terraform 分叉以来,取得了显著成功:

      • 注册请求量增加了三倍,达到每天超过 600 万次。
      • 数据传输峰值达到每天 140 GB。
      • GitHub 下载量增加了约 30%,达到 150 万次。
      • GitHub 星标数超过 23,000。

社区参与

  • 贡献者

    • 49 名贡献者提交了超过 200 个拉取请求。
    • 创建了超过 150 个新问题,显示了活跃的用户基础和社区参与度。

未来计划

  • OCI 提供程序注册表

    • OpenTofu 团队正在开发 OCI 提供程序注册表,目前已有工作原型。
阅读 11
0 条评论