Deki "Pemeriksa Kepatuhan" atau Sorts, kerangka kerja kontrol detektif dengan set aturan pluggable. Ini bagian dari keluarga tukang kebun, tetapi dapat digunakan juga pada distro Kubernetes lain atau bahkan di lingkungan non-Kubernet, misalnya untuk memeriksa kepatuhan akun hyperscaler Anda.
Deki adalah kata Yunani untuk "uji coba". Anda juga dapat menghafalnya sebagai "Investigasi Detektif terhadap Imperatif Utama" atau sebagai akronim rekursif bergaya GNU "Diki menyelidiki imperatif utama". Secara sehari -hari dikenal sebagai "Don't I Know It", yang juga cocok untuk apa yang dilakukannya.
Penting
Repositori ini berkembang secara aktif. API dapat berubah tanpa kompatibilitas ke belakang.
Jika Anda menginstal melalui rilis GitHub, Anda harus meletakkan biner diki di jalur Anda.
Cuplikan instalasi sampel untuk macOS bisa terlihat seperti ini:
# Example for macOS
# set operating system and architecture
os=darwin # choose between darwin, linux, windows
arch=amd64 # choose between amd64, arm64
# Get latest version. Alternatively set your desired version
version= $( curl -Ls -H ' Accept: application/json ' https://github.com/gardener/diki/releases/latest | jq -r ' .tag_name ' )
# Download diki
curl -LO " https://github.com/gardener/diki/releases/download/ ${version} /diki- ${os} - ${arch} "
# Make the diki binary executable
chmod +x " ./diki- ${os} - ${arch} "
# Move the binary in to your PATH
sudo mv " ./diki- ${os} - ${arch} " /usr/local/bin/diki
Sebagian besar konfigurasi run
Deki disediakan melalui file konfigurasi. Opsi bergantung pada berbagai penyedia dan aturan. Berikut adalah beberapa perintah untuk memulai:
diki run
--config=config.yaml
--all
diki run
--config=config.yaml
--all
--output=./report.json
diki run
--config=config.yaml
--provider=gardener
--ruleset-id=disa-kubernetes-stig
--ruleset-version=v2r1
diki run
--config=config.yaml
--provider=gardener
--ruleset-id=disa-kubernetes-stig
--ruleset-version=v2r1
--rule-id=242414
Deki dapat menghasilkan laporan yang dapat dibaca manusia dari file output dari eksekusi diki run
. Laporan gabungan dapat diproduksi dengan mengatur bendera distinct-by
. Nilai bendera ini adalah daftar key=value
di mana kunci adalah ID dari penyedia yang ingin kami sertakan dalam laporan gabungan dan nilainya adalah bidang metadata unik yang akan digunakan sebagai nilai perbedaan antara berbagai penyedia yang berjalan.
diki report generate
--output=report.html
output.json
diki report generate
--distinct-by=gardener=id
--output=report.html
output1.json output2.json
Deki dapat menghasilkan JSON yang berisi perbedaan antara dua file output dari eksekusi diki run
. Ini dapat membantu mengidentifikasi perbaikan (atau regresi). Laporan perbedaan HTML yang dapat dibaca manusia dapat dihasilkan dari laporan perbedaan.
diki report diff
--title=Title
--old=output1.json
--new=output2.json
--output=difference.json
diki report generate diff
--identity-attributes=gardener=id
--output=difference.html
difference1.json difference2.json
Anda dapat menjalankan tes secara manual melalui make test
.
Kontribusi sangat disambut. Untuk mempelajari lebih lanjut, lihat Panduan Kontributor.
Terima kasih khusus untuk @Vlerenc, @aleksandarsavchev dan @DimityRMirchev yang memberikan kontribusi signifikan untuk proyek sebelum disediakan untuk umum.