くりにっき

フルスタックキュアエンジニアです

terraform-version-updaterをcooldown対応した&ghrcooldownを作った

背景

昨今サプライチェーンアタックが流行っており、その対策の1つとしてcooldown(ライブラリなどで新しいバージョンが出てもすぐにバージョンアップせずに一定期間待つ)が挙げられています

拙作の https://github.com/sue445/terraform-version-updater はTerraformを最新バージョンに上げるためのツールですが、Terraformがサプライチェーンの被害に合うこともゼロではないのでcooldown対応しました。

# Update terraform to latest version with cooldown days
terraform-version-updater --cooldown-days 7

github.com

ghrcooldownについて

ghrcooldownはGitHubのReleaseからcooldownを考慮した最新バージョンを取得するためのライブラリです。(例えばRelease上ではv1.2.3が最新でも、それが自分が指定したcooldownの期間を経過していなければその1つ前のv1.2.2が返ってくる)

github.com

cooldown系の機能はterraform-version-updater内で実装しようとも考えたんですがこの手のcooldown機能はみんな実装したくなりそうなのでライブラリとして切り出しました。

使い方などはREADMEのexampleを参照