「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > samwise-CLI: オープンソースの Terraform モジュールの依存関係トラッカー

samwise-CLI: オープンソースの Terraform モジュールの依存関係トラッカー

2024 年 11 月 7 日に公開
ブラウズ:588

テラフォーム

Terraform は、Hashicorp 構成言語 (HCL) で書かれた Infrastructure-as-Code (IaC) ツールです。この記事は、読者が Terraform を使用したことがあり、モジュールがどのように機能するかを理解していることを前提としています。

Terraform でコーディングしている人は皆、独自のモジュールを作成するか、少なくとも他の人のモジュールを使用しています。

Terraform モジュール

モジュールは、一緒に使用される複数のリソースのコンテナです。モジュールは、ディレクトリにまとめて保存された .tf および/または .tf.json ファイルのコレクションで構成されます。

モジュールは、Terraform でリソース構成をパッケージ化して再利用する主な方法です。

モジュールは、Terraform レジストリや GitLab などのレジストリに公開できます。 HTTPS または SSH URL を指定することで、Git リポジトリからモジュールを提供することもできます。これらもバージョン管理できます。例えば、

module "consul" {
  source = "github.com/hashicorp/example"
}

バージョン管理:

module "consul" {
  source = "github.com/hashicorp/example?ref=1.2.6"
}

チャレンジ

リポジトリが拡大し、他のリポジトリ内のモジュールを参照する場合、ソースのアップストリームの変更によってインフラストラクチャが破壊されないように、モジュールを合理的にバージョン管理する必要があります。ただし、使用されているモジュールのすべての新しいリリースを追跡することは困難であり、定期的に追跡することはさらに困難です。対処しないと、ある日、コア モジュールのメジャー バージョンが 3 つ先になっていることがわかり、この問題が技術的負債として時間の経過とともに蓄積されていきます。

解決

リポジトリの Terraform/OpenTofu 依存関係をアップストリームで追跡するのに役立つツールである samwise-cli を紹介します。リポジトリでモジュールの使用状況を検索し、現在使用されているバージョンよりも高度なすべてのバージョンとともに、利用可能な更新があるモジュールのレポートを生成します。

samwise-CLI: The Open Source Terraform module dependency tracker

現時点ではコマンドは 1 つだけですが、ツールが開発され次第、さらに多くのコマンドが追加される予定です。

当面の間ランダムリポジトリ

samwise-CLI: The Open Source Terraform module dependency tracker ダーステック / サムワイズ-cli

Terraform モジュールの旅に同行し、モジュールの依存関係の更新の負担を共有する CLI アプリケーション。ちょうど、ある勇敢なホビットがフロドの持ち運びを手伝ったように :)

サムワイズ

Terraform モジュールの旅に同行し、モジュールの依存関係の更新の負担を共有する CLI アプリケーション。ちょうど、ある勇敢なホビットがフロドの持ち運びを手伝ったように :)

samwise-CLI: The Open Source Terraform module dependency tracker

%,( "' /%% / Cccc' (cause I couldn't find good enough Samwise Gamgee ASCII art) Frodo by Shanaka Dias">
                       \ : /
                    '-: __ :-'
                    -:  )(_ :--
                    -' |r-_i'-
            ,sSSSSs,   (2-,7
            sS';:'`Ss   )-j
           ;K e (e s7  /  (
            S, ''  SJ (  ;/
            sL_~~_;(S_)  _7
|,          'J)_.-' />'-' `Z
j J         /-;-A'-'|'--'-j\
 L L        )  |/   :    /  \
  \ \       | | |    '._.'|  L
   \ \      | | |       | \  J
    \ \    _/ | |       |  ',|
     \ L.,' | | |       |   |/
    _;-r-<_. __. _ l- l>…
GitHub で表示

アップデートをチェックする

samwise-CLI: The Open Source Terraform module dependency tracker

これをモジュールがプライベート GitHub リポジトリを使用している場所で実行するには、.samwise.yaml 構成ファイルを引数として渡すか、ユーザーのホーム ディレクトリに存在する必要があります。

.samwise.yaml 形式:

github_key:
github_username:

現在、GitHub HTTPS 認証のみがサポートされていますが、SSH 認証も間もなくサポートされる予定です。

結果

CSV形式
samwise-CLI: The Open Source Terraform module dependency tracker

JSON形式
samwise-CLI: The Open Source Terraform module dependency tracker

制限事項 (追加される機能として説明したほうが適切です)

  • モジュールソースを取得するための SSH 認証
  • Hashicorp のレジストリ モジュールの追跡 (ここにバージョンをリストする API があります)

名前のコンテキスト

私はロード・オブ・ザ・リングが大好きです:)

リリースステートメント この記事は次の場所に転載されています: https://dev.to/thundersparkf/samwise-cli-the-open-source-terraform-module-dependency-tracker-3b1e?1 侵害がある場合は、[email protected] までご連絡ください。それを削除するには
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3