Пропуск внутренней инициализации в Terraform Init: быстрые и простые методы

Terraform — это мощный инструмент для управления инфраструктурой как кодом, позволяющий с легкостью выделять облачные ресурсы и управлять ими. При работе с Terraform команда terraform initчасто используется для инициализации новой или существующей конфигурации. Однако могут возникнуть ситуации, когда вы захотите пропустить этап инициализации серверной части. В этой статье мы рассмотрим несколько способов достижения этой цели, которые сделают процесс инициализации Terraform более эффективным.

Метод 1: использование флага «-backend=false».
Самый простой способ пропустить инициализацию серверной части — использовать флаг -backend=falseс командой terraform init. Этот флаг сообщает Terraform не настраивать какие-либо настройки серверной части. Вот пример:

terraform init -backend=false

Метод 2: использование переменных среды
Terraform позволяет вам устанавливать переменные среды для управления его поведением. Вы можете использовать переменную TF_IN_AUTOMATION, чтобы пропустить инициализацию серверной части. Если установлено значение «true», Terraform не будет запрашивать конфигурацию серверной части. Вот как вы можете установить переменную среды:

В Linux/macOS:

export TF_IN_AUTOMATION=true
terraform init

В Windows (PowerShell):

$env:TF_IN_AUTOMATION="true"
terraform init

Метод 3: создание внутреннего файла конфигурации
Другой подход заключается в создании внутреннего файла конфигурации и явной ссылке на него во время инициализации. Файл конфигурации серверной части может опускать конфигурацию серверной части, фактически пропуская ее. Вот пример:

Создайте файл с именем backend.tfи следующим содержимым:

# backend.tf
terraform {
  backend "local" {}
}

Затем запустите terraform initкак обычно:

terraform init

Метод 4: использование рабочих пространств Terraform
Рабочие пространства Terraform позволяют вам управлять несколькими экземплярами конфигураций вашей инфраструктуры. Переключившись на рабочую область без настроенной серверной части, вы можете эффективно пропустить инициализацию серверной части во время инициализации. Вот пример:

terraform workspace new temp
terraform init

Пропуск инициализации серверной части при запуске terraform initможет сэкономить время и упростить рабочий процесс Terraform. В этой статье мы рассмотрели несколько методов достижения этой цели, в том числе использование флага -backend=false, использование переменных среды, создание внутреннего файла конфигурации и использование рабочих пространств Terraform. Включив эти методы в свои проекты Terraform, вы сможете оптимизировать процесс инициализации и сосредоточиться на эффективном построении инфраструктуры.