📌

terraform のバージョンマネージャー選び

2024/08/22に公開

tl;dr

  • tfenv を長いこと使っていたけど、最近更新されていないことに気がついた
  • 乗り換えるなら何にするか検討してみた

version manager

  • cli などのツールのバージョン管理は大事
  • チームや組織で共通のバージョンを使うのは運用上必須
  • 特定のバージョンへの変更、固定、最新化が容易であることが望ましい
  • 現在進行系で継続的な更新が行われていてほしい

terraform のバージョンマネージャー

  • terraform に限って言えば、tfenv で今後もそんなには困らない
  • OpenTofu の件があるので、両方に対応できるといいかもしれない
  • CVEなどもあるので、継続的な更新は期待したい(お前がコントリビュートするんだよ)

tfenv

  • tfutils/tfenv: Terraform version manager
  • かなり初期の頃からある
  • rbenv にインスパイアされている(と書いてある)
  • .terraform-version
  • Release v3.0.0 - Major Update · tfutils/tfenv 最新版から2年以上が経過
  • ほぼ完成しているツールとはいえ、メンテナンスに不安があるツールを使い続けるのもどうか
  • というわけで別のツールを探す旅に出たってワケ

tofuenv

  • tofuutils/tofuenv: OpenTofu version manager
  • terraform の OSS fork である OpenTofu のバージョンマネージャー
  • terraform と OpenTofu の両方が使える tenv ができたのでお役御免になったようだ?(アーカイブはされていない)
  • terraform には対応していないので却下

tenv

tfswitch

tfvm

他に

  • Repository search results
  • 規模の小さいのは結構ある
  • terragrunt 向けのやつとか
  • asdf のプラグインとか
  • 結局のところ継続した更新を期待しているので

結局のところ

  • 急いで変更する必要はない(はず)
  • 変更の機会があったら tenv または tfswitch が有力候補
  • どちらも .terraform-version が使えるので移行には困らないはず
  • 後発でこれらを超えるツールを出して継続メンテナンスするのはモチベーションが保てない気がするし難しいよね
  • 他にこれだってツールがあれば教えてください
terraform-jp

Discussion