Skip to content

rudecs/terraform-provider-decort

Repository files navigation

terraform-provider-decort

Terraform provider для платформы Digital Energy Cloud Orchestration Technology (DECORT)

Соответсвие версий платформы версиям провайдера

Версия DECORT API Версия провайдера Terraform
3.8.5 3.4.x
3.8.0 - 3.8.4 3.3.1
3.7.x rc-1.25
3.6.x rc-1.10
до 3.6.0 terraform-provider-decs

Режимы работы

Провайдер позволяет работать в двух режимах:

Возможности провайдера

  • Работа с Compute instances,
  • Работа с disks,
  • Работа с k8s,
  • Работа с image,
  • Работа с reource groups,
  • Работа с VINS,
  • Работа с pfw,
  • Работа с accounts,
  • Работа с snapshots,
  • Работа с pcidevice,
  • Работа с sep,
  • Работа с vgpu,
  • Работа с bservice,
  • Работа с extnets,
  • Работа с locations,
  • Работа с load balancer.

Вики проекта: https://github.com/rudecs/terraform-provider-decort/wiki

Начало

Старт возможен по двум путям:

  1. Установка через собранные пакеты.
  2. Ручная установка.

Установка через собранные пакеты.

  1. Скачайте и установите terraform по ссылке: https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started
  2. Создайте файл main.tf и добавьте в него следующий блок.
provider "decort" {
  authenticator = "oauth2"
  #controller_url = <DECORT_CONTROLLER_URL>
  controller_url = "https://ds1.digitalenergy.online"
  #oauth2_url = <DECORT_SSO_URL>
  oauth2_url           = "https://sso.digitalenergy.online"
  allow_unverified_ssl = true
}
  1. Выполните команду
terraform init

Провайдер автоматически будет установлен на ваш компьютер из terraform registry.

Ручная установка

  1. Скачайте и установите Go по ссылке: https://go.dev/dl/
  2. Скачайте и установите terraform по ссылке: https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started
  3. Склонируйте репозиторий с провайдером, выполнив команду:
git clone https://github.com/rudecs/terraform-provider-decort.git
  1. Перейдите в скачанную папку с провайдером и выполните команду
go build -o terraform-provider-decort

Если вы знаете как устроен makefile, то можно изменить в файле Makefile параметры под вашу ОС и выполнить команду

make build
  1. Полученный файл необходимо поместить:
    Linux:
~/.terraform.d/plugins/${host_name}/${namespace}/${type}/${version}/${target}

Windows:

%APPDATA%\terraform.d\plugins\${host_name}\${namespace}\${type}\${version}\${target}

ВНИМАНИЕ: для ОС Windows %APP_DATA% является каталогом, в котором будут помещены будущие файлы terraform. Где:

  • host_name - имя хоста, держателя провайдера, например, digitalenergy.online
  • namespace - пространство имен хоста, например decort
  • type - тип провайдера, может совпадать с пространством имен, например, decort
  • version - версия провайдера, например 1.2
  • target - версия ОС, например windows_amd64
  1. После этого, создайте файл main.tf.
  2. Добавьте в него следующий блок
terraform {
  required_providers {
    decort = {
      version = "1.2"
      source  = "digitalenergy.online/decort/decort"
    }
  }
}

В поле version указывается версия провайдера.
Обязательный параметр
Тип поля - строка
ВНИМАНИЕ: Версии в блоке и в репозитории, в который был помещен провайдер должны совпадать!

В поле source помещается путь до репозитория с версией вида:

${host_name}/${namespace}/${type}

ВНИМАНИЕ: все параметры должны совпадать с путем репозитория, в котором помещен провайдер.

  1. В консоле выполнить команду
terraform init
  1. Если все прошло хорошо - ошибок не будет.

Более подробно о сборке провайдера можно найти по ссылке: https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers

Примеры работы

Примеры работы можно найти:

Схемы к terraform'у доступны:

  • В папке docs

Хорошей работы!