В связи с ограничениями на доступ к реестру registry.terraform.io из России, для первичной инициализации провайдера требуется VPN-подключение.
Дополнительная установка Terraform-провайдера Rustack необходима в случае, если Вы не используете VPN-подключение.
Для локальной установки Terraform-провайдера необходимо:
Установить расширения Go и Hashicorp Terraform для Visual Studio Code:
Создать на локальном компьютере директорию для хранения файлов провайдера.
Скачать терраформ-провайдер с github-репозитория.
Разархивировать скачанный архив в созданную директорию.
Открыть разархивированную папку с помощью Visual Studio Code:
Настроить debugger в Visual Studio Code для запуска провайдера:
Заменить содержание открывшегося файла на указанное ниже:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"cwd": "./",
"program": "./main.go",
"args": [
"--debug"
],
}
]
}
Запустить debugger:
Дебаггером запускается локальный провайдер.
Дебаггер постоянно должен быть включен для использования локального провайдера.
Открыть терминал, встроенный в Visual Studio Code:
Открыть вкладку debug console:
Выполнить указанную в консоли команду во встроенном в Visual Studio Code терминале:
Добавленная в окружение переменная исключает доступ Терраформ в интернет для использования провайдера, когда видит в манифесте на него ссылку, вместо этого использует локальный, запущенный с помощью дебаггера.
Для ОС семейства Linux в начале команды необходимо добавить "export" и убрать "$env", например:
export TF_REATTACH_PROVIDERS='{"pilat/rustack":{"Protocol":"grpc","ProtocolVersion":5,"Pid":6624,"Test":true,"Addr":{"Network":"tcp","String":"127.0.0.1:49727"}}}'
На этом настройка провайдера окончена, далее его можно использовать согласно инструкции по использованию. Подробнее о классах сущностей Terraform (data и resource) описано в документации.
При необходимости обновить версию локального терраформ провайдера необходимо: