使用最新的Terraform版本v0.13,我试图了解如何为第三方Terraform提供程序设置提供程序注册表。
采取以下terraform
配置块:
terraform {
required_providers {
happy_cloud = {
source = "registry.example.com/acme/happy_cloud"
}
}
}
从registry.example.com
获取信息时,Terraform如何知道acme/happy_cloud
提供程序二进制文件的最新可用版本? (例如v1.2.3)
答案 0 :(得分:3)
Terraform通过扮演the provider registry protocol的客户端角色来查找指定的提供程序。
给出源地址registry.example.com/acme/happy_cloud
,Terraform将:
registry.example.com
上执行service discovery,以查找其提供程序注册表基本URL(如果有的话)。acme/happy_cloud/versions
的身份调用List Available Versions操作,以了解该提供程序可用的版本。acme/happy_cloud/1.2.3/download/linux/amd64
(或取决于您当前平台的其他OS / arch)调用Find a Provider package操作,以获取针对该目标平台构建的该版本的软件包位置和签名密钥。