我在私有 Terraform Enterprise 模块注册表中注册了 40 多个 Terraform 模块。
为我要发布的 40 个模块中的每一个创建 40 个 GitHub 存储库是很困难的。
是否可以有一个 GitHub 存储库并且每个模块有一个子目录(意味着 40 个模块对应 40 个目录)?这样,我只需要管理一个存储库并将所有模块都放在其子目录中。
我在私有 Terraform Enterprise 模块注册表中注册了 40 多个 Terraform 模块。
为我要发布的 40 个模块中的每一个创建 40 个 GitHub 存储库是很困难的。
是否可以有一个 GitHub 存储库并且每个模块有一个子目录(意味着 40 个模块对应 40 个目录)?这样,我只需要管理一个存储库并将所有模块都放在其子目录中。
您可以将根模块用于 40 个模块,并//sub_module_folder
在源参数末尾调用子模块。
但更好的解决方案是使用 Terraform 自动添加 40 个模块tfe_registry_module
基本用法:
resource "tfe_organization" "test-organization" {
name = "my-org-name"
email = "admin@company.com"
}
resource "tfe_oauth_client" "test-oauth-client" {
organization = tfe_organization.test-organization.name
api_url = "https://api.github.com"
http_url = "https://github.com"
oauth_token = "my-vcs-provider-token"
service_provider = "github"
}
resource "tfe_registry_module" "test-registry-module" {
vcs_repo {
display_identifier = "gh-org-name/terraform-provider-name"
identifier = "gh-org-name/terraform-provider-name"
oauth_token_id = tfe_oauth_client.test-oauth-client.oauth_token_id
}
}
resource "tfe_registry_module" "test-registry-module-2" {
vcs_repo {
display_identifier = "gh-org-name/terraform-provider-name-2"
identifier = "gh-org-name/terraform-provider-name-2"
oauth_token_id = tfe_oauth_client.test-oauth-client.oauth_token_id
}
}