vsh
adalah alat cli dan shell HashiCorp Vault yang interaktif. Muncul dengan beberapa operasi umum dan memperlakukan jalur seperti direktori dan file. Fitur inti adalah:
cp
, rm
, mv
grep
(substring atau ekspresi reguler)replace
vsh -c "<cmd>"
)append
brew install vsh
nix-env -i vsh
Unduh biner statis terbaru dari halaman rilis.
Untuk mendapatkan token yang valid, vsh
menggunakan mekanisme TokenHelper vault. Itu berarti vsh
mendukung pengaturan token vault melalui ~/.vault-token
, VAULT_TOKEN
dan token-helper eksternal.
Tambahkan sertifikat tls untuk server dengan mengatur variabel lingkungan VAULT_CACERT
ke jalur sertifikat pem
.
vsh
memerlukan izin List
pada jalur yang dioperasikan. Hal ini diperlukan untuk menentukan apakah suatu jalur menunjuk ke sebuah node atau daun di pohon jalur. Selanjutnya, diperlukan untuk mengumpulkan data pelengkapan otomatis.
Perintah yang mengubah data seperti cp
atau mv
, juga memerlukan izin Read
dan Write
pada jalur yang dioperasikan.
Untuk menemukan semua backend yang tersedia dengan andal, idealnya token vault yang digunakan oleh vsh
memiliki izin List
pada sys/mount
. Namun, ini bukanlah persyaratan yang sulit. Jika token tidak memiliki izin List
pada sys/mount
, maka vsh
tidak mengetahui backend yang tersedia sebelumnya. Artinya pada awalnya tidak akan ada penyelesaian otomatis jalur di tingkat atas (backend). Apapun itu, vsh
akan mencoba dengan strategi upaya terbaik untuk menentukan versi kv dari setiap jalur yang dimasukkan secara andal.
export VAULT_ADDR=http://localhost:8080
export VAULT_TOKEN=root
export VAULT_PATH=secret/ # VAULT_PATH is optional
./vsh
http://localhost:8080 /secret/>
Catatan: token yang diberikan digunakan untuk pelengkapan otomatis, yaitu, kueri List()
dilakukan dengan token tersebut, bahkan jika Anda tidak melakukan rm
atau mv
apa pun. vsh
menyimpan cache List()
hasil untuk mengurangi jumlah kueri. Namun, setelah eksekusi setiap perintah, cache dibersihkan untuk melakukan penyelesaian tab secara akurat. Jika token Anda memiliki jumlah penggunaan yang terbatas, maka pertimbangkan untuk menggunakan mode non-interaktif atau nonaktifkan pelengkapan otomatis, untuk menghindari kueri List()
.
Untuk mengurangi jumlah kueri terhadap vault, Anda dapat menonaktifkan penyelesaian otomatis jalur dengan 2 cara:
./vsh --disable-auto-completion
./vsh
http://localhost:8080 /secret/> toggle-auto-completion
Use path auto-completion: false
http://localhost:8080 /secret/> toggle-auto-completion
Use path auto-completion: true
export VAULT_ADDR=<addr>
export VAULT_TOKEN=<token>
./vsh -c "rm secret/dir/to/remove/"
Mengerjakan rahasia brankas bisa menjadi hal yang sangat penting, menjadikan perilaku yang berkualitas dan benar sebagai warga negara kelas satu vsh
. Meskipun demikian, vsh
masih merupakan proyek open source kecil, artinya kami tidak dapat memberikan jaminan apa pun. Namun, kami sangat menekankan pengembangan yang didorong oleh pengujian. Setiap PR diuji dengan serangkaian pengujian integrasi yang ekstensif. Sebagian besar pengujian dijalankan pada KV1 dan KV2 dan setiap pengujian dijalankan terhadap vault 1.13.4
dan 1.16.2
, yaitu versi vault di antaranya kemungkinan juga kompatibel.
vsh
ditanggung oleh Anda sendiri. Kami tidak bertanggung jawab dan tidak memberikan jaminan apa pun.
Kontribusi dalam bentuk apa pun selalu diterima! Tanpa kontribusi dari komunitas, vsh
tidak akan menjadi alat seperti sekarang ini.
Persyaratan:
golang
( >= v1.21
)docker
untuk pengujian integrasimake
perintah yang disederhanakan make compile
make get-bats
make integration-tests
-v DEBUG
menyetel tingkat log debug, yang juga membuat file vsh_trace.log
untuk mencatat objek kesalahan apa pun dari API vault.