Rumah >pembangunan bahagian belakang >Golang >samwise-CLI: Penjejak pergantungan modul Terraform Sumber Terbuka

samwise-CLI: Penjejak pergantungan modul Terraform Sumber Terbuka

PHPz
PHPzasal
2024-08-12 18:36:12876semak imbas

Terraform

Terraform ialah alat Infrastructure-as-Code(IaC) yang ditulis dalam Hashicorp Configuration Language(HCL). Artikel ini menganggap bahawa pembaca telah bekerja dengan Terraform dan memahami cara modul berfungsi.

Semua pengekodan dalam Terraform sama ada telah mencipta modul mereka sendiri atau sekurang-kurangnya menggunakan modul orang lain.

Modul terraform

Modul ialah bekas untuk berbilang sumber yang digunakan bersama. Modul terdiri daripada koleksi fail .tf dan/atau .tf.json yang disimpan bersama dalam direktori.

Modul ialah cara utama untuk membungkus dan menggunakan semula konfigurasi sumber dengan Terraform.

Modul boleh diterbitkan ke pendaftaran seperti pendaftaran Terraform atau GitLab. Modul juga boleh disampaikan daripada repositori Git dengan menyediakan URL HTTPS atau SSH. Ini boleh dibuat versi juga. Contohnya,

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

Versi:

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

Cabaran

Apabila repositori anda berkembang dan anda merujuk modul anda dalam repositori lain, anda secara munasabah akan versi modul anda untuk memastikan perubahan huluan dalam sumber tidak merosakkan infrastruktur anda. Walau bagaimanapun, adalah sukar untuk menjejaki semua keluaran baharu untuk modul yang digunakan dan lebih sukar untuk melakukannya dengan kerap. Tanpa ditangani, ini membina lebih masa sebagai hutang teknologi kerana suatu hari anda mendapati modul teras kini 3 versi utama di hadapan.

Penyelesaian

Membentangkan samwise-cli, alat untuk membantu menjejaki kebergantungan Terraform/OpenTofu repositori anda di hulu. Mencari repositori anda untuk penggunaan modul dan menjana laporan modul yang mempunyai kemas kini tersedia bersama-sama dengan semua versi yang lebih maju daripada versi yang digunakan pada masa ini.

samwise-CLI: The Open Source Terraform module dependency tracker

Pada masa ini, hanya ada satu arahan, tetapi diharapkan akan ada lebih banyak arahan selepas alat itu berkembang.

Repo rawak buat masa ini

samwise-CLI: The Open Source Terraform module dependency tracker Darth-Tech / samwise-cli

Aplikasi CLI untuk mengiringi perjalanan modul terraform anda dan berkongsi beban kemas kini pergantungan modul anda, sama seperti seorang Hobbit yang berani membantu Frodo membawanya :)

samwise

Aplikasi CLI untuk mengiringi perjalanan modul terraform anda dan berkongsi beban kemas kini pergantungan modul anda, sama seperti seorang Hobbit yang berani membantu Frodo membawanya :)

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-'|____||    )/   |
             % %/ '-,-
Lihat di 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 :)

Atas ialah kandungan terperinci samwise-CLI: Penjejak pergantungan modul Terraform Sumber Terbuka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn