Инициализация рабочих каталогов
OpenTofu ожидает, что его будут запускать из рабочего каталога, содержащего файлы конфигурации, написанные на языке 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.11/cli/init/