## Системные требования

Для запуска провайдера вам потребуется машина, на которой установлен Terraform.

Кроме того, в связи с тем, что начиная с версии 0.12 Terraform изменил алгоритм поиска и инициализации локальных провайдеров, настройка данного провайдера для работы с Terraform 0.12 или более новыми версиями потребует выполнения ряда дополнительных действий. Подробнее см. [8.3 Настройка локального провайдера для работы с новыми версиями Terraform](https://repository.basistech.ru/BASIS/wiki-terraform-provider-decort/src/branch/main/4.10.1/08.-Полезные-советы.md#8-3-настройка-локального-провайдера-для-работы-с-новыми-версиями-terraform).

## Установка
Начиная с версии провайдера `4.3.0` в релизном архиве находятся скрипты-инсталляторы.
Чтобы выполнить установку, необходимо:
1. Перейти по адресу: https://repository.basistech.ru/BASIS/terraform-provider-decort/releases
2. Выбрать необходимую версию провайдера подходящую под операционную систему.
3. Скачать архив.
4. Распаковать архив.
5. Выполнить скрипт установщика, `install.sh` или `install.bat` для Windows.<br/>
*Для запуска `install.sh` не забудьте изменить права доступа к файлу*
```bash
chmod u+x install.sh
```
6. Дождаться сообщения об успешной установке. Установщик выведет актуальный блок конфигурации провайдера, скопируйте его
```bash
DECORT provider version 4.10.1 has been successfully installed

Copy this provider configuration to main.tf file:
terraform {
  required_providers {
    decort = {
      version = "4.10.1"
      source  = "basis/decort/decort"
    }
  }
}
```
7. После этого, создайте файл `main.tf` в рабочей директории, которая может находится в любом удобном для пользователя месте.
В данном примере, рабочая директория с файлом main.tf находится по пути:
```bash
~/work/tfdir/main.tf
```
8. Вставьте в `main.tf` блок конфигурации провайдера, который был выведен на экран установщиком:
```terraform
terraform {
  required_providers {
    decort = {
      version = "4.10.1"
      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 инициализирует провайдер и будет готов к дальнейшей работе.

## Ручная установка
Чтобы выполнить установку из релиза вручную, необходимо:
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.10.1"
      source  = "basis/decort/decort"
    }
  }
}
```
В поле `version` указывается версия провайдера.
<br/>
**ВНИМАНИЕ: Версии в блоке и в пути к исполняемому файлу провайдера должны совпадать!**

В поле `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 инициализирует провайдер и будет готов к дальнейшей работе.
