From ce8ec35a2ef5cf45e0695fe87a36392fb422cc2a Mon Sep 17 00:00:00 2001
From: svs1370 <34687689+svs1370@users.noreply.github.com>
Date: Mon, 13 Sep 2021 18:25:12 +0300
Subject: [PATCH] =?UTF-8?q?Updated=2005.=20=D0=98=D0=BD=D0=B8=D1=86=D0=B8?=
=?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20Terraform=20?=
=?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B0=D0=B9=D0=B4=D0=B5=D1=80=D0=B0=20?=
=?UTF-8?q?DECORT=20(markdown)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...нициализация-Terraform-провайдера-DECORT.md | 37 ++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/05.-Инициализация-Terraform-провайдера-DECORT.md b/05.-Инициализация-Terraform-провайдера-DECORT.md
index 55d7765..8f850e6 100644
--- a/05.-Инициализация-Terraform-провайдера-DECORT.md
+++ b/05.-Инициализация-Terraform-провайдера-DECORT.md
@@ -1,3 +1,38 @@
# Инициализация Terraform провайдера DECORT
-DOCUMENTATION IS UNDER DEVELOPMENT
\ No newline at end of file
+## Список аргументов для инициализации
+Перед началом использования любой Terraform провайдер должен быть инициализирован.
+
+В процессе инициализации Terraform провайдера DECORT проверяется корректность переданных аргументов и выполняется авторизация в указанном контроллере облачной инфраструктуры.
+
+При инициализации Terraform провайдера используются следующие аргументы:
+
+| Аргумент | Переменная окружения | Описание |
+| --- | --- | --- |
+| allow_unverified_ssl | - | Если данный аргумент явно установлен в `true`, то провайдер **не будет** проверять SSL сертификаты при взаимодействии с авторизационным сервисом OAuth2 и контроллером облачной платформы.
Отключение проверок может быть полезным при работе в доверенной среде, использующей самоподписанные SSL сертификаты. Однако, так как отключение проверок несёт потенциальные риски безопасности, данную настройку следует использовать с осторожностью.
Разрешённые значения: `false` (значение по умолчанию) и `true`. |
+| app_id | DECORT_APP_ID | Идентификатор приложения (клиента) для авторизации в контроллере облачной платформы в режиме `oauth2`.
Аргументы `app_id` и `app_secret` являются обязательными для режима авторизации `authenticator=oauth2`.
Если `app_id` не задан в tf-файле, то провайдер будет использовать значение из переменной окружения `DECORT_APP_ID`. |
+| app_secret | DECORT_APP_SECRET | Секретный код приложения (клиента) для авторизации в контроллере облачной платформы в режиме `oauth2`.
Аргументы `app_id` и `app_secret` являются обязательными для режима авторизации `authenticator=oauth2`.
Если `app_secret` не задан в tf-файле, то провайдер будет использовать значение из переменной окружения `DECORT_APP_SECRET`. |
+| authenticator | - | Режим авторизации при подключении к контроллеру облачной платформы.
Доступные режимы: `oauth2`, `legacy` или `jwt`.
Данный аргумент является обязательным. |
+| controller_url | - | URL контроллера облачной платформы, через который будет осуществляться управление облачными ресурсами.
Данный аргумент является обязательным. |
+| jwt | DECORT_JWT | JSON Web Token (JWT), который используется для авторизации в контроллере облачной платформы в режиме `jwt`.
Данный аргумент является обязательным для режима авторизации `authenticator=jwt`.
Если `jwt` не задан в tf-файле, то провайдер будет использовать значение из переменной окружения `DECORT_JWT` |
+| oauth2_url | DECORT_OAUTH2_URL | URL авторизационного сервиса OAuth2, который используется для управления доступом пользователей (или программных клиентов) к контроллеру облачной платформы.
Данный аргумент является обязательным для режимов авторизации `authenticator=oauth2` или `authenticator=jwt`.
Если `oauth2_url` не задан в tf-файле, то провайдер будет использовать значение из переменной окружения `DECORT_OAUTH2_URL` |
+| password | DECORT_PASSWORD | Пароль для авторизации в контроллере облачной платформы в режиме `legacy`.
Аргументы `password` и `user` являются обязательными для режима авторизации `authenticator=legacy`.
Если `password` не задан в tf-файле, то провайдер будет использовать значение из переменной окружения `DECORT_PASSWORD`. |
+| user | DECORT_USER | Имя пользователя для авторизации в контроллере облачной платформы в режиме `legacy`.
Аргументы `user` и `password` являются обязательными для режима авторизации `authenticator=legacy`.
Если `user` не задан в tf-файле, то провайдер будет использовать значение из переменной окружения `DECORT_USER`. |
+
+## Пример инициализации
+Пример инициализации Terraform провайдера DECORT:
+```
+provider "decort" {
+ authenticator = "oauth2"
+ controller_url = "https://ctrl.decort.online"
+ oauth2_url = "https://oauth2.decort.online:7777"
+}
+```
+
+В данном примере используется режим авторизации `oauth2`.
+
+Как отмечено выше, в данном режиме требуется указать аргументы `app_id` и `app_secret`, идентифицирующие пользователя (или приложение-клиент), от лица которого будут выполняться дальнейшие действия. Однако, так как данная информация является конфиденциальной (по сути, она эквивалентна паре _имя пользователя : пароль_), то в общем случае заносить такого рода данные в tf-файл не следует. Рекомендуется определять в среде запуска Terraform переменные окружения `DECORT_APP_ID` и `DECORT_APP_SECRET`, из которых провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения.
+
+Пользователь, от лица которого Terrafrom будет выполнять действия в облачной платформе, должен заранее создать пару _Application ID_ и _Application Secret_ в авторизационном приложении OAuth2. Именно эти значения , а также URL авторизационного приложения Oauth2, должны присваиваться аргументам `app_id`, `app_secret` и `oauth2_url` соответственно для успешной инициализации провайдера.
+
+Также обратите внимание на формат задания аргументов `controller_url` и `oauth2_url`. В общем случае они должны содержать идентификатор протокола (_https://_) и сетевой порт, если он отличается от порта по умолчанию (в примере для авторизационного сервиса OAuth2 указан порт _7777_). Эту информацию вы можете узнать у администратора вашей облачной инфраструктуры DECORT.
\ No newline at end of file