Инициализация рабочих каталогов
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.9/cli/init/