Zurück zur Übersicht

Begriff

YAML (YAML Ain't Markup Language)

DevOps Configuration S1
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Computer mögen JSON (viele Klammern, schwer zu lesen). Menschen mögen Listen und Einrückungen. YAML ist ein Datenformat, das für Menschen gemacht ist. Keine geschweiften Klammern {}. Keine Anführungszeichen (meistens). Stattdessen: Einrückung (Indentation). Es wird fast überall in der modernen IT für Konfigurationen genutzt (Kubernetes, Docker Compose, Ansible, GitHub Actions).

Oft scherzhaft: "Yet Another Markup Language" (aber offiziell heißt es "YAML Ain't Markup Language").

Merksatz: Ein menschenlesbares Format zur Datenserialisierung, das auf Einrückungen basiert und häufig für Konfigurationsdateien in DevOps-Tools verwendet wird.


Quick-Check

  1. Superset von JSON?
    Ja! Jedes gültige JSON ist auch gültiges YAML. Du kannst { "foo": "bar" } einfach in eine YAML-Datei schreiben. (Umgekehrt nicht).
  2. Kommentare?
    Ja, mit #. JSON kann offiziell keine Kommentare. Das ist einer der Hauptgründe, warum Configs YAML nutzen (man kann erklären, warum eine Einstellung so ist).
  3. Sicherheitsrisiko?
    Ja, in manchen Sprachen (Python/Ruby) war der Standard-YAML-Parser unsicher (yaml.load()), weil er Code ausführen konnte (Objekt-Deserialisierung). Nutze immer safe_load().