14 KiB
Список аргументов для инициализации
Перед началом использования любой Terraform провайдер должен быть инициализирован.
В процессе инициализации Terraform провайдера DECORT проверяется корректность переданных аргументов и выполняется авторизация в указанном контроллере облачной инфраструктуры. Подробнее о способах авторизации на платформе DECORT смотри соответствующий раздел.
При инициализации Terraform провайдера DECORT используются следующие аргументы:
| Аргумент | Переменная окружения | Описание |
|---|---|---|
| allow_unverified_ssl | - | Если данный аргумент явно установлен в true, то провайдер не будет проверять SSL сертификаты при взаимодействии с авторизационным сервисом OAuth2 и контроллером облачной платформы.Отключение проверок может быть полезным при работе в доверенной среде, использующей самоподписанные SSL сертификаты. Однако, так как отключение проверок несёт потенциальные риски безопасности, данную настройку следует использовать с осторожностью. Разрешённые значения: false (значение по умолчанию) и true. |
| app_id | DECORT_APP_ID | Идентификатор приложения (клиента) для авторизации в контроллере облачной платформы в режиме decs3o или bvs.Аргументы app_id и app_secret являются обязательными для режимов авторизации authenticator=decs3o и authenticator=bvs.Если app_id не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_APP_ID. |
| app_secret | DECORT_APP_SECRET | Секретный код приложения (клиента) для авторизации в контроллере облачной платформы в режиме decs3o или bvs.Аргументы app_id и app_secret являются обязательными для режимов авторизации authenticator=decs3o и authenticator=bvs.Если app_secret не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_APP_SECRET. |
| authenticator | - | Режим авторизации при подключении к контроллеру облачной платформы. Доступные режимы: decs3o, legacy, jwt или bvs.Данный аргумент является обязательным. |
| bvs_user | DECORT_BVS_USER | Имя пользователя для авторизации в контроллере облачной платформы в режиме bvs.Аргументы bvs_password и bvs_user являются обязательными для режима авторизации authenticator=bvs.Если bvs_user не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_BVS_USER. |
| bvs_password | DECORT_BVS_PASSWORD | Пароль пользователя для авторизации в контроллере облачной платформы в режиме bvs.Аргументы bvs_user и bvs_password являются обязательными для режима авторизации authenticator=bvs.Если bvs_password не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_BVS_PASSWORD. |
| domain | DECORT_DOMAIN | Имя домена в контроллере облачной платформы в режиме bvs.Данный аргумент является обязательным. Если domain не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_DOMAIN. |
| controller_url | DECORT_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=decs3o, authenticator=bvs и 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. |
Пример инициализации в режиме авторизации decs3o
Пример инициализации Terraform провайдера DECORT:
provider "decort" {
authenticator = "decs3o"
controller_url = "https://ctrl.decort.online"
oauth2_url = "https://oauth2.decort.online:7777"
}
В данном примере используется режим авторизации decs3o.
Как отмечено выше, в данном режиме требуется указать аргументы 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.
Пример инициализации в режиме авторизации bvs
Пример инициализации Terraform провайдера DECORT:
provider "decort" {
authenticator = "bvs"
controller_url = "https://delta.qa.loc"
oauth2_url = "https://bvs-delta.qa.loc:8443"
app_id = "delta"
app_secret = ""
bvs_password = ""
bvs_user = ""
domain = "dynamix"
}
В данном примере используется режим авторизации bvs.
Как отмечено выше, в данном режиме требуется указать аргументы app_id - идентификатор площадки - delta, alpha, poc, etc. Можно найти на странице администратора по следующему пути: вкладка безопасность - клиентские сервисы - наименование площадки. app_secret - пароль площадки. Можно найти на странице администратора по следующему пути: вкладка безопасность - клиентские сервисы - наименование площадки (символ i) - поле "Пароль". Однако, так как данная информация является конфиденциальной, то в общем случае заносить такого рода данные в tf-файл не следует. Рекомендуется определять в среде запуска Terraform переменные окружения DECORT_APP_ID и DECORT_APP_SECRET, из которых провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения.
Также обязательными аргументами являются: bvs_user - имя пользователя, bvs_password - пароль пользователя. Рекомендуется не заносить их в tf-файл, а определять в среде запуска Terraform переменные окружения DECORT_BVS_USER и DECORT_BVS_PASSWORD, из которых провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения.
Домен для подключения domain - указывается наименование площадки. Данный аргумент является обязательным. Рекомендуется не заносить его в tf-файл, а определять в среде запуска Terraform переменную окружения DECORT_DOMAIN, из которой провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения.
Пользователь, от лица которого Terrafrom будет выполнять действия в облачной платформе, должен заранее получить от администратора Application ID и Application Secret, bvs user и bvs password, а также domain. А также осуществить первичный вход на платформу посредством браузера.
Также обратите внимание на формат задания аргументов controller_url и oauth2_url. В общем случае они должны содержать идентификатор протокола (https://) и сетевой порт, если он отличается от порта по умолчанию (в примере для авторизационного сервиса OAuth2 указан порт 8443). Эту информацию вы можете узнать у администратора вашей облачной инфраструктуры DECORT.