Terraform/OpenTofu
С помощью Semaphore UI вы можете запускать код Terraform. Для этого нужно создать шаблон Terraform-кода.
- Перейдите в раздел Шаблоны задач и нажмите кнопку Новый шаблон.
- Выберите Terraform в качестве типа приложения.
- Настройте шаблон и нажмите кнопку Создать.
- Нажмите Запустить, чтобы выполнить шаблон.
Передача переменных
Переменные из выбранных групп переменных передаются как переменные окружения. Добавьте к именам префикс TF_VAR_, чтобы Terraform воспринимал их как входные переменные:
| Ключ группы переменных | Переменная Terraform |
|---|---|
TF_VAR_region | var.region |
TF_VAR_instance_type | var.instance_type |
Для конфиденциальных значений используйте вкладку Секреты в группах переменных — они хранятся в зашифрованном виде.
Рабочие пространства
Semaphore нативно поддерживает рабочие пространства (workspaces) Terraform/OpenTofu. См. Рабочие пространства, чтобы узнать, как создавать и переключать рабочие пространства и использовать SSH-ключи для приватных модулей.
Переопределение бэкенда и HTTP-бэкенд (Pro)
Вы можете переопределить бэкенд в шаблоне, чтобы использовать встроенный HTTP-бэкенд без изменения вашего Terraform-кода. Подробнее см. HTTP-бэкенд (Pro).
Флаг destroy и миграция состояния
Диалог запуска задачи содержит переключатели для -destroy и -migrate-state. Используйте их при удалении инфраструктуры или миграции состояния Terraform.
Примечания
- Semaphore автоматически выполняет
terraform initперед каждым запуском. - Состояние управляется тем бэкендом, который настроен в вашем Terraform-коде (local, S3, GCS и т. д.), если только вы не используете встроенный HTTP-бэкенд (Pro).