Инициализация рабочих каталогов
OpenTofu ожидает, что его будут запускать из рабочего каталога, содержащего файлы конфигурации, написанные на языке OpenTofu. OpenTofu использует содержимое конфигурации из этого каталога, а также использует каталог для хранения настроек, кэшированных плагинов и модулей, а иногда и данных состояния.
Перед выполнением каких-либо операций в рабочем каталоге (например, развертыванием инфраструктуры или изменением состояния) необходимо инициализировать его.
Содержимое рабочего каталога
Рабочий каталог OpenTofu обычно содержит:
- Конфигурацию OpenTofu, описывающую ресурсы, которыми должен управлять OpenTofu. Ожидается, что со временем эта конфигурация будет изменяться.
- Скрытый каталог
.terraform, который OpenTofu использует для управления кэшированными плагинами поставщиков и модулями, записи сведений о том, какая рабочая область активна в данный момент, а также последней известной конфигурации бэкенда на случай, если при следующем запуске потребуется перенести состояние. Этот каталог автоматически управляется OpenTofu и создается при инициализации. - Данные состояния, если конфигурация использует бэкенд
localпо умолчанию. OpenTofu управляет ими в файлеterraform.tfstate(если в каталоге используется только рабочая область по умолчанию) или в каталогеterraform.tfstate.d(если в каталоге используется несколько рабочих областей).
Инициализация
Выполните команду tofu init, чтобы инициализировать рабочий каталог, содержащий конфигурацию OpenTofu. После инициализации можно будет выполнять другие команды, например tofu plan и tofu apply.
Если попытаться выполнить команду, которой требуется инициализация, не выполнив ее предварительно, команда завершится с ошибкой и сообщит, что необходимо запустить init.
Инициализация выполняет несколько задач для подготовки каталога, в том числе обращается к состоянию в настроенном бэкенде, загружает и устанавливает плагины поставщиков и загружает модули. При определенных условиях (обычно при переходе с одного бэкенда на другой) программа может запросить у пользователя указания или подтверждение.
Подробности см. в описании команды tofu init.
Повторная инициализация
При некоторых изменениях конфигурации OpenTofu перед продолжением обычной работы может потребоваться повторная инициализация. К таким изменениям относятся изменения требований к поставщикам, источников модулей или ограничений версий, а также конфигурации бэкенда.
Повторно инициализировать каталог можно, снова выполнив команду tofu init. Более того, повторную инициализацию можно выполнять в любое время: команда init идемпотентна и не окажет никакого эффекта, если изменения не требуются.
Если требуется повторная инициализация, команды, зависящие от инициализации, завершатся с ошибкой и сообщат об этом.
Повторная инициализация только модулей
Команда tofu get загрузит модули, указанные в конфигурации, но не выполнит другие необходимые задачи инициализации. Эта команда полезна лишь в узкоспециализированных сценариях, поэтому большинству пользователей OpenTofu можно не обращать на нее внимания и использовать вместо нее tofu init.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.10/cli/init/