Облачная платформаEvolution

Быстрый старт сервиса Terraform для Evolution


С помощью быстрого старта вы установите и настроите Terraform-провайдер для работы с ресурсами Cloud.ru Evolution.

Установка Terraform

Установите Terraform, если он еще не установлен.

  1. Скачайте исполняемый файл Terraform, совместимый с операционной системой и архитектурой процессора вашего компьютера.

  2. Установите Terraform в удобную для вас директорию.

  3. Назначьте права пользователя, необходимые для запуска исполняемого файла.

  4. Расширьте переменную окружения PATH, чтобы исполняемый файл Terraform был доступен для вызова из терминала.

Установка провайдера из Artifact Registry

Существует возможность переопределить Terraform на установку провайдера из реестра. Для этого в домашней директории вам нужно создать конфигурационный файл .terraformrc (для macOS и Linux).

  • Примечание: если вы используете ОС Windows, то файл должен именоваться terraform.rc и находиться в %APPDATA%.

В конфигурационном файле создайте блок provider_installation, который отвечает за то, откуда Terraform будет загружать провайдер. Использование блока network_mirror позволяет указать URL, а также маски, по которым Terraform будет искать провайдер.

provider_installation {
network_mirror {
url = "https://evo-tf-provider-generic.ar.cloud.ru/"
include = ["cloudru/*"]
}
direct {
exclude = ["cloudru/*"]
}
}
  • url - базовый URL до реестра (слэш в конце URL обязателен ).

  • include - список масок, по которому происходит поиск провайдера (примечание: зеркало используется ТОЛЬКО для провайдеров организации cloud.ru).

  • direct - блок, который используется для остальных провайдеров, в случае если по указанному URL провайдер не был найден.

  • exclude - параметр, который исключает провайдеры по маскам.

Важно! Если вы используете механизм network_mirror, то в вашем main.tf обязательно нужно указать версию провайдера в блоке required_providers.

Пример:

terraform {
required_providers {
cloudru = {
source = "cloudru/cloud"
version = "2.1.3"
}
}
}

После того, как вы настроили network_mirror в .terraformrc вам нужно выполнить команду инициализации:

terraform init

Установка провайдера вручную

Ниже приведены варианты того, как еще можно получить исполняемый файл провайдера. Выберите нужный вариант в зависимости от архитектуры и операционной системы вашего компьютера.

Скачивание из источников и создание директории для провайдера

  1. Подготовьте бинарный файл провайдера. Скачать его можно из:

  2. Создайте папку cloudru для исполняемого файла Terraform-провайдера внутри вашей домашней директории:

cd ~ && mkdir -p ~/.terraform.d/plugins/cloud.ru/cloudru/cloud/v2.1.3/
  • Примечание : Для ОС Windows директория выглядит так:

%APPDATA%\terraform.d\plugins\cloud.ru\cloudru\cloud\v2.1.3\
  1. Внутри этой директории создайте папку под бинарный файл нужной платформы:

    • darwin_amd64 (для Mac с процессором Intel)

    • darwin_arm64 (для Mac с процессором Apple)

    • linux_386 (Для Lunux i386)

    • linux_amd64 (для Linux x64)

    • linux_arm (для Linux ARM)

    • windows_386 (для Windows/386)

    • windows_amd64 (для Windows 10/11 x64)

  2. Поместите бинарный файл провайдера в директорию платформы.

Скачивание провайдера с помощью команд


  1. Для скачивания провайдера, выполните следующую команду:

    cd \
    && curl -L --create-dirs -o .terraform.d/plugins/cloud.ru/cloudru/cloud/v2.1.3/darwin_arm64/terraform-provider-cloud_2.1.3_darwin_arm64 \
    https://github.com/cloud-ru/evo-terraform/releases/download/v2.1.3/terraform-provider-cloud_2.1.3_darwin_arm64 \
    && chmod +x .terraform.d/plugins/cloud.ru/cloudru/cloud/v2.1.3/darwin_arm64/terraform-provider-cloud_2.1.3_darwin_arm64

Важно! Если вы используете данный метод, то отдельно создавать директорию не нужно - она создастся автоматически.

Переопределение Terraform на исполняемый файл

Если бинарный файл провайдера находится в вашей директории, то вам нужно переопределить Terraform на его использование. Для этого в конфигурационном файле .terraformrc создайте блок dev_overrides в блоке provider_installation. Этот блок позволяет отключить механизм скачивания провайдера и начать использовать тот провайдер, который указан в пути.

provider_installation {
dev_overrides {
"cloud.ru/cloudru/cloud" = "/users/testuser/.terraform.d/plugins/cloud.ru/cloudru/cloud/v2.1.3/terraform-provider-cloud_2.1.3_darwin_arm64"
}
direct {}
}
  • cloud.ru/cloudru/cloud - полное имя провайдера

  • /users/testuser/... - путь до файла провайдера

  • direct - блок, который используется для остальных провайдеров

Настройка провайдера для работы с облаком

1. Получение необходимых данных

Для того чтобы управлять инфраструктурой с помощью Terraform вам нужны ключи доступа сервисного аккаунта и идентификатор проекта.

Получить эти данные можно следуюшим образом:

2. Создание файла конфигурации для проекта

  1. Создайте папку под Terraform-проект, в котором будете конфигурировать ресурсы.

  2. Создайте в папке файл main.tf. Пример содержимого файла вы можете найти в нашем официальном GitHub-репозитории.

3. Настройка параметров

  1. В файле main.tf в секции provider укажите значения параметров auth_key_id и auth_secret, полученные на шаге 1 .

  2. В секции provider заполните параметр project_id, указав в нем идентификатор вашего проекта в облаке Cloud.ru.

4. Инициализация проекта

Проинициализируйте Terraform, выполнив команду:

terraform init

Результат

Вы настроили Terraform-провайдер и сможете использовать файлы с примерами кода для работы с ресурсами Cloud.ru Evolution.