У меня есть корпоративный GIT и публичный репозиторий с именем «Terraform». Я использовал приведенный ниже файл конфигурации, а также создал папку с именем «jaish» в пути выполнения. Но появляется сообщение об ошибке при запуске init как
"Error downloading modules: Error loading modules: error downloading 'https://github.XXX.com/<<user>>/Terraform': XML syntax error on line 34: expected element name after <"
provider "github" {
token = "XXXXXX"
}
module "jaish"{
source = "https://github.xxx.com/<<user>>/Terraform"
}
Что-то здесь упустили?
Это только предприятие, и я перешел по последней ссылке, которой вы поделились. Итак, теперь я добавил это содержимое в .tf как "module" consul "{source = " git :: github.XXX.com/user/Terraform.git "}" и получил сообщение об ошибке "Ошибка загрузки модулей: Ошибка загрузки модулей: модуль Terraform: Файлы конфигурации Terraform не найдены в каталоге:" .terraform \ modules \ 00850326e3a1a85943eb26336ebc73d7 ". По модулю "консул", кажется, что-то упустил. Я понял это как подпапку в пути выполнения terraform .... Нужно ли мне делать что-то дополнительно для этого модуля?





Судя по сообщению об ошибке, кажется, что вы тестировали <<user>> в URL-адресе Github, а не действительный законный пользователь.
У него там есть реальный пользователь. Но я только что заметил, что файлы уже загружены с git, хотя сообщение об ошибке показывалось. Не уверен, чего он ожидает, даже после загрузки с git. Я добавил один пустой файл .tf в путь загрузки источника git, и эта ошибка исчезла. Но я не могу связать все это с тем, что на самом деле пропустило, чтобы выбросить эту ошибку?
Что показывает ведение журнала на уровне отладки TF? включить его в sh / bash: export TF_LOG=DEBUG export TF_LOG_PATH=/tmp/tf.debug.txt
Извините, но я запускаю его в Windows cmd. Я попробую включить его через командную строку Windows.
Здесь он разделен на 2 комментария «2018/04/12 16:17:36 [ИНФОРМАЦИЯ] Версия Terraform: 0.11.3 3802b14260603f90c7a1faf55994dcc8933e2069 2018/04/12 16:17:36 [ИНФОРМАЦИЯ] Версия Go runtime: go1.9.1 2018 / 04/12 16:17:36 [ИНФОРМАЦИЯ] Аргументы CLI: [] строка {"D: \\ JAISH \\ TERRAFORM \\ terraform.exe", "init"} 2018/04/12 16:17:36 [ DEBUG] Попытка открыть файл конфигурации CLI: C: \ Users \ jmathews4 \ AppData \ Roaming \ terraform.rc 2018/04/12 16:17:36 [DEBUG] Файл не существует, но в нем нет необходимости. Игнорирование . "........
......... 12.04.2018 16:17:36 [INFO] аргументы команды CLI: [] строка {"init"} 2018/04/12 16:17:36 Команда [DEBUG]: загрузка бэкэнд-конфигурационный файл: D: \ JAISH \ TERRAFORM 2018/04/12 16:17:36 [DEBUG] плагин: ожидание завершения всех процессов плагина ...
Всегда ищет terraform.rc - это не проблема. Однако, если это все выходные данные отладки, у вас могут быть другие проблемы.
Попробуй это:
Определите свой модуль, как показано ниже (не нужно указывать поставщика github, и убедитесь, что вы можете получить доступ к своему репозиторию github через ssh)
module "jaish"{
source = "[email protected]:<<user>>/Terraform.git?ref=master"
}
Запустите terraform init и, возможно, сообщите мне, если ошибка повторится.
Paht "D: \ JAISH \ TERRAFORM" используется для локального запуска terraform. Ошибка отображается как Ошибка загрузки модулей: Ошибка загрузки модулей: ошибка загрузки 'file: // D: /JAISH/TERRAFORM/[email protected]: < <user>> / Terra form.git? ref = master': ошибка исходного пути: CreateFile D: /JAISH/TERRAFORM/[email protected]: <<user>> /Terraform.git: имя файла, имя каталога или синтаксис метки тома неверны.
Почему вы определяете здесь провайдера
github? Это используется для управления командами, репозиториями и т.д. на Github, а не для загрузки проектов. И я думаю, вы просто хотите сбросить здесь префиксhttps://. По умолчанию Terraform использует HTTPS-клонирование ссылок Github, но вы можете использовать[email protected]:hashicorp/example.gitдля использования SSH для клонирования репозитория. Если вы используете Github Enterprise (домен предполагает это), вам необходимо использовать Общий синтаксис поиска в Git