Validator YAML
Periksa YAML untuk menemukan kesalahan sintaks sebelum merusak penerapan atau pipeline CI. Validator mengurai setiap dokumen dalam input menggunakan pengurai YAML 1.2, menolak kunci duplikat, tab untuk indentasi, dan ekspansi alias yang berlebihan, serta melaporkan kesalahan pertama beserta dokumen, baris, dan kolomnya. Jika input valid, hasil menampilkan jumlah dokumen, tipe tingkat teratas masing-masing, dan peringatan apa pun. Dirancang untuk Kubernetes, Docker Compose, dan pembuat konfigurasi.
Pertanyaan yang sering diajukan
Apa yang diperiksa validator YAML?
Validator mengurai seluruh sintaks YAML: indentasi, koleksi blok dan alur, skalar berpetik dan polos, jangkar, alias, tag, dan direktif. Validator juga menganggap kunci duplikat dalam pemetaan sebagai kesalahan. Hasilnya berupa konfirmasi dengan ringkasan singkat atau kesalahan pertama beserta posisinya dan penjelasan.
Versi YAML mana yang digunakan?
Validator menggunakan skema inti YAML 1.2, yaitu versi spesifikasi saat ini. Dalam 1.2, kata seperti yes, no, on, dan off adalah string biasa, bukan boolean, sehingga tidak pernah menyebabkan error. Dokumen yang ditulis untuk alat YAML 1.1 tetap diterima selama sintaksnya valid.
Mengapa kunci duplikat dilaporkan sebagai error?
Spesifikasi YAML mengharuskan kunci dalam sebuah pemetaan bersifat unik. Banyak parser diam-diam mempertahankan nilai terakhir, sehingga kesalahan konfigurasi seperti pengaturan yang didefinisikan dua kali tidak terlihat. Validator melaporkan baris dan kolom kunci yang berulang agar Anda dapat menentukan nilai yang akan dipertahankan.
Bagaimana nomor baris, kolom, dan dokumen dihitung?
Baris dan kolom dimulai dari 1 di awal input yang Anda tempelkan. Dokumen dihitung sesuai urutannya, dipisahkan oleh baris ---, sehingga dokumen pertama adalah dokumen 1. Posisi menunjukkan tempat parser mendeteksi masalah, yang bisa saja tepat setelah kesalahan sebenarnya.
Bisakah saya memvalidasi beberapa dokumen YAML sekaligus?
Ya. Pisahkan dokumen dengan --- seperti dalam manifes Kubernetes multi-dokumen, dan setiap dokumen akan diurai. Hasil yang valid menampilkan jumlah dokumen serta tipe tingkat teratas masing-masing.
Apa arti tipe tingkat teratas?
Tipe ini menunjukkan isi akar setiap dokumen: pemetaan kunci dan nilai, urutan item, satu nilai skalar, atau tidak ada isi. Sebagian besar file konfigurasi berupa pemetaan, sedangkan daftar resource sering kali berupa urutan. Tipe yang keliru di sini biasanya menandakan tanda hubung atau indentasi yang salah tempat.
Apa itu peringatan?
Peringatan adalah masalah yang tidak menghentikan penguraian, misalnya tag yang tidak dikenal parser dan kemudian dibaca sebagai nilai biasa. Setiap peringatan dicantumkan beserta baris dan kolomnya, hingga 20 peringatan. Dokumen yang memiliki peringatan tetap dihitung valid.
Mengapa tab ditolak?
YAML melarang karakter tab untuk indentasi karena lebarnya ambigu. Ganti tab di awal baris yang dilaporkan dengan spasi dan samakan indentasinya dengan baris di sekitarnya. Tab di dalam nilai dan string berpetik diperbolehkan.
Apakah alat ini terlindungi dari serangan alias bomb?
Ya. Alias dapat diperluas paling banyak 100 kali, sehingga dokumen yang dibuat untuk menggandakan alias hingga menghasilkan gigabita data, yang sering disebut serangan billion laughs, dilaporkan tidak valid alih-alih menghabiskan memori. Penggunaan anchor dan alias yang normal untuk berbagi pengaturan tetap jauh di bawah batas ini.
Apakah alat ini memvalidasi berdasarkan skema seperti Kubernetes atau OpenAPI?
Tidak, alat ini hanya memeriksa sintaks dan struktur, bukan apakah kunci dan nilainya sesuai dengan skema tertentu. Input dapat berukuran hingga 5 MiB. Untuk mengubah YAML yang valid menjadi JSON, TOML, atau format lainnya, gunakan Konverter Format Data.