
Monokle CLI adalah antarmuka baris perintah untuk analisis statis sumber daya Kubernetes.
Gunakan untuk mencegah kesalahan konfigurasi di dalam Kustomize, Helm atau Default Kubernetes Resources. Output tersedia sebagai file sarif yang dapat Anda unggah ke github codescan.
Monokle CLI memungkinkan untuk integrasi dengan Monokle Cloud dan Monokle Enterprise untuk mengelola dan menegakkan kebijakan validasi secara terpusat untuk semua repo dan pipa Anda.
Anda dapat membaca lebih lanjut tentang fitur Monokle CLI dan seluruh ekosistem Monokle dalam pengumuman blog-post.
Anda dapat menginstal Monokle CLI melalui NPM:
npm install --global @monokle/cliAtau menggunakan minuman jika Anda menggunakan macOS:
brew install kubeshop/monokle/monokle-cliMonokle Cli memaparkan perintah berikut:
monokle validate [path] - Validasi sumber daya Kubernetes di jalur tertentu.monokle init - Hasilkan file konfigurasi lokal.monokle login - Masuk ke Monokle Cloud atau Enterprise untuk menggunakan kebijakan jarak jauh.monokle logout - Logout dari Monokle Cloud atau Enterprise.monokle whoami - Dapatkan informasi tentang pengguna yang sedang diautentikasi saat ini.monokle config show [path] - Tampilkan file konfigurasi kebijakan yang akan digunakan untuk divalidasi jalur yang diberikan. Anda selalu dapat menggunakan argumen --help untuk mendapatkan daftar semua perintah yang tersedia atau informasi terperinci tentang setiap perintah.
Monokle CLI mencakup validator bawaan untuk memberi Anda kemungkinan validasi yang komprehensif untuk konfigurasi K8S di luar kotak:
Di bawah kap ia menggunakan [@monokle/validasi] [https://github.com/kubeshop/monokle-core/tree/main/packages/validation] yang memungkinkan Anda mengkonfigurasi aturan validasi secara luas.
Setelah diinstal, menggunakan CLI lurus-lurus.
monokle validate bundle.yamlIni akan secara rekursif memindai semua file YAML dan menguraikannya sebagai sumber daya Kubernetes biasa.
monokle validate k8s-dirhelm template helm-dir | monokle validate -kustomize build kustomize-dir/overlays/local | monokle validate -monokle validate path/to/validate -c path/to/config/monokle.validation.yaml Untuk menggunakan kebijakan jarak jauh, Anda perlu masuk ke Monokle Cloud terlebih dahulu. Ini dapat dilakukan melalui perintah monokle login :
monokle login Setelah itu, cukup jalankan perintah validate . Monokle CLI akan mengambil kebijakan jarak jauh berdasarkan data pengguna Anda:
monokle validate path/to/validatePenting : Perlu diingat bahwa kebijakan jarak jauh perlu dikonfigurasi terlebih dahulu. Silakan merujuk dengan menggunakan dengan bagian Cloud Monokle di bawah ini.
Monokle CLI mendukung set aturan yang telah ditentukan yang disebut kerangka kerja, yang memungkinkan Anda untuk dengan cepat menjalankan validasi Monokle tanpa perlu konfigurasi tambahan. Dengan menggunakan kerangka kerja, Anda dapat dengan mudah melakukan validasi komprehensif berdasarkan praktik terbaik dan standar industri.
Saat menggunakan kerangka kerja, Anda tidak perlu mengkonfigurasi file monokle.validation.yaml secara manual. Cukup tentukan kerangka kerja yang diinginkan menggunakan --framework atau -f argumen CLI, dan Monokle CLI akan secara otomatis menerapkan set aturan yang sesuai.
Kerangka kerja yang tersedia:
pss-restrictedpss-baselinensaMenggunakan Frameworks adalah cara terbaik untuk memulai dengan cepat dengan Monokle CLI dan melakukan validasi komprehensif tanpa perlu konfigurasi yang luas.
Berikut adalah contoh cara menggunakan argumen --framework :
monokle validate k8s-dir --framework pss-restricted Jika Anda lebih suka validasi yang lebih disesuaikan, Anda masih dapat mengonfigurasi file monokle.validation.yaml dengan aturan Anda sendiri. Cara termudah adalah dengan menggunakan perintah monokle init yang akan memandu Anda dengan membuat konfigurasi khusus berdasarkan kerangka kerja yang tersedia.
Monokle CLI dapat menghasilkan hasilnya dalam format sarif.
monokle validate --output sarif k8s-dir > results.sarifSetelah itu Anda dapat menggunakan penampil sarif VSC atau alat lain untuk memeriksa hasilnya.
Untuk menggunakan kebijakan jarak jauh dengan Monokle CLI, Anda perlu membuat proyek dan mengkonfigurasi kebijakan untuk itu di Monokle Cloud. Mulailah dengan masuk ke Monokle Cloud.
Dalam hal keraguan, lihat Panduan Memulai atau pukul kami langsung pada Perselisihan.
Setelah mendaftar, mulailah dengan membuat proyek di halaman proyek:

Setelah proyek dibuat, tambahkan repositori (yang akan Anda kerjakan secara lokal) ke sebuah proyek. Ini dapat dilakukan dengan pergi ke tab Repositories dalam tampilan proyek dan menggunakan tombol Add repository :

Langkah terakhir adalah pengaturan kebijakan. Anda dapat menggunakan Wizard Kebijakan dengan pergi ke tab Policy di Tampilan Proyek:

Setelah pengaturan selesai, Anda dapat menjalankan perintah monokle validate dan akan menggunakan kebijakan jarak jauh selama Anda masuk.
Menggunakan dengan Monokle Enterprise (self-hosted) sangat mirip dengan penggunaan dengan Monokle Cloud. Perbedaan utama adalah asal (URL) yang akan dikomunikasikan oleh Monokle Cli. Ini dapat diatur pada login atau untuk setiap perintah secara terpisah (berguna untuk skenario otomatis).
monokle login --origin https://monokle.mydomain.comPenting :
MONOKLE_ORIGINvariabel env juga dapat digunakan untuk mengatur asal untuk perintah logging. Jika tidak ada yang digunakan, CLI akan meminta setiap kali menggunakan asal khusus.
Untuk menggunakan bendera --origin tanpa masuk, silakan merujuk pada menggunakan pada bagian CI/CD Pipelines di bawah ini.
Kami telah mendedikasikan
Monokle GitHub Botuntuk mengintegrasikan manajemen kebijakan terpusat ke dalam pipa GitHub CI/CD yang memberikan integrasi yang lebih ketat dengan Cloud Monokle daripada menggunakan CLI secara langsung.
Untuk menggunakan Monokle CLI sebagai bagian dari pipa CI/CD, perlu dipasang terlebih dahulu dan kemudian cukup berjalan dengan monokle validate path/to/resources .
Kasus lainnya menggunakan kebijakan yang dikelola secara terpusat dari Monokle Cloud dalam skenario tersebut. Dengan demikian, seseorang harus menggunakan token otomatisasi (yang dapat dihasilkan melalui tab Automation token dalam tampilan Workspace ) bersama dengan id proyek dari mana kebijakan harus digunakan:
monokle validate project/path -t YOUR_AUTOMATION_TOKEN -p PROJECT_IDID Proyek dapat diperoleh di halaman Detail Proyek dari URL
https://app.monokle.com/dashboard/projects/<projectId>.
Anda juga dapat mengubah asal yang akan digunakan untuk mengambil kebijakan dari (misalnya saat menjalankan instance Anda sendiri dari Monokle Enterprise):
monokle validate project/path -t YOUR_AUTOMATION_TOKEN -p PROJECT_ID -r https://monokle.mydomain.comPenting : Selalu ingat untuk menjaga token API Anda sebagai rahasia dan meneruskannya ke pekerjaan CI/CD dengan cara yang sama seperti rahasia lainnya.
Bot Monokle GitHub dapat digunakan untuk memvalidasi sumber daya Anda sebagai bagian dari saluran pipa GitHub CI/CD Anda. Ini terintegrasi dengan Monokle Cloud out-of-the-box untuk memungkinkan manajemen kebijakan terpusat yang mudah.
Tindakan Monokle GitHub dapat digunakan untuk memvalidasi sumber daya Anda sebagai bagian dari jaringan pipa CI/CD Anda di GitHub. Ini memberikan lebih banyak kemampuan penyesuaian dalam hal memvalidasi hasil run kering.
Jika Anda memerlukan sesuatu yang terintegrasi erat dengan Monokle Cloud, kami sarankan menggunakan Monokle GitHub Bot .
Anda dapat menggunakan --help untuk mengakses informasi bantuan langsung dari CLI.
Monokle CLI mencari file konfigurasi validasi Monokle di ./monokle.validation.yaml . Anda dapat mengubahnya dengan menggunakan flag --config .
Semua aturan diaktifkan secara default dan dijelaskan dalam dokumentasi konfigurasi validasi Monokle.
Contoh
plugins :
yaml-syntax : true
kubernetes-schema : true
rules :
yaml-syntax/no-bad-alias : " warn "
yaml-syntax/no-bad-directive : false
open-policy-agent/no-last-image : " err "
open-policy-agent/cpu-limit : " err "
open-policy-agent/memory-limit : " err "
open-policy-agent/memory-request : " err "
settings :
kubernetes-schema :
schemaVersion : v1.24.2Mudah untuk memperluas Monokle CLI dengan validator khusus yang dapat dibagikan dengan orang lain menggunakan repositori Plugin Komunitas Monokle kami.
Anda dapat menggunakan gambar Docker monokle-cli:latest untuk menjalankan Monokle Cli di lingkungan yang berkontak. Ini dapat sangat berguna untuk mengintegrasikan Monokle ke dalam pipa CI/CD atau sistem otomatis lainnya.
Untuk menjalankan gambar Docker, Anda dapat menggunakan perintah docker run . Argumen Monokle CLI dapat diteruskan langsung ke perintah Docker Run. Misalnya:
docker run -v /path/to/input:/input -e CONFIG_FILE=my-validation-config.yaml monokle-cli:latest validate /input
Dalam perintah ini:
-v /path/to/input:/input memasang direktori dari sistem host Anda ke direktori/input di dalam wadah Docker.-e CONFIG_FILE=my-validation-config.yaml menetapkan variabel lingkungan di dalam wadah Docker. Jika variabel lingkungan ini diatur, wadah Docker akan menggunakan file yang ditentukan sebagai konfigurasi validasi Monokle.validate /input adalah perintah yang akan diteruskan ke Monokle CLI. Anda dapat mengganti ini dengan perintah apa pun yang ingin Anda jalankan dengan Monokle CLI.