YAML là gì?
YAML (YAML Ain't Markup Language) là định dạng cấu hình dạng text, dễ đọc hơn JSON nhờ thụt đầu dòng thay cho ngoặc. YAML xuất hiện khắp nơi trong DevOps: manifest Kubernetes, file Docker Compose, workflow GitHub Actions, playbook Ansible, cấu hình CI/CD và nhiều file application.yml của Spring Boot.
Một lỗi nhỏ — thụt sai một space, thiếu dấu hai chấm sau key, dùng tab thay space — có thể khiến cluster không deploy được hoặc pipeline báo lỗi khó hiểu. Công cụ này dùng js-yaml trên trình duyệt để parse, báo lỗi cú pháp (kèm vị trí gợi ý), format lại cho đồng nhất, hoặc chuyển YAML ↔ JSON khi cần so sánh cấu trúc.
Nội dung không gửi lên máy chủ Tiện Ích Số. Phù hợp khi sửa config local; vẫn tránh dán secret thật (API key, password, private key) lên máy dùng chung — thay bằng placeholder khi cần hỏi đồng nghiệp.
Lỗi YAML thường gặp
- Thụt đầu dòng không nhất quán — YAML dùng space (thường 2), không dùng tab; lẫn tab và space là nguyên nhân hay gặp nhất.
- Thiếu khoảng trắng sau dấu hai chấm — viết
key:valuethay vìkey: value. - Chuỗi có ký tự đặc biệt — dấu hai chấm, thăng, ngoặc trong giá trị nên bọc bằng dấu ngoặc kép.
- Số leading zero — YAML có thể hiểu
0123là octal; cần quote nếu muốn giữ chuỗi. - Nhiều document — file có nhiều block cách nhau bởi
---; tool tập trung một document, nên tách từng phần nếu cần.
Khi nào nên dùng?
- Kiểm tra file config trước khi merge pull request.
- Làm đẹp YAML copy từ log hoặc Slack để dán vào repo.
- Đổi sang JSON để debug cấu trúc lồng nhau, rồi quay lại YAML sau khi sửa.
- Học YAML: so sánh bản gốc và bản format để thấy cấu trúc tree rõ hơn.
Cách dùng
- Dán YAML vào ô nhập (hoặc tải từ clipboard sau khi copy từ IDE).
- Nhấn Format / Kiểm tra — nếu lỗi, đọc thông báo và sửa dòng tương ứng.
- Sao chép YAML đã làm đẹp, hoặc chuyển sang JSON để xử lý với format JSON.
- Dán lại vào repo hoặc kubectl apply sau khi đã review diff.
Tool chuẩn hóa thụt đầu bằng space khi dump lại — giúp file đồng nhất với linter YAML trong editor. Không thay thế kubectl validate hoặc schema Kubernetes chính thức; vẫn nên chạy dry-run trên cluster staging khi deploy thật.