本文へスキップ

OpenTofu 1.7.0-alpha1 のテストにご協力ください

Help us test OpenTofu 1.7.0-alpha1

OpenTofu コミュニティの皆様、こんにちは!ここ数ヶ月、状態暗号化削除済みブロックなどの新機能、そして互換性の向上に力を入れてきました。数日前に、これらの改良の最初のプレビュー版であるOpenTofu 1.7.0-alpha1をリリースしました。

新しいアルファ版で問題が発生しないように最善を尽くしましたが、このリリースのテストには皆様の助けが必要です。本番環境以外の環境で新機能のテストにご協力いただける場合は、テストしていただき、GitHub の Issue を使用してフィードバックをお寄せください。すべてがうまくいったというご報告だけでも結構です。

このブログ記事では、新しいプレビューリリースのダウンロード方法と、各新機能の動作について説明します。

アルファ版のダウンロード

アルファ版は、GitHub リリースページからのみ入手できます。ご利用のプラットフォームに適したファイルを選択してください。いくつかのクイックリンクを以下に示します。

プラットフォーム/デバイスダウンロードリンク
デスクトップ Windows コンピューター
(64ビット)
tofu_1.7.0-alpha1_windows_amd64.zip
MacOS
(Macbook M1以降; ARM64)
tofu_1.7.0-alpha1_darwin_arm64.tar.gz
MacOS
(Macbook M1以前; AMD64)
tofu_1.7.0-alpha1_darwin_amd64.tar.gz
Intel/AMD Linux コンピューターまたはサーバー
(AMD64)
tofu_1.7.0-alpha1_linux_amd64.tar.gz
ARMベースのLinuxコンピューター
または
Raspberry Pi 3以降

(ARM64)
tofu_1.7.0-alpha1_linux_arm64.tar.gz

上記のリリースについては、アーカイブを解凍すると、`tofu`バイナリが見つかるはずです。スタンドアロンインストーラーを使用して、署名検証付きでリリースをダウンロードすることもできます。

状態暗号化

状態暗号化は、このリリースの主要機能の1つです。この機能については、完全なドキュメントを用意しています。

この機能をテストするには、状態ファイルのバックアップを作成してから、次の設定を追加してください。

コードブロック
terraform {
encryption {
key_provider "pbkdf2" "my_passphrase" {
passphrase = "" # Enter a passphrase here
}

method "aes_gcm" "my_method" {
keys = key_provider.pbkdf2.my_passphrase
}

state {
method = method.aes_gcm.my_method
fallback{} # Remove after the migration is complete.
}
}
}

暗号化された状態ファイルから暗号化されていない状態ファイルへの移行は、このように行います。

コードブロック
terraform {
encryption {
key_provider "pbkdf2" "my_passphrase" {
passphrase = "" # Enter a passphrase here
}

method "aes_gcm" "my_method" {
keys = key_provider.pbkdf2.my_passphrase
}

state {
# Leave this block empty apart from the fallback block.
fallback{
method = method.aes_gcm.my_method
}
}
}
}

AWSアカウントにアクセスできる場合は、AWS Key Management Serviceキープロバイダーもテストできます。(AWS KMS の価格にご注意ください。)

削除済みブロック

削除済みブロックを使用すると、状態ファイルからリソースを削除できますが、インフラストラクチャ上にはリソースが残ります。この機能については、完全なドキュメントを用意しています。まずリソースを作成してテストできます。

コードブロック
resource "local_file" "test" {
content = "Hello world!"
filename = "test.txt"
}

適用後、リソースを削除済みブロックに置き換えることができます。

コードブロック
removed {
from = local_file.test
}

次の適用後、`local_file.test`リソースは状態ファイルに存在しなくなりますが、`test.txt`ファイルはディスク上に存在するはずです。これで、`removed`ブロックを安全に削除できます。

組み込み関数の変更

このリリースには、いくつかの新しい関数と、既存の関数の変更も含まれています。

CLI の変更

CLI にもいくつかの変更があります。

  • `tofu plan` には、プラン出力を短縮するための `-concise` フラグが追加されました。
  • `tofu console` は、Solaris と AIX で動作するようになりました。
  • CLI は、XDG ディレクトリ仕様をサポートするようになりました。
  • `state list` → `state ls`、`state mv` → `state move`、`state rm` → `state remove` のエイリアスが追加されました。

フィードバックの提供

このプレビューリリースのテストにご協力いただきありがとうございます。フィードバックがある場合は、GitHub の Issue を使用するか、OpenTofu Slack でチャットしてください。