Реестр корпоративных модулей Terraform: Могу ли я сохранить исходный код модуля в подкаталоге существующего репозитория GitHub?

У меня есть более 40 модулей Terraform для регистрации в частном реестре модулей Terraform Enterprise.

Было бы сложно создать 40 репозиториев GitHub для каждого из 40 модулей, которые я публикую.

Возможно ли иметь один репозиторий GitHub и один подкаталог на модуль (означает 40 каталогов для 40 модулей)? Таким образом, мне нужно управлять только одним репозиторием и иметь все модули в его подкаталогах.

1 ответ

Вы можете использовать корневой модуль для 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
  }
}
Другие вопросы по тегам