You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform-provider-dynamix/wiki/1.0.0/08.-Полезные-советы.md

6.4 KiB

8.1 Как хранить авторизационную информацию отдельно от tf-файла

Для работы с Terraform провайдером DYNAMIX его требуется инициализировать. Одним из этапов инициализации является авторизация в контроллере облачной платформы.

В зависимости от метода авторизации нужная информация может передаваться в аргументах app_id & app_secret (пара аргументов), jwt (единичный аргумент) или user & password (пара аргументов). Однако, помещать данную информацию непосредственно в tf-файл может быть небезопасным, так как она позволяет любому, кто получил этот файл, осуществить доступ к контроллеру облачной инфраструктуры от лица данного пользователя.

Если вышеперечисленные параметры не указаны в tf-файле, то Terraform провайдер DYNAMIX попытается использовать значения, заданные в соответствующих переменных окружения:

Аргумент Переменная окружения
app_id decort_APP_ID
app_secret decort_APP_SECRET
jwt decort_JWT
user decort_USER
password decort_PASSWORD

Поэтому для использования tf-файла, не содержащего секретной информации, рекомендуется вместо внесения значений непосредственно в файл перед запуском провайдера установить нужные переменные окружения.

8.2 Если Terraform провайдер жалуется на SSL сертификаты

Данная проблема, как правило, возникает в ситуациях, когда ваш экземпляр облачной платформы DYNAMIX использует самоподписанные сертификаты, что не редкость для изолированных инсталляций в доверенных контурах. В таких случаях при вызове resource и data source функций провайдера можно на стадии инициализации провайдера отключить проверку подлинности SSL сертификатов путем установки параметра

allow_unverified_ssl = true

Обратите внимание, что отключение проверки подлинности SSL сертификатов является потенциально небезопасным, поэтому данный метод рекомендуется применять с осторожностью и, предпочтительно, при работе с доверенными средами.

8.3 Настройка локального провайдера для работы с новыми версиями Terraform

Начиная с Terraform версии 0.12 был изменён алгоритм поиска и инициализации локальных провайдеров. Как следствие, для использования данного провайдера с новыми версиями Terraform уже недостаточно просто поместить исполняемый файл провайдера в ту же директорию, где находится файл main.tf.

Ниже перечислены действия, которые необходимо выполнить для настройки провайдера на работу совместно с Terraform версии 0.12 или более новой. Действия описаны для компьютера с ОС семейства Linux и процессорной архитектурой Intel/AMD 64-bit.

  1. Создать в домашней директории текущего пользователя директорию ~/.local/share/terraform/plugins/basistech.ru/tf/dynamix/1.0.0/linux_amd64
  2. Поместить исполняемый файл провайдера terraform-provider-basis в эту директорию (или создать symbolic link на исполняемый файл провайдера).
  3. Добавить в файл main.tf блок, описывающий данный провайдер:
terraform {
  required_providers {
    dynamix = {
      source  = "basistech.ru/tf/dynamix"
      version = "~> 1.0"
    }
  }
}

8.4 OpenTofu

Terraform-provider-dynamix полностью совместим с OpenTofu версии 1.8. OpenTofu - это форк Terraform, созданный в ответ на переход HashiCorp с лицензии с открытым исходным кодом на BUSL. Инструкция по его установке находится на официальном сайте https://opentofu.org/docs/intro/install/. Все основные команды terraform можно использовать и в OpenTofu Основные используемые команды:

  • tofu init — инициализирует рабочий каталог OpenTofu.
  • tofu validate — подтверждает правильность синтаксиса файла.
  • tofu plan — генерирует файл изменений и показывает, что изменится при запуске.
  • tofu apply — строит или изменяет инфраструктуру. Команда покажет план - выполнения и потребует ответа «да» или «нет».
  • tofu refresh — обновляет локальный файл состояния относительно реальных ресурсов.
  • tofu destroy — удаляет инфраструктуру, управляемую OpenTofu.