- 命令行
- 基本 CLI 功能
- 命令:providers
- 命令:providers mirror
命令:providers mirror
tofu providers mirror
命令下载当前配置所需的提供程序,并将它们复制到本地文件系统中的目录。
在正常使用情况下,tofu init
会在初始化当前工作目录时,自动从提供程序注册表中下载所需的提供程序。有时 OpenTofu 在无法执行此操作的环境中运行,例如在没有访问 OpenTofu 注册表的隔离网络上。在这种情况下,显式安装方法配置 允许你在特定系统上运行 OpenTofu 时,仅查询你已创建必要插件的本地镜像的本地文件系统目录,并完全跳过访问上游注册表。
tofu providers mirror
命令可以自动填充一个目录,该目录将用作提供程序安装配置中的本地文件系统镜像。
用法
用法:tofu providers mirror [选项] <目标目录>
需要一个目标目录。OpenTofu 将在该目录下创建用于基于文件系统的提供程序插件镜像的路径结构,并使用包含插件本身的 .zip
文件填充它。
此命令接受以下通用选项
-
-var 'NAME=VALUE'
- 为配置根模块中声明的单个输入变量 设置值。多次使用此选项以设置多个变量。有关更多信息,请参阅命令行上的输入变量。 -
-var-file=FILENAME
- 使用"tfvars" 文件 中的定义,为配置根模块中声明的可能多个输入变量 设置值。多次使用此选项以包含来自多个文件的值。
除了 -var
和 -var-file
选项之外,还有几种其他方法可以为根模块中的输入变量设置值。有关更多信息,请参阅为根模块变量赋值。
OpenTofu 还会生成各种 .json
索引文件,这些文件包含适合实现网络镜像协议 的响应,如果你将结果目录上传到静态网站托管服务。OpenTofu 在将目录用作文件系统镜像时会忽略这些索引文件,因为在这种情况下,目录条目本身是权威的。
此命令支持以下附加选项
-
-platform=OS_ARCH
- 选择要为其构建镜像的目标平台。默认情况下,OpenTofu 会获取适合你在其中运行此命令的平台的插件包。多次使用此标志以包含针对多个目标系统的包。目标平台名称由操作系统和 CPU 架构组成。例如,
linux_amd64
选择在 AMD64 或 x86_64 CPU 上运行的 Linux 操作系统。
你可以在现有镜像目录上再次运行 tofu providers mirror
以使用新包更新它。例如,你可以通过使用所需的新的 -platform=...
选项重新运行该命令来添加针对新目标平台的包,它将放置针对该新平台的包,而不会删除你之前下载的包,从而将结果包集合并在一起以更新 JSON 索引文件。