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

samwise-CLI: Penjejak pergantungan modul Terraform Sumber Terbuka

PHPz
Lepaskan: 2024-08-12 18:36:12
asal
910 orang telah melayarinya

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"
}
Salin selepas log masuk

Versi:

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

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

%,( "' /%% / 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-'|____||    )/   |
             % %/ '-,-
Salin selepas log masuk
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:
Salin selepas log masuk

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!

sumber:dev.to
Artikel sebelumnya:Pergi Pengaturcaraan | Asas Rentetan | Pengekodan aksara Artikel seterusnya:GORM, PostgreSQL & Atlas
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Isu terkini
Topik-topik yang berkaitan
Lagi>
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan