Konversi YAML ke CSV Online
Konversi konfigurasi YAML ke tabel CSV. Gratis, di browser Anda, tanpa mengunggah file.
Kasus penggunaan
YAML ke CSV untuk audit, laporan, dan analisis konfigurasi
Inventaris Ansible ke Excel
Ekspor inventaris YAML Ansible ke CSV untuk mengaudit host dan variabel bersama tim non-teknis.
Sumber daya Kubernetes ke spreadsheet
Konversi daftar pod, layanan, atau deployment ke tabel untuk laporan kapasitas dan biaya.
Analisis pipeline CI/CD
Ubah konfigurasi GitHub Actions atau GitLab CI menjadi tabel untuk mendeteksi pola dan inkonsistensi.
100% privat
Konversi berjalan di browser Anda. YAML Anda tidak pernah dikirim ke server mana pun.
Cara kerjanya
Tiga langkah, tanpa kerumitan
Tempel atau unggah file YAML Anda
Seret file .yaml atau .yml Anda, atau tempel kontennya secara langsung. YAML 1.2 dengan urutan objek didukung.
Konversi ke tabel
Setiap item urutan menjadi baris CSV. Kunci dari objek pertama digunakan sebagai header kolom.
Unduh CSV-nya
Unduh file .csv yang dihasilkan atau salin ke clipboard untuk dibuka di Excel, Google Sheets, atau alat analisis apa pun.
FAQ
Ada pertanyaan?
CSV adalah format tabular, sehingga konversi bekerja paling baik dengan YAML yang merepresentasikan daftar objek dengan kunci yang sama yaitu urutan mapping di level root. Contohnya antara lain file inventaris Ansible dengan daftar host, daftar pod Kubernetes yang diekspor dengan kubectl get pods -o yaml, atau file data pengujian dengan beberapa entri bertipe sama. Struktur YAML yang bersarang dalam akan diratakan: nilai objek bersarang dapat direpresentasikan sebagai kolom tambahan dengan jalur kunci yang dipisahkan titik (host.ip, host.port) atau sebagai JSON terserialisasi dalam satu kolom.
Kasus utama meliputi: mengekspor inventaris Ansible (.yml) ke Excel untuk diaudit bersama tim operasi, mengonversi daftar sumber daya Kubernetes (pod, layanan, deployment) ke spreadsheet untuk laporan kapasitas atau chargeback, menganalisis konfigurasi pipeline CI/CD di GitHub Actions atau GitLab CI dalam format tabular untuk mengidentifikasi pola atau inkonsistensi, serta mengubah data konfigurasi aplikasi (variabel lingkungan, feature flag, konfigurasi microservice) menjadi tabel untuk dokumentasi atau tinjauan.
Nilai skalar (string, angka, boolean) dipetakan langsung ke sel. Objek bersarang diratakan menggunakan notasi titik: field address.city menghasilkan kolom address.city di CSV. Daftar di dalam field diserialisasi sebagai teks dalam satu sel, karena CSV tidak memiliki representasi native untuk array. Perilaku ini adalah standar di alat seperti yq, csvkit, dan pandas, dan merupakan konvensi yang paling banyak diterima untuk meratakan data YAML hirarkis ke format tabular.
Ya. Inventaris Ansible dalam format YAML (inventory.yml) berisi grup host dengan variabel per-host dan per-grup. Mengonversi inventaris ke CSV memungkinkan Anda membukanya di Excel atau Google Sheets untuk memfilter host berdasarkan variabel (misalnya, semua host dengan ansible_user=deploy), mengidentifikasi host dengan konfigurasi yang tidak konsisten, berbagi inventaris dengan tim yang tidak menggunakan Ansible, atau membuat laporan infrastruktur untuk audit keamanan dan kepatuhan.
Ya, dengan beberapa catatan penting. kubectl get pods -o yaml mengembalikan dokumen YAML dengan field items yang berisi daftar objek Pod, masing-masing dengan struktur bersarang dalam (metadata, spec, status dengan beberapa sub-level). Konversi meratakan struktur ini: kolom CSV akan memiliki jalur seperti metadata.name, metadata.namespace, status.phase, status.podIP. Ini cukup berguna untuk analisis cepat: mengidentifikasi pod dalam status selain Running, membuat daftar image container yang digunakan, atau mengaudit label dan anotasi di seluruh platform.
YAML 1.1 (digunakan oleh libyaml, PyYAML, dan sebagian besar alat hingga sekitar 2018) menginterpretasikan nilai tertentu dengan cara yang mengejutkan pengguna modern: nilai seperti yes, no, on, off secara otomatis dikonversi ke boolean true/false, dan angka oktal ditulis dengan awalan 0 (bukan 0o seperti di YAML 1.2). YAML 1.2 (spesifikasi bertanggal 1 Oktober 2009, diadopsi oleh js-yaml mulai v4.0.0 pada 2021 dan oleh gopkg.in/yaml.v3 Go) memperbaiki ambiguitas ini. Jika YAML Anda berasal dari Ansible (yang menggunakan PyYAML/YAML 1.1), perlu diketahui bahwa nilai seperti yes mungkin telah dikonversi ke true saat parsing.
Konversi YAML ke CSV: inventaris Ansible, sumber daya Kubernetes, dan pelaporan CI/CD
YAML (YAML Ain't Markup Language, spesifikasi 1.2 bertanggal 1 Oktober 2009, tersedia di yaml.org) adalah format konfigurasi dominan dalam ekosistem DevOps modern: Ansible menggunakannya untuk playbook, inventaris, dan role sejak versi awalnya pada 2012; Kubernetes menggunakannya untuk semua manifest sumber daya (Pod, Deployment, Service, ConfigMap, Secret) sejak rilis publik pertama Kubernetes pada Juni 2014; GitHub Actions menggunakannya untuk definisi workflow sejak peluncurannya pada November 2019; GitLab CI/CD menggunakannya di .gitlab-ci.yml sejak 2012; Docker Compose menggunakan YAML di docker-compose.yml sejak versi 1 pada 2014. Meskipun ideal untuk penulisan dan pembacaan oleh manusia, YAML adalah format hirarkis yang tidak secara alami cocok untuk analisis tabular, pembuatan laporan, atau kolaborasi dengan tim operasi, manajemen, atau keuangan yang biasanya bekerja dengan spreadsheet. Mengonversi YAML ke CSV menjembatani dunia konfigurasi-sebagai-kode (Infrastructure as Code) dengan dunia analisis data berbasis spreadsheet.
Kasus penggunaan paling umum dalam operasi dan SRE adalah mengaudit inventaris Ansible. Inventaris Ansible dalam YAML dapat memiliki ratusan atau ribuan host yang diorganisasikan dalam grup hirarkis, masing-masing dengan variabel spesifik (ansible_host, ansible_user, ansible_port, ansible_ssh_private_key_file, variabel aplikasi seperti app_version atau db_endpoint). Ketika tim keamanan membutuhkan daftar semua server dengan alamat IP, sistem operasi, dan pengguna koneksi untuk audit kepatuhan (ISO 27001, SOC 2, PCI DSS), atau ketika tim keuangan perlu mengkorelasikan host dengan biaya cloud mereka untuk proses chargeback departemen, format YAML inventaris tidak dapat langsung dikonsumsi. Mengonversinya ke CSV dan membukanya di Excel atau Google Sheets memungkinkan pemfilteran, pengurutan, pivot, dan berbagi informasi tanpa perlu mengetahui YAML atau Ansible. Demikian pula, kubectl get pods --all-namespaces -o yaml mengekspor status lengkap semua pod di cluster Kubernetes sebagai dokumen YAML dengan daftar items. Mengonversi output ini ke CSV menghasilkan tabel dengan kolom seperti namespace, name, status.phase, status.podIP, spec.nodeName, containerStatuses[0].image, yang dapat langsung dianalisis untuk mengidentifikasi pod dengan error, mengaudit image container yang di-deploy, atau menghitung distribusi workload per node.
Dalam konteks CI/CD, workflow GitHub Actions (.github/workflows/*.yml) dan pipeline GitLab CI (.gitlab-ci.yml) adalah file YAML dengan struktur job dan step. Di repositori besar dengan puluhan atau ratusan workflow, atau di organisasi dengan banyak tim yang mengelola pipeline masing-masing, analisis tabular konfigurasi memungkinkan identifikasi pola seperti job yang terduplikasi, inkonsistensi dalam versi action yang digunakan, variabel lingkungan yang tidak terstandarisasi, atau job tanpa timeout yang dapat memblokir pipeline secara tak terbatas. Mengonversi file konfigurasi CI/CD ke CSV dan memuatnya ke spreadsheet atau alat analisis seperti pandas atau Google Sheets memungkinkan jenis audit ini dalam skala besar. Selain itu, konversi YAML ke CSV berguna untuk mengubah data feature flag (LaunchDarkly, Unleash, Flagsmith menyimpan konfigurasi dalam YAML), konfigurasi microservice (setiap layanan memiliki values.yaml Helm dengan parameter deployment-nya), dan data pengujian dalam format YAML (fixture pytest, data pengujian Rails dalam YAML) menjadi tabel yang dapat dianalisis atau diimpor ke basis data relasional.