Skip to content
EduVerse

YAML

Explained

Protocol / format

Also known as: YAML Ain’t Markup Language

Readable, indentation-based configuration format used for CI/CD pipelines and Kubernetes manifests.

YAML, explained

Written by EduVerse

What it is

YAML is a text format for configuration and data that uses indentation instead of brackets. Keys and values are written as name: value, and list items start with a hyphen. It describes the same kinds of structures as JSON, but is meant to be easier for people to read and edit.

Why teams use it

Configuration files get read and edited by people all the time, so readability matters. YAML allows comments and needs very little punctuation, which is why Docker Compose, Kubernetes and GitHub Actions use it. The downside: whitespace has meaning, so one wrong indent can quietly change what your file says.

An example from work

Your GitHub Actions workflow in .github/workflows/ci.yml fails before a single step runs, with an error saying the workflow file is invalid. You indented a run line two spaces too few, or used a tab, which YAML doesn’t allow for indentation. Fixing the alignment gets the pipeline going.

Our own explanation, not a quote from the book.

In the book

Sentences from The Software Realm, Decoded that mention YAML, exactly as printed.

    1 more passages about YAML in the full book

    Read every conversation where YAML comes up, with the interactive slides and demos.

    See the book

    Where it fits

    Configuration (Docker Compose, Kubernetes, GitHub Actions)

    Coverage in the book

    Explained

    Explained and compared with alternatives, so you know where and why it’s used.

    Appears in