Formatter YAML
Mengapa memformat file YAML?
YAML sangat sensitif terhadap masalah indentasi — spasi ekstra bisa menyebabkan kesalahan parsing atau korupsi data yang diam-diam. Kubernetes, Docker Compose, GitHub Actions, dan Ansible menggunakan file konfigurasi YAML, dan satu kesalahan format dapat memblokir seluruh deployment.
Normalisasi Indentasi
Menormalkan indentasi campuran ke format 2 spasi yang konsisten di seluruh dokumen
Validasi Sintaks
Mengidentifikasi kesalahan indentasi, campuran tab/spasi, dan masalah struktural
Anchor dan Alias
Dukungan penuh untuk anchor YAML (&) dan alias (*) untuk penggunaan ulang dokumen
Format YAML dalam 3 langkah
Tempel YAML
Tempel manifest Kubernetes, workflow GitHub Actions, atau file konfigurasi YAML
Format dan Validasi
Alat memvalidasi sintaks dan secara otomatis memformat ulang dengan indentasi yang konsisten
Salin dan Deploy
Salin YAML yang diformat ke file, pipeline CI, atau alat deployment
Kasus Penggunaan Format YAML
Manifest Kubernetes
Format file Deployment, Service, dan ConfigMap YAML sebelum diterapkan ke cluster
Pipeline CI/CD
Validasi workflow GitHub Actions, GitLab CI, dan CircleCI untuk mencegah kegagalan pipeline
Playbook Ansible
Format dan validasi task, variabel, dan inventori Ansible
Docker Compose
Pastikan docker-compose.yml diformat dengan benar sebelum docker compose up
Praktik Terbaik YAML
✓ Gunakan spasi, bukan tab
Spesifikasi YAML secara eksplisit melarang karakter tab untuk indentasi. Konfigurasikan editor untuk menyisipkan spasi saat Tab ditekan di file YAML.
✓ Beri tanda kutip pada karakter khusus
String yang mengandung : # [ ] { } atau dimulai dengan karakter khusus harus dikutip.
✓ Gunakan anchor untuk mengurangi pengulangan
Anchor YAML (&nama) dan alias (*nama) memungkinkan penggunaan ulang nilai di seluruh dokumen.
✓ Lint sebelum commit
Jalankan yamllint atau gunakan formatter ini dalam hook pre-commit untuk mendeteksi masalah format lebih awal.
❓ Pertanyaan yang Sering Diajukan
Mengapa YAML tidak berfungsi dengan tab daripada spasi?
Spesifikasi YAML melarang karakter tab untuk indentasi karena editor yang berbeda menampilkan tab dengan lebar yang berbeda. Spasi memberikan indentasi yang konsisten yang ditafsirkan sama oleh semua parser YAML.
Apa yang dilakukan anchor YAML (&) dan alias (*)?
Anchor mendefinisikan blok yang dapat digunakan ulang dengan &namaanchor; alias mereferensikannya dengan *namaanchor. Memungkinkan mendefinisikan nilai sekali dan menggunakannya di banyak tempat.
Apa perbedaan antara YAML dan JSON?
YAML adalah superset dari JSON — JSON yang valid juga merupakan YAML yang valid. YAML menambahkan dukungan komentar, anchor, string multi-baris, dan sintaks yang lebih mudah dibaca.
Kapan harus memilih YAML daripada TOML untuk konfigurasi?
YAML memiliki dukungan alat yang lebih luas (Kubernetes, Ansible, sebagian besar sistem CI) dan dapat mengekspresikan struktur bersarang yang kompleks secara ringkas. Dalam konfigurasi DevOps, YAML adalah standar.