Terraformのスタイルガイドを読んだ

developer.hashicorp.com

公式がTerraformのスタイルガイドを出したのでざっと読んでみた。
基本的にこれをそのまま使えば問題ないと思うくらい同意できるものが多く、自分が書く時とそこまでズレはない。

個人的に変えているところだけまとめてみた。

  • File names
    • あまりファイル数を増やしたくないので backend.tf, provider.tf, terraform.tf は terraform.tfに統合している
  • Variables
    • 変数を使いすぎるなという点は強く同意
    • しかしdefaultを設定するのは否定的
    • 変数として注入する値を確認するときに main.tf と variables.tf の両方を確認したくないため
  • Repository structure
    • 単一リポジトリに module とインフラ構成をまとめることが多い
    • 過度に共通化したくないのと、管理場所が分かりづらくなることを防ぐため
  • Multiple Environments
    • workspaceを使わずに環境毎にディレクトリを作っている
    • 個別の環境にしか存在しないリソースがある場合、それぞれのディレクトリで書けば良くなる
    • module にあるものは全環境で共通のリソースであるという前提が作れるので分かりやすい
  • Test
    • まだ自分が利点を理解していなので使っていない