⛏️

terraformcloudよりatlantisよりdiggerが好き

に公開

背景・前提

  1. atlantisの代わりを探してた
  2. terraformにある程度精通している人が対象
  3. iacを愛している方

目的

  • 「Terraformを実行したい」でも、最適方式はチームの成熟度やガバナンス要件で異なる
  • この記事では、3つのシナリオを追いながら、ローカルCLI、GitHub Actions自作、Terraform Cloud、Atlantis、そしてDiggerの「どれを、いつ、なぜ」選ぶかを理解できることを目的とする

実装

こちらへ

https://github.com/kiwamizamurai/digger_tutorial

内容

diggerとは

2025年に$3.6Mのシード調達を完了し、Initialized Capital主導で有力エンジェル(Datadog CEO、Sentry共同創設者など)が参画。GitHub Stars 4.5K、500K+ダウンロード、300+組織利用の実績を持つ、急成長中のオープンソース Terraform自動化ツール

https://digger.dev/

シナリオ1:創業初期、スピード最優先(ローカルCLI)

プロダクトの0→1を高速で作っているCTOさん、そんなときに一番速いのは、開発者PCでのローカル実行です。terraform init/plan/apply を直に叩いてますよね、私もそうでした

しかし、早晩ぶつかる壁があります。ヒューマンエラー、だれがいつ apply したかの不透明さ。チームが2〜3人を超えたら、この方式は「怖い」運用になっていきます

シナリオ2:小さなチームの標準化(GitHub Actionsを自作)

リポジトリにプッシュしたら自動で terraform plan、マージで apply。最低限の自動化は、GitHub Actionsで十分に実現できます

ただし「PRに結果をコメント」「ロックや並行applyの調停」「モノレポでの変更検知」「マルチアカウントの権限切替」…といった現実的な要件は、すべて自作と保守の対象になります

これが面倒なんです

シナリオ3:CommentOpsの本格運用。選択は3つ

標準化が進むと、PR上での可視化・承認・ロックなど、IaC運用の「作法」が欲しくなります。代表的な選択肢は次の3つです

3-1) Terraform Cloud(TFC)で"全部入り"

マネージドな実行環境、ワークスペース、ステート、キューまで統合。監査・承認フローが厳格な組織では第一候補

3-2) Atlantisで"自分たちのサーバで"

AtlantisはPRコメント(atlantis plan/apply)でTerraformを回すOSS。強いのはPR駆動の体験とロックの手堅さ。反面、サーバ運用・アップデート・スケールは自前です

3-3) Diggerで"サーバレスにAtlantis体験"

DiggerはGitHub Actionsと緊密に連携し、PRコメント(digger plan/apply)でTerraformを回せます。サーバは不要。digger.yml でモノレポ/多環境を整理し、ロックや依存関係、Checkov/OPA/Infracost等の統合も設計しやすいのが強みです

私がDiggerを いま 選ぶ理由

端的に言えば無料かつサーバーレスだからです、しかし一応詳細に書いときます

市場優位性

  1. コミュニティ版は完全無料(Apache 2.0)
  2. シード調達$3.6Mで資金調達力を実証。長期的な開発継続性が期待

技術的優位性

  1. サーバレスでCommentOpsがすぐ使える
    • PRで digger plan → Plan結果がコメントに。digger apply → Applyを制御。レビューと運用が同じ場所で完結
  2. モノレポ/多環境の整理が簡単
    • digger.ymlprojectsworkflows で、dir ごとの独立計画、依存や層構造の表現
  3. ゼロ運用負荷(vs Atlantis)
    • Atlantisのようなサーバメンテが不要
  4. セキュリティファースト
    • クラウドアクセス秘密情報を第三者と共有なし
  5. ロック機構
    • PR毎の自動ロックで競合回避。マージまでplanの整合性を保証
  6. アクセス制御
    • In-line plan policies (OPA)とConftestで運用を安定化

まとめ

digger最高です、3つほど機能追加やバグに関して貢献できそうなので時間があればOSS貢献しようと思います

参考

https://developer.hashicorp.com/terraform/cloud-docs/overview
https://www.runatlantis.io/
https://docs.digger.dev/ce/reference/digger.yml

Discussion