Модуль Terraform в частном репозитории github - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь использовать мое личное git репо в качестве источника для модулей terraform.

s sh publi c ключ скопирован в github.

Попробовал следующие опции в качестве источника, но ничего не работало:

Любая помощь с благодарностью.

Ссылка на раздел репозиториев Private Github по следующей ссылке также не помогла. https://github.com/alibaba/terraform-provider/blob/master/vendor/github.com/hashicorp/terraform/website/docs/modules/sources.html.markdown

Частные репозитории GitHub Если вам требуется Terraform для извлечения модулей из частных репозиториев GitHub, вы должны предоставить Terraform учетные данные для аутентификации пользователя с доступом на чтение к этим репозитариям.

Если вы запускаете Terraform только на локальном компьютере, вы можете указать источник модуля как S SH URI (например, git@github.com: hashicorp / example. git), и Terraform будет использовать ваш S * 1061 по умолчанию. * ключ для аутентификации.

Если вы используете Terraform Enterprise, вы можете использовать S SH URI. Вам нужно будет добавить закрытый ключ S SH в свою организацию и назначить его любому рабочему пространству, которое выбирает модули из закрытых репозиториев. См. Документы Terraform Enterprise о ключах S SH для клонирования модулей.

Если вам нужно запустить Terraform на удаленной машине, например, в качестве рабочего CI, вам нужно либо записать ключ S SH на диск и установите переменную среды GIT_SSH_COMMAND соответствующим образом в процессе подготовки работника или создайте пользователя машины GitHub с доступом для чтения к соответствующим репозиториям и вставьте его учетные данные в исходные параметры модулей: module "private-infra" { source = "git :: https://MACHINE-USER:MACHINE-PASS@github.com/org/privatemodules//modules/foo"} Обратите внимание, что Terraform не поддерживает интерполяции в параметре источника модуля, поэтому вы должны жестко ввести имя пользователя и пароль компьютера, если используя этот метод.

1 Ответ

0 голосов
/ 08 апреля 2020

Протестировано с bitbucket, должно быть то же самое на github.:

source = "git::https://@bitbucket.com/mycompany/my-project.git"
...