Bolak-balik manifes Kubernetes
kubectl get deployment my-app -o json → tempel di sini → YAML → edit → apply. Atau: tempel manifes YAML dari dokumen vendor, konversi ke JSON, jalankan melalui jq untuk pemfilteran, konversi kembali ke YAML, commit.
Konversi dua arah yang dibuat untuk k8s, GitHub Actions, Docker Compose, helm. Pratinjau langsung, output YAML yang idiomatik, semuanya di browser Anda.
js-yaml bagus tetapi menambah ~30 KB ter-minify ke setiap pemuatan halaman. YAML file konfigurasi di dunia nyata hanya menggunakan sebagian kecil dari spesifikasi — pemetaan blok, urutan blok, gaya flow, tipe skalar, literal multi-baris. Kami membuat sendiri persis subset itu (~5 KB), sehingga pemuatan dingin tetap cepat. Jika YAML Anda menggunakan anchor, alias, atau tag kustom, tempel ke pipeline CI yang menggunakan js-yaml sebagai gantinya.
Tiga fitur yang jarang ada di file konfigurasi: (1) anchor dan alias (&name / *name) — digunakan untuk deduplikasi dalam dokumen; (2) tag kustom (!!str / !!float / !!omap) — digunakan untuk menimpa inferensi tipe implisit; (3) file multi-dokumen dengan pemisah ---. Tidak satu pun dari ini muncul dalam file standar k8s, GitHub Actions, Docker Compose, helm, atau ansible. Jika Anda membutuhkannya, gunakan parser YAML lengkap.
k8s, GitHub Actions, Docker Compose, helm, ansible — dan beberapa sentuhan kecil yang membuatnya benar-benar menyenangkan untuk digunakan.
Tempel salah satu format, dapatkan format lainnya secara instan. Output diperbarui pada setiap penekanan tombol — tanpa tombol Konversi. Alihkan arah dengan satu klik dan alat yang sama berjalan secara terbalik.
Pemetaan blok + flow, urutan blok + flow, skalar (string, angka, boolean, null), skalar blok literal multi-baris (|) dan terlipat (>). Mencakup 99% manifes k8s, GitHub Actions, Docker Compose, GitLab CI, helm values, ansible playbooks.
JSON → YAML menghasilkan YAML yang akan Anda tulis sendiri: kunci gaya polos (tanpa kutip), string hanya dikutip ketika akan bentrok dengan kata yang dicadangkan (true/false/null/yes/no) atau angka, string multi-baris dirender sebagai skalar blok |, indentasi 2 atau 4 spasi yang dapat dikonfigurasi.
JSON → YAML → JSON menghasilkan dokumen yang identik byte demi byte. Konversi ke salah satu arah, arah lainnya selalu membalik dengan bersih. Tidak ada tipe yang hilang secara diam-diam atau nilai yang dipaksakan.
Konfigurasi Anda tidak pernah meninggalkan perangkat. Parser + serializer yang dibuat sendiri berjalan sebagai JavaScript secara lokal. Buka DevTools → Network dan verifikasi nol permintaan keluar.
JavaScript murni, tanpa dependensi js-yaml. Pemuatan dingin di bawah 25 KB ter-gzip. Manifes k8s sebesar 100 KB dikonversi dalam waktu kurang dari 30 ms di laptop biasa.
Tiga langkah dari konfigurasi mentah ke format yang Anda butuhkan.
Letakkan konfigurasi Anda ke panel Input. Alat ini mendeteksi format yang Anda tempel dari dropdown Arah — balik jika perlu. Konversi berjalan langsung pada setiap penekanan tombol.
Indentasi default adalah 2 spasi (konvensi k8s / GitHub Actions). Beralih ke 4 jika tim Anda menggunakannya. Klik Tukar untuk membalik output kembali ke input — berguna untuk verifikasi bolak-balik (tempel JSON, konversi ke YAML, tukar, konversi kembali, bandingkan dengan aslinya).
Tekan ikon salin untuk mengirim output ke clipboard Anda, atau ikon unduh untuk menyimpan sebagai output.yaml atau output.json. Selisih ukuran byte ditampilkan di footer sehingga Anda dapat melihat seberapa kompak representasi YAML.
Empat skenario umum di mana alat browser yang mengutamakan privasi mengalahkan menulis skrip Python sekali pakai.
kubectl get deployment my-app -o json → tempel di sini → YAML → edit → apply. Atau: tempel manifes YAML dari dokumen vendor, konversi ke JSON, jalankan melalui jq untuk pemfilteran, konversi kembali ke YAML, commit.
Postingan blog menampilkan snippet CI sebagai JSON di tema dokumen mereka. Letakkan, dapatkan YAML, tempel ke .github/workflows/ci.yml. Atau: ambil alur kerja YAML multi-pekerjaan, konversi ke JSON untuk pengeditan terprogram, konversi kembali.
File helm values adalah YAML; beberapa alat templating menginginkan JSON. Tempel values.yaml Anda, dapatkan JSON, jalankan melalui alat Anda, tempel kembali, konversi ke YAML untuk commit. Alur kerja yang sama untuk compose.yaml Docker Compose.
Konfigurasi yang berisi kunci API, rahasia, hostname internal, data pelanggan — apa pun yang tidak dapat Anda tempel ke konverter cloud. Alat khusus browser menjaga setiap byte tetap di laptop Anda. Buka DevTools → Network dan verifikasi tidak ada yang keluar.
Konfigurasi Anda tidak pernah meninggalkan perangkat. Buka DevTools → Network dan Anda akan melihat nol permintaan keluar selama konversi.
JSON.parse bawaan, dan salin clipboard / unduh semuanya berjalan sebagai JavaScript di mesin Anda — tanpa CDN js-yaml, tanpa API pihak ketiga.
Bacaan pilihan tentang pola konfigurasi YAML, perkakas JSON, dan format file DevOps.
Quoted commas, embedded newlines, BOM headers, doubled quotes — the cases where a regex split breaks down and you need a real parser.
When CSV's row-orientation beats JSON's structure — and when nested objects make CSV a dead end. Worked examples, with conversion patterns for both directions.
js-yaml bagus tetapi menambah ~30 KB ter-minify ke setiap pemuatan halaman. YAML file konfigurasi di dunia nyata hanya menggunakan sebagian kecil dari spesifikasi — pemetaan blok, urutan blok, gaya flow, tipe skalar, literal multi-baris. Kami membuat sendiri persis subset itu (~5 KB), sehingga pemuatan dingin tetap cepat. Jika YAML Anda menggunakan anchor, alias, atau tag kustom, tempel ke pipeline CI yang menggunakan js-yaml sebagai gantinya.
Tiga fitur yang jarang ada di file konfigurasi: (1) anchor dan alias (&name / *name) — digunakan untuk deduplikasi dalam dokumen; (2) tag kustom (!!str / !!float / !!omap) — digunakan untuk menimpa inferensi tipe implisit; (3) file multi-dokumen dengan pemisah ---. Tidak satu pun dari ini muncul dalam file standar k8s, GitHub Actions, Docker Compose, helm, atau ansible. Jika Anda membutuhkannya, gunakan parser YAML lengkap.
Tidak — komentar dihapus saat parsing. YAML mendukung komentar (#...) tetapi JSON tidak. Bolak-balik YAML melalui JSON menghilangkan informasi komentar secara definisi. Kami menghapus komentar saat parsing daripada mencoba mempertahankannya dengan trik. Jika Anda membutuhkan pengeditan YAML yang mempertahankan komentar, edit YAML secara langsung.
Aturan tipe implisit YAML lebih longgar daripada JSON: 1.2.3 adalah string di YAML (bukan angka, karena memiliki dua titik), dan string versi seperti v1.2 adalah string kecuali dikutip. Kami mengikuti aturan tipe implisit YAML 1.2: hanya digit yang cocok dengan ^-?\d+(\.\d+)?([eE][-+]?\d+)?$ menjadi angka; selain itu tetap string. Jika Anda membutuhkan penanganan numerik yang tepat, kutip nilainya di YAML atau gunakan JSON secara langsung.
Tidak. Parser YAML, serializer, parser JSON, dan salin clipboard semuanya berjalan dalam JavaScript di perangkat Anda. Buka DevTools → Network dan Anda akan melihat nol permintaan keluar selama konversi. Tempel manifes k8s produksi, konfigurasi CI internal, helm values yang penuh rahasia — tidak ada yang meninggalkan laptop Anda.