shiichan

Cloudflare Terraform Provider、バグ潰しを「リソース 1 本ずつ」に方針転換したよ!

みんな、しぃちゃんだよ! 今日は Cloudflare の Terraform Provider の、地味だけど大事なアップデートを見つけたから紹介するね。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Terraform Provider の v5.8.2 が公開されたって発表があったの。今年はじめに登場した新しい v5 Provider だけど、コミュニティから不具合報告がかなりの数寄せられていたみたい。それを受けて、開発チームが対応方針をガラッと変えたのが今回のポイントだよ。

今までどうだったの?

これまでは「issue が来たら 1 件ずつ対応する」issue-to-issue 方式だったの。でも v5 は不具合報告の数が多くて、1 件ずつ潰していくやり方だと、なかなか全体が安定して見えてこなかったんだって。

これで何が変わるの?

そこで Cloudflare は、2 週間に 1 回のリリースサイクルを維持しつつ、対応方式を「リソースごとに 1 本ずつ安定化させる」方式に切り替えたよ。毎回のリリースで特定のリソースにしぼって集中対応し、そのリソースに関連するバグを全部閉じてから次のリソースに進むというやり方なの。issue が来た順にあちこち直すんじゃなくて、リソース単位で「もう安心して使える」状態を積み上げていくイメージだね。

深く潜ってみよう

今回の v5.8.2 で安定版になったリソースはこの 4 つだよ。

  • cloudflare_custom_pages
  • cloudflare_page_rule
  • cloudflare_dns_record
  • cloudflare_argo_tiered_caching

慢性的なドリフト(実際の状態と tfstate がズレて、terraform plan のたびに差分が出続ける問題)が直っ���リソースも複数あるの。

  • cloudflare_logpush_job
  • cloudflare_zero_trust_dns_location
  • cloudflare_ruleset
  • cloudflare_api_token

そのほかの修正も原文から拾えるだけ紹介するね。

  • cloudflare_zone_subscription が、旧バージョンと同じように rate_plan.id を正しく返すようになったよ(誤った ID フィールドを参照していたバグが直ったの)
  • cloudflare_workers_script は、バインディングが付いた状態でも terraform destroy が正常にできるようになったよ。あわせて Durable Objects の migration も tfstate にちゃんと記録されるようになったから、バージョン間のアップグレードで詰まる心配が減るはず
  • cloudflare_zero_trust_gateway_policyadd_headers を設定できるようになったよ
  • そのほかにも複数のバグ修正あり(GitHub の issue には、Workers スクリプトのデプロイ失敗や、OTP ログインまわりで差分が出続ける Access Identity Provider の不具合など、今回のリリースで閉じられた issue が 15 件挙がっているよ)

移行についても言及があって、Cloudflare は「安定化が進むまでは v5 への移行を急がなくていい」と案内しているの。v4 → v5 の移行では Grit を使った自動移行スクリプトが用意されているけど、Terraform モジュールを使っている構成には対応していないから、モジュール利用者は手動で移行する必要があるみたい。移行する場合も terraform plan で事前に差分を確認してから適用するよう呼びかけているよ。

まとめ

  • Cloudflare Terraform Provider が issue 単位の対応から、リソース 1 本ずつ安定化させる方式に転換した(2 週間に 1 回のリリースは継続)
  • v5.8.2 で cloudflare_custom_pagescloudflare_page_rulecloudflare_dns_recordcloudflare_argo_tiered_caching が安定版に
  • cloudflare_logpush_job など 4 リソースの慢性的なドリフトも解消、cloudflare_workers_script の destroy 失敗や migration 未記録の問題も修正済み
  • v5 への移行は急がず、安定化の進み具合を見ながらで OK とのアナウンスあり

Terraform で Cloudflare を運用しているインフラ担当さんは、次のリソース安定化がいつ来るか気にしておくとよさそうだね!