- コマンドライン
- 基本的なCLI機能
- コマンド: providers
- コマンド: providers mirror
コマンド: providers mirror
tofu providers mirror
コマンドは、現在の設定に必要なプロバイダーをダウンロードし、ローカルファイルシステムのディレクトリにコピーします。
通常の使用では、tofu init
は、現在の作業ディレクトリの初期化の一部として、プロバイダーレジストリから必要なプロバイダーを自動的にダウンロードします。OpenTofuレジストリにアクセスできない隔離されたネットワーク上など、これが不可能な環境でOpenTofuを実行する場合があります。そのような場合は、明示的なインストール方法の設定により、特定のシステムで実行されているOpenTofuが、必要なプラグインのローカルミラーを作成したローカルファイルシステムディレクトリのみを参照し、アップストリームレジストリへのアクセスを完全にスキップするように設定できます。
tofu providers mirror
コマンドは、プロバイダーインストール設定でローカルファイルシステムミラーとして使用されるディレクトリを自動的に設定できます。
使用方法
使用方法: tofu providers mirror [オプション] <ターゲットディレクトリ>
1つのターゲットディレクトリが必要です。OpenTofuは、そのディレクトリの下に、ファイルシステムベースのプロバイダープラグインミラーに期待されるパス構造を作成し、プラグイン自体を含む.zip
ファイルを設定します。
モジュールソースでの変数の使用には、tofu providers mirror
を実行する際にルートモジュール変数に値を代入する必要があります。
このコマンドは、次の一般的なオプションを受け入れます
-
-var 'NAME=VALUE'
- 設定のルートモジュールで宣言されている単一の入力変数の値を設定します。複数の変数を設定するには、このオプションを複数回使用します。詳細については、コマンドラインでの入力変数を参照してください。 -
-var-file=FILENAME
- "tfvars"ファイルの定義を使用して、設定のルートモジュールで宣言されている可能性のある多くの入力変数の値を設定します。複数のファイルから値を含めるには、このオプションを複数回使用します。
-var
および-var-file
オプション以外にも、ルートモジュールで入力変数の値を設定する方法はいくつかあります。詳細については、ルートモジュール変数への値の代入を参照してください。
また、OpenTofuは、結果のディレクトリを静的Webサイトホストにアップロードする場合、ネットワークミラープロトコルを実装するための適切なレスポンスを含むさまざまな.json
インデックスファイルを生成します。OpenTofuは、ディレクトリをファイルシステムミラーとして使用する場合、これらのインデックスファイルを無視します。これは、その場合、ディレクトリエントリ自体が信頼できるためです。
このコマンドは、次の追加オプションをサポートしています
-
-platform=OS_ARCH
- ミラーを作成するターゲットプラットフォームを選択します。デフォルトでは、OpenTofuは、このコマンドを実行するプラットフォームに適したプラグインパッケージを取得します。複数のターゲットシステムのパッケージを含めるには、このフラグを複数回使用します。ターゲットプラットフォーム名は、オペレーティングシステムとCPUアーキテクチャで構成されます。たとえば、
linux_amd64
は、AMD64またはx86_64 CPUで実行されているLinuxオペレーティングシステムを選択します。
既存のミラーディレクトリでtofu providers mirror
を再度実行して、新しいパッケージで更新できます。たとえば、目的の新しい-platform=...
オプションを指定してコマンドを再実行することにより、新しいターゲットプラットフォームのパッケージを追加できます。以前にダウンロードしたパッケージを削除せずに、その新しいプラットフォームのパッケージを配置し、結果のパッケージセットをマージしてJSONインデックスファイルを更新します。