跳至主要内容

提供程序

OpenTofu 依靠称为提供程序的插件来与云提供商、SaaS 提供商和其他 API 交互。

OpenTofu 配置必须声明它们需要哪些提供程序,以便 OpenTofu 可以安装和使用它们。此外,某些提供程序在使用前需要配置(例如端点 URL 或云区域)。

提供程序的功能

每个提供程序都添加了一组 OpenTofu 可以管理的 资源类型 和/或 数据源

每个资源类型都由一个提供程序实现;如果没有提供程序,OpenTofu 就无法管理任何类型的基础设施。

大多数提供程序配置特定的基础设施平台(云或自托管)。提供程序还可以提供本地实用程序,用于执行诸如为唯一资源名称生成随机数之类的任务。

提供程序的来源

提供程序与 OpenTofu 本身分开分发,并且每个提供程序都有自己的发布节奏和版本号。

公共 OpenTofu 注册表 是公开提供程序的主要目录,并托管大多数主要基础设施平台的提供程序。

提供程序文档

每个提供程序都有自己的文档,描述其资源类型及其参数。此文档可以在提供程序的 github 存储库中找到。

提供程序文档是版本化的,请确保您正在引用正确的标签/版本。

如何使用提供程序

提供程序与 OpenTofu 本身分开发布,并具有自己的版本号。在生产环境中,我们建议在配置的提供程序需求块中限制可接受的提供程序版本,以确保 tofu init 不安装与配置不兼容的较新版本的提供程序。

要使用给定提供程序的资源,您需要在配置中包含一些有关它的信息。有关详细信息,请参阅以下页面

  • 提供程序需求 说明如何声明提供程序,以便 OpenTofu 可以安装它们。

  • 提供程序配置 说明如何配置提供程序的设置。

  • 依赖项锁定文件 文档说明可以与配置一起包含的其他 HCL 文件,该文件告诉 OpenTofu 始终使用特定的一组提供程序版本。

提供程序安装

  • TACOS (TF 自动化和协作软件) 在每次运行时都安装提供程序。

  • OpenTofu CLI 在 初始化工作目录 时查找并安装提供程序。它可以从提供程序注册表自动下载提供程序,或从本地镜像或缓存加载它们。如果您使用的是持久性工作目录,则必须在每次更改配置的提供程序时重新初始化。

    为了节省时间和带宽,OpenTofu CLI 支持可选的插件缓存。您可以使用 CLI 配置文件 中的 plugin_cache_dir 设置启用缓存。

为了确保 OpenTofu 始终为给定配置安装相同的提供程序版本,您可以使用 OpenTofu CLI 创建 依赖项锁定文件 并将其与您的配置一起提交到版本控制中。如果存在锁定文件,则 OpenTofu CLI 和 TACOS (TF 自动化和协作软件) 在安装提供程序时都将遵守它。

如何查找提供程序

要查找您使用的基础设施平台的提供程序,请浏览 公共 OpenTofu 注册表

注册表上的一些提供程序由 HashiCorp 开发和发布,一些由平台维护者发布,一些由用户和志愿者发布。

如何开发提供程序

提供程序使用 Terraform 插件 SDK 以 Go 编写。有关开发提供程序的更多信息,请参阅 插件开发 文档。

使用 OpenTofu CLI 运行验收测试

使用 OpenTofu 进行测试时,需要执行其他步骤才能针对 OpenTofu CLI 运行验收测试。在运行验收测试之前,请设置以下环境变量

代码块
TF_ACC_TERRAFORM_PATH="/path/to/opentofu"
TF_ACC_PROVIDER_NAMESPACE="hashicorp"
TF_ACC_PROVIDER_HOST="registry.opentofu.org"