Rumah >pembangunan bahagian belakang >Golang >samwise-CLI: Penjejak pergantungan modul Terraform Sumber Terbuka
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 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" }
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.
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.
Pada masa ini, hanya ada satu arahan, tetapi diharapkan akan ada lebih banyak arahan selepas alat itu berkembang.
Repo rawak buat masa ini
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 :)
\ : / '-: __ :-' -: )(_ :-- -' |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-'|____|| )/ | % %/ '-,-…
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.
CSV Format
JSON Format
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!