Считаются ли провайдеры сообщества Terraform сторонними? - PullRequest
4 голосов
/ 27 мая 2020

Я готовлюсь к экзамену Terraform Associate Certification . Я сдал практический экзамен по Udemy и получил вопрос об автоматической c установке провайдеров сообщества неправильно. Однако, основываясь на реальном поведении terraform, я сомневаюсь, что экзамен (или документация Terraform) неверен. Может случиться так, что мой вопрос должен быть адресован автору практического экзамена, но я решил опубликовать его здесь на случай, если разъяснение может помочь кому-то другому.

Экзаменационный вопрос:

Верно или неверно? terraform init не может автоматически загружать поставщиков сообщества.

Мой ответ: ложно , неверно согласно экзамену со следующим объяснением:

Пояснение

Кто угодно может разрабатывать и распространять своих собственных провайдеров Terraform. (См. Раздел Написание пользовательских поставщиков для получения дополнительной информации о разработке поставщиков.) Эти сторонние поставщики должны быть установлены вручную, так как terraform init не может их автоматически загружать.

https://www.terraform.io/docs/configuration/providers.html#third -party-plugins

Документация Terraform init подтверждает это (обратите внимание на отсутствие ссылок на плагины сообщества ):

Обратите внимание, что terraform init не может автоматически загружать поставщиков, не распространяемых HashiCorp. См. Сторонние плагины ниже для инструкций по установке.

Но если вы добавите сообщество поставщика в свою конфигурацию и запустите terraform init плагины сообщества сделать установить автоматически:

provider "auth0" {
  version = "> 0.8"
}
$ terraform init

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins...
- Downloading plugin for provider "auth0" (terraform-providers/auth0) 0.10.2...
...

Таким образом, я могу только предположить, что на основе фактических функций terraform Провайдеры сообщества не считаются сторонними плагинами?

1 Ответ

4 голосов
/ 27 мая 2020

Документация и практический экзамен основаны на устаревшей информации. Раньше и этот ответ, и документация были правильными, и вам приходилось вручную устанавливать собственных поставщиков. Метод и процесс, описанные в документации, были полностью точными.

Однако 15 января 2020 года реестр Terraform был расширен, чтобы предоставить провайдерам сообщества функциональные возможности в дополнение к модулям сообщества. Официальный анонс от Hashicorp можно посмотреть здесь . Теперь описанный вами метод (который также работает для сторонних модулей) действителен. Вы также можете просмотреть реестр провайдеров , который делает это возможным. Обратите внимание, что Terraform Cloud и Terraform Enterprise также предоставляют частные реестры с этой функцией.

Обновленные примечания: на самом деле частный реестр Terraform Cloud на данный момент ограничен модулями, в том числе с подключенным к VCS провайдером. Однако интерфейс TF Cloud Registry подразумевает, что эта функция в конечном итоге появится. Кроме того, поддержка провайдера сообщества расширяется с помощью Terraform 0.13 примечаний к выпуску .

Кстати, в настоящее время я бы не стал доверять целостности каких-либо сторонних руководств по сертификации Hashicorp. . Экзамены только недавно вышли из бета-тестирования. Мне не удается найти объявление (оно было либо в официальном блоге, либо в электронном письме партнера), но это было после середины апреля 2020 года. Когда я получил сертификаты Terraform (конец января 2019 года) и Vault (начало апреля 2020 года), обе все еще находились в стадии бета-тестирования, и это было очевидно по интересным событиям на экзаменах, например, когда несколько вопросов повторялись дословно. На данный момент я бы доверял официальному руководству Hashicorp больше, чем чему-либо еще.

...