Команда: providers mirror
Команда tofu providers mirror загружает провайдеры, необходимые для текущей конфигурации, и копирует их в каталог в локальной файловой системе.
При обычном использовании tofu init автоматически загружает необходимые провайдеры из реестров провайдеров при инициализации текущего рабочего каталога. Иногда OpenTofu запускается в среде, где это невозможно, например в изолированной сети без доступа к реестру OpenTofu. В таком случае настройка явного метода установки позволяет настроить OpenTofu так, чтобы при запуске в определённой системе он обращался только к локальному каталогу файловой системы, в котором вы создали локальное зеркало необходимых плагинов, и совсем не обращался к вышестоящему реестру.
Команда tofu providers mirror может автоматически заполнить каталог, который будет использоваться в конфигурации установки провайдеров как локальное зеркало файловой системы.
Использование
Использование: tofu providers mirror [options] <target-dir>
Требуется указать один целевой каталог. OpenTofu создаст в этом каталоге структуру путей, предусмотренную для зеркал плагинов провайдеров на основе файловой системы, и заполнит её файлами .zip, содержащими сами плагины.
Использование переменных в источниках модулей требует присваивания значений переменным корневого модуля при запуске tofu providers mirror.
Эта команда принимает следующие общие параметры:
-
-var 'NAME=VALUE'— задаёт значение одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать значения нескольких переменных. Подробнее см. в разделе Входные переменные в командной строке. -
-var-file=FILENAME— задаёт значения для любого количества входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла «tfvars». Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов. -
-json— включает вывод машиночитаемого интерфейса JSON. -
-json-into=out.json— выводит те же данные, что и -json, но перенаправляет их в файл. Это позволяет одновременно записывать как человекочитаемые, так и машиночитаемые журналы.
Помимо параметров -var и -var-file, существует несколько других способов задать значения входных переменных корневого модуля. Подробнее см. в разделе Присваивание значений переменным корневого модуля.
OpenTofu также создаст различные индексные файлы .json, содержащие подходящие ответы для реализации протокола сетевого зеркала, если вы загрузите полученный каталог на хостинг статических веб-сайтов. OpenTofu игнорирует эти индексные файлы при использовании каталога в качестве зеркала файловой системы, поскольку в этом случае источником истины являются сами записи каталога.
Эта команда поддерживает следующие дополнительные параметры:
-
-platform=OS_ARCH— выбирает целевую платформу, для которой нужно создать зеркало. По умолчанию OpenTofu получает пакеты плагинов, подходящие для платформы, на которой выполняется эта команда. Используйте этот флаг несколько раз, чтобы включить пакеты для нескольких целевых систем.Имена целевых платформ состоят из операционной системы и архитектуры процессора. Например,
linux_amd64выбирает операционную систему Linux, работающую на процессоре AMD64 или x86_64.
Команду tofu providers mirror можно повторно запустить для существующего каталога зеркала, чтобы обновить его новыми пакетами. Например, можно добавить пакеты для новой целевой платформы, повторно выполнив команду с нужным новым параметром -platform=.... При этом пакеты для новой платформы будут добавлены, а ранее загруженные пакеты останутся; полученный набор пакетов будет объединён для обновления индексных файлов JSON.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.12/cli/commands/providers/mirror/