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

PHPz
リリース: 2024-08-12 18:36:12
オリジナル
760 人が閲覧しました

テラフォーム

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   ;|     |   /|
           /|    ;     |  / |
          | |    ;     |  ) |
         |  |    ;|    | /  |
         | ;|    ||    | |  |
         L-'|____||    )/   |
             % %/ '-,-
ログイン後にコピー
GitHub で表示

checkForUpdates

samwise-CLI: The Open Source Terraform module dependency tracker

For this to run where modules are using private GitHub repositories, .samwise.yaml config file needs to passed as an argument or needs to be present at the user's home directory.

.samwise.yaml format:

github_key:
github_username:
ログイン後にコピー

Currently only GitHub HTTPS authentication is supported but SSH authentication will be supported soon.

Result

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

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

Limitations(or better described as features to be added)

  • SSH authentication for retrieving module sources
  • Tracking Hashicorp's registry's module(they have an API to list versions here

Context for the name

I love Lord of the Rings :)

以上がsamwise-CLI: オープンソースの Terraform モジュールの依存関係トラッカーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
前の記事:プログラミングに行く |文字列の基本 |文字エンコーディング 次の記事:GORM、PostgreSQL、Atlas
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!