本文へスキップ

OpenTofu 1.7.0リリース:状態暗号化、動的プロバイダー定義関数、その他多数

OpenTofu 1.7.0 is out with State Encryption, Dynamic Provider-Defined Functions, and more

過去数ヶ月間、最初の安定版リリース以降、OpenTofuコミュニティとコアチームは連携して、長年要望されていた機能をOpenTofuにもたらすため尽力してきました。私たちは、OpenTofu 1.7.0のリリースを発表できることを誇りに思います。このリリースでは、以下の重要な機能強化が実現しました。

  • エンドツーエンドの状態暗号化は、使用するストレージバックエンドに関わらず、状態ファイルへの不正アクセスから保護します。環境変数を使用して安全に暗号化パスフレーズを提供したり、AWS KMS、GCP KMS、OpenBaoなどのキー管理システムを使用したりできます。 この機能は、Stephan Bartels(Interhyp)氏とOpenTofuコミュニティのAlex Scheel氏との共同開発であり、彼らの貢献に感謝いたします。
  • 動的プロバイダー定義関数により、プロバイダーはリソースを提供するだけでなく、OpenTofuコードで使用できるネイティブ関数も提供できるようになりました。さらに、構成に基づいてプロバイダーが動的にカスタム関数を定義できるようにするOpenTofu独自の機能を追加しました。この機能強化により、ライブストリームで紹介されているように、他のプログラミング言語を完全に統合できます。この機能は、実験的なLuaおよびGoプロバイダーでお試しいただけます。
  • 削除ブロックを使用すると、OpenTofuによって作成されたリソースを状態ファイルから削除するようにマークできますが、作成したインフラストラクチャはそのまま維持できます。
  • ループ可能なインポートブロックを使用すると、OpenTofuコードでリソースを一括インポートできます。大規模な移行に役立ちます。

以前のバージョンと同様に、OpenTofuは以前のバージョンのTerraform™ 1.5の代替としてそのまま使用でき、それ以降のバージョンからの移行も容易です。詳細な移行手順については、改訂された移行ガイドをご覧ください。変更点の完全なリストと包括的な例は、ドキュメントに記載されています。

OpenTofuコミュニティの拡大

最初のリリース以降、OpenTofuコミュニティと導入は大幅に拡大しています。ユーザーの追跡は行っていないため正確な数値はありませんが、4ヶ月前の開始以来、レジストリの使用率は毎月着実に増加しています。先月だけで、レジストリの使用率は2倍以上に増加し、1日あたり100万件を超えるリクエストとなっています。

A graph showing OpenTofu's registry usage.

さらに、このリリースだけでも65人のユニークな貢献者がおり、GitHubで最近20,000スターに到達しました。1月以来、コミュニティはOpenTofuに関する情報を拡散し、200件以上の新しい課題を開設し、さらに多くのプルリクエストを提出しました。

OpenTofuとは?

OpenTofuを初めてご利用の方、ようこそ!私たちは、HashiCorpのTerraform™のライセンスがBUSLに変更され、頻繁に変更されるライセンスに関するFAQが公開された後、フォークとして開始しました。OpenTofuは、独自のコードを作成するか、数万ものコミュニティ提供モジュールを使用することで、数千ものAPIを使用してクラウドインフラストラクチャを宣言的に作成できるインフラストラクチャ・コードツールです。

たとえば、AWSでEC2インスタンスを次のように作成できます。

コードブロック
resource "aws_instance" "web" {
ami = "add AMI ID here"
instance_type = "t3.micro"
}

OpenTofuの主な利点は、クラウドインフラストラクチャへの変更を状態ファイルに記録することで、後で同じインフラストラクチャを変更したり、テストとして作成したインフラストラクチャを削除したりできることです。

未来への展望:OpenTofu 1.8を待望して

OpenTofuは、何よりもまずコミュニティ主導のプロジェクトです。私たちは、コミュニティが重要と考える問題に取り組むというこれまでの伝統を継続していくことを楽しみにしています。透明性を高め、全員が投票できるように、最も多くの賛成票を集めた問題のリストを作成しました。

OpenTofu 1.8の多くはまだ計画段階ですが、現在、変数をモジュールソース、バックエンド構成などに使用できるようにする機能の提案を最終決定しています。変数の早期評価はこれまで30件以上の課題で要望されており、OpenTofuで最も要望されている機能の1つです。

OpenTofuで実現してほしい機能があれば、お気軽に課題を開設してください。またはSlackでお問い合わせください