在过去的几个月里,自从我们发布第一个稳定版本以来,OpenTofu 社区和核心团队携手合作,为 OpenTofu 带来了多年来一直被请求的功能。我们很自豪地宣布 OpenTofu 1.7.0 现已正式发布,为您带来以下亮点
- 端到端状态加密 保护您的状态文件免受窥探,无论您使用哪种存储后端。您可以使用环境变量安全地提供加密密码,或使用 AWS KMS、GCP KMS 或 OpenBao 等密钥管理系统。此功能是与来自 OpenTofu 社区的 Stephan Bartels(Interhyp)和 Alex Scheel 合作开发的,我们感谢他们为此功能做出的贡献。
- 动态提供商定义函数 使提供商不仅可以提供资源,还可以提供您可以在 OpenTofu 代码中使用的原生函数。更重要的是,我们添加了一个 OpenTofu 独有的功能,允许提供商根据您的配置动态定义自定义函数。此增强功能允许您完全集成其他编程语言,如我们的直播中所示。您可以使用我们的实验性 Lua 和 Go 提供商来尝试此功能。
- removed 块 允许您将 OpenTofu 创建的资源标记为从状态文件中删除,但仍保留您创建的基础设施。
- 可循环导入块 允许您在 OpenTofu 代码中声明性地批量导入资源,有助于大规模迁移。
与之前的版本一样,OpenTofu 仍然是其前身 Terraform™ 1.5 的替代品,并且可以轻松地从更高版本迁移。查看经过改进的 迁移指南 以获取详细的迁移说明。您可以在 文档中 找到完整的更改列表和综合示例。
OpenTofu 社区发展迅速
自首次发布以来,OpenTofu 社区和采用率一直在稳步增长。虽然我们不相信跟踪我们的用户并且没有准确的数字,但我们看到自 4 个月前发布以来,我们的注册表使用量持续每月增长。仅在上个月,我们的注册表使用量就增长了一倍多,达到每天超过一百万次请求。
此外,仅此版本就有 65 位独特的贡献者,并且我们最近在 GitHub 上获得了 20,000 颗星。自 1 月份以来,我们看到我们的社区宣传 OpenTofu,开放了 200 多个新的问题并提交了更多拉取请求。
OpenTofu 到底是什么?
如果您是 OpenTofu 的新手,欢迎!我们最初是 HashiCorp 的 Terraform™ 的分支,因为它的许可证更改为限制性的 BUSL,并且许可证常见问题解答也频繁更改。OpenTofu 是一种基础设施即代码工具,它允许您通过编写自己的代码或使用数万个社区提供的模块之一,声明性地创建具有数千个 API 的云基础设施。
例如,您可以在 AWS 上创建 EC2 实例,如下所示
resource "aws_instance" "web" {
ami = "add AMI ID here"
instance_type = "t3.micro"
}
OpenTofu 的主要优势在于它将对云基础设施的任何更改记录在状态文件中,这使它以后可以修改相同的基础设施,或者如果您将其创建为测试则将其拆除。
未来展望:OpenTofu 1.8 正在等待
OpenTofu 首先是一个社区驱动的项目。我们期待继续坚持解决社区认为重要的问题的传统。为了透明度并鼓励每个人投票,我们创建了 一个最受关注问题的列表。
虽然 OpenTofu 1.8 的大部分内容仍在计划中,但我们目前正在完成一项功能的提案,该功能允许您 使用变量作为模块源、后端配置等。到目前为止,已有 30 多个问题请求了变量的早期评估,这是 OpenTofu 中最受请求的功能之一。
如果您希望在 OpenTofu 中看到某个功能,请随时 提交问题 或 联系我们 Slack。