首頁 >後端開發 >Golang >samwise-CLI:開源 Terraform 模組依賴性追蹤器

samwise-CLI:開源 Terraform 模組依賴性追蹤器

PHPz
PHPz原創
2024-08-12 18:36:12869瀏覽

地形

Terraform 是一種用 Hashicorp 配置語言 (HCL) 編寫的基礎設施即程式碼 (IaC) 工具。本文假設讀者已經使用 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 個主要版本。

解決方案

展示 samwise-cli,這是一個幫助追蹤儲存庫上游的 Terraform/OpenTofu 依賴項的工具。在您的儲存庫中搜尋模組的使用情況,並產生具有可用更新的模組的報告以及比目前使用的版本更高級的所有版本。

samwise-CLI: The Open Source Terraform module dependency tracker

目前只有一個指令,但希望隨著工具的開發,很快會有更多指令。

暫時隨機回購

samwise-CLI: The Open Source Terraform module dependency tracker 達斯科技 / samwise-cli

一個 CLI 應用程序,陪伴您的 terraform 模組之旅,並分擔模組依賴項更新的負擔,就像一位勇敢的霍比特人幫助 Frodo 攜帶他的一樣 :)

三衛

一個 CLI 應用程序,陪伴您的 terraform 模組之旅,並分擔模組依賴項更新的負擔,就像一位勇敢的霍比特人幫助 Frodo 攜帶他的 :)

samwise-CLI: The Open Source Terraform module dependency tracker

                       \ : /
                    '-: __ :-'
                    -:  )(_ :--
                    -' |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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn