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.1.0/08.-Полезные-советы.md

52 lines
6.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 8.1 Как хранить авторизационную информацию отдельно от tf-файла
Для работы с Terraform провайдером DYNAMIX его требуется [инициализировать](https://repository.basistech.ru/BASIS/terraform-provider-dynamix/src/branch/main/wiki/1.1.0/04.02-Инициализация-Terraform-провайдера-DYNAMIX.md). Одним из этапов инициализации является авторизация в контроллере облачной платформы.
В зависимости от метода авторизации нужная информация может передаваться в аргументах `app_id` & `app_secret` (пара аргументов), `jwt` (единичный аргумент) или `user` & `password` (пара аргументов). Однако, помещать данную информацию непосредственно в tf-файл может быть небезопасным, так как она позволяет любому, кто получил этот файл, осуществить доступ к контроллеру облачной инфраструктуры от лица данного пользователя.
Если вышеперечисленные параметры не указаны в tf-файле, то Terraform провайдер DYNAMIX попытается использовать значения, заданные в соответствующих переменных окружения:
| Аргумент | Переменная окружения |
| --- | --- |
| app_id | DYNAMIX_APP_ID |
| app_secret | DYNAMIX_APP_SECRET |
| jwt | DYNAMIX_JWT |
| user | DYNAMIX_USER |
| password | DYNAMIX_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.1.0/linux_amd64`
2. Поместить исполняемый файл провайдера `terraform-provider-basis` в эту директорию (или создать symbolic link на исполняемый файл провайдера).
3. Добавить в файл `main.tf` блок, описывающий данный провайдер:
```terraform
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.