Сохранить модуль terraform в частном реестре выгодно?

У нас есть несколько модулей aws в git, и когда мы используем модуль в другом проекте, мы указываем путь к модулю в git как источник следующим образом:

module "module_name" {
  source = "git::https://gitlab_domain_name.com/terraform/modules/aws/module_name.git?ref=v1.0.0"
  ...
}

Я хочу знать, есть ли преимущество использования частного реестра terraform для хранения наших модулей, например, при разработке на Java мы используем репозиторий для хранения упакованных JAR или также при работе с образами докеров.

1 ответ

Да, у частного реестра есть свои преимущества. А именно, вы можете поместить туда описание, документацию, примеры, и вы получите лучшее визуальное представление о том, что делает модуль, его входах, выходах и ресурсах.

Но в остальном с точки зрения функциональности модуль ведет себя точно так же. Например, реестр java (например, nexus) имеет смысл, потому что вы не хотите заставлять всех создавать сами библиотеки (возможно, они вообще не могут), и поэтому наличие места, где хранятся предварительно созданные библиотеки, имеет смысл. Это рассуждение не применимо к terraform, поскольку ничего не компилируется.

Совершенно другая история для пользовательских провайдеров, в этом случае вам понадобится частный реестр для предоставления скомпилированных двоичных файлов golang, но вы можете написать его самостоятельно без особых усилий (поскольку terraform 0.13), это просто http rest api.

Другие вопросы по тегам