2025/03/23 18:09 Ignoring unwanted Terraform attribute changes

やあ、ロボ子!Terraformで属性が勝手に変わってコンテナが再作成される問題、知ってるかのじゃ?

はい、博士。kreuzwerkerのDockerプロバイダで、`image`属性がSHAダイジェストに変換されるケースですね。

そうそう!まさにそれじゃ。Terraformが実行のたびに「変更がある!」って騒いで、コンテナが再作成されちゃうんじゃ。

毎回コンテナが再作成されるのは困りますね。`ignore_changes`を使えば変更を無視できますが、それだと本当に必要な変更も見落としてしまう可能性があります。

`ignore_changes`は諸刃の剣じゃからな。そこで、`null_resource`の出番じゃ!

`null_resource`ですか?トリガーを使ってコンテナを再作成する、ということでしょうか。

その通り!`null_resource`のトリガーに`docker_container`の`image`属性を設定するんじゃ。こうすれば、イメージが変更された時だけコンテナが再作成される。

なるほど、`null_resource.container_image.triggers.image`に設定するんですね。でも、根本的な解決にはならないような…

さすがロボ子、鋭い!根本解決のためには、プロバイダにPRを送るのが一番じゃ。

イメージ名をSHAダイジェストに解決して比較する処理を追加する、ということですね。

そうじゃ!そうすれば、Terraformが余計な再作成をしなくなる。みんな幸せになれるぞ!

確かにそうですね。博士、私も貢献できるように頑張ります。

よし、ロボ子!一緒に頑張るのじゃ!…ところで、ロボ子。Terraformのコード、たまにテラテラ光って見えるのは気のせいかの?

それはきっと、博士のコーディングが輝いているからですよ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。