# terraform-provider-decort Terraform provider для платформы Digital Energy Cloud Orchestration Technology (DECORT) ## Соответсвие версий платформы версиям провайдера | Версия DECORT API | Версия провайдера Terraform | | ------ | ------ | | 4.2.0 | 4.8.x | | 4.1.0 | 4.7.x | | 4.0.0 | 4.6.x | | 3.8.9 | 4.5.x | | 3.8.8 | 4.4.x | | 3.8.7 | 4.3.x | | 3.8.6 | 4.0.x, 4.1.x, 4.2.x | | 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](https://github.com/rudecs/terraform-provider-decs) | ## Режимы работы Провайдер позволяет работать в двух режимах: - Режим пользователя, - Режим администратора.
Используйте ресурсы `decort_cb_` для администрирования.
Вики проекта: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki ## Возможности провайдера - Режим пользователя: - Работа с accounts, - Работа с audit, - Работа с bservice, - Работа с disks, - Работа с dpdk, - Работа с extnets, - Работа с flipgroups, - Работа с image, - Работа с k8s, - Работа с Compute instances, - Работа с load balancer, - Работа с locations, - Работа с pfw, - Работа с resource groups, - Работа с snapshots, - Работа с stacks, - Работа с VINS. - Режим администратора: - Работа с accounts, - Работа с audit, - Работа с disks, - Работа с dpdk, - Работа с extnets, - Работа с flipgroups, - Работа с grids, - Работа с images, - Работа с k8ci, - Работа с k8s, - Работа с Compute instances, - Работа с load balancer, - Работа с pci device, - Работа с resource groups, - Работа с seps, - Работа с user, - Работа с stacks, - Работа с VINS. Со списком и описанием функционала всех групп можно ознамоиться на Вики проекта: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki ## Установка Начиная с версии провайдера `4.3.0` в релизном архиве находятся скрипты-инсталляторы. Чтобы выполнить установку, необходимо: 1. Перейти по адресу: https://repository.basistech.ru/BASIS/terraform-provider-decort/releases 2. Выбрать необходимую версию провайдера подходящую под операционную систему. 3. Скачать архив. 4. Распаковать архив. 5. Выполнить скрипт установщика, `install.sh` или `install.bat` для Windows.
*Для запуска `install.sh` не забудьте изменить права доступа к файлу* ```bash chmod u+x install.sh ``` 6. Дождаться сообщения об успешной установке. Установщик выведет актуальный блок конфигурации провайдера, скопируйте его ```bash DECORT provider version 4.3.0 has been successfully installed Copy this provider configuration to main.tf file: terraform { required_providers { decort = { version = "4.3.0" source = "basis/decort/decort" } } } ``` 7. После этого, создайте файл `main.tf` в рабочей директории, которая может находится в любом удобном для пользователя месте. В данном примере, рабочая директория с файлом main.tf находится по пути: ```bash ~/work/tfdir/main.tf ``` 8. Вставьте в `main.tf` блок конфигурации провайдера, который был выведен на экран установщиком: ```terraform terraform { required_providers { decort = { version = "4.3.0" source = "basis/decort/decort" } } } ``` 9. Добавьте в файл блок с инициализацией провайдера. ```terraform provider "decort" { authenticator = "decs3o" controller_url = "https://mr4.digitalenergy.online" oauth2_url = "https://sso.digitalenergy.online" allow_unverified_ssl = true } ``` 10. В консоли выполните команду ```bash terraform init ``` 11. В случае успешной установки, Terraform инициализирует провайдер и будет готов к дальнейшей работе. ## Установка из релизов Terraform провайдер DECORT имеет скомпилированные релизные версии, которые расположены по адресу: [Релизы](https://repository.basistech.ru/BASIS/terraform-provider-decort/releases). Чтобы выполнить установку из релиза, необходимо: 1. Перейти по адресу: https://repository.basistech.ru/BASIS/terraform-provider-decort/releases 2. Выбрать необходимую версию провайдера подходящую под операционную систему. 3. Скачать архив. 4. Распаковать архив. 5. Полученный файл (в директории `bin/`) необходимо поместить: Linux: ```bash ~/.terraform.d/plugins/${host_name}/${namespace}/${type}/${version}/${target} ``` Windows: ```powershell %APPDATA%\terraform.d\plugins\${host_name}\${namespace}\${type}\${version}\${target} ``` Где: - host_name - имя хоста, держателя провайдера, например, basis - namespace - пространство имен хоста, например decort - type - тип провайдера, может совпадать с пространством имен, например, decort - version - версия провайдера, например 4.3.0 - target - архитектура операционной системы, например windows_amd64 В примере ниже используется путь до провайдера на машине с ОС Linux: ```bash ~/.terraform.d/plugins/basis/decort/decort/4.3.0/linux_amd64/tf-provider ^ ^ ^ ^ ^ ^ host_name | | | | | | | | | | | namespace | | | | | | | | | type | | | | | | | version | | | | | target | | | исполняемый файл | ``` 6. После этого, создайте файл `main.tf` в рабочей директории, которая может находится в любом удобном для пользователя месте. В данном примере, рабочая директория с файлом main.tf находится по пути: ```bash ~/work/tfdir/main.tf ``` 7. Добавьте в `main.tf` следующий блок ```terraform terraform { required_providers { decort = { version = "4.3.0" source = "basis/decort/decort" } } } ``` В поле `version` указывается версия провайдера.
**ВНИМАНИЕ: Версии в блоке и в пути к исполняемому файлу провайдера должны совпадать!** В поле `source` помещается путь до репозитория с версией вида: ```bash ${host_name}/${namespace}/${type} ``` **ВНИМАНИЕ: Версии в блоке и в пути к исполняемому файлу провайдера должны совпадать!** 8. Добавьте в файл блок с инициализацией провайдера. ```terraform provider "decort" { authenticator = "decs3o" controller_url = "https://mr4.digitalenergy.online" oauth2_url = "https://sso.digitalenergy.online" allow_unverified_ssl = true } ``` 9. В консоли выполните команду ```bash terraform init ``` 10. В случае успешной установки, Terraform инициализирует провайдер и будет готов к дальнейшей работе. ## Примеры работы Примеры работы можно найти: - На вики проекта: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki - В папке `samples` Хорошей работы!