Writing Compositions

In Fugue, configurations are written in compositions. A composition can be run in a process, or even multiple processes. That is how you make infrastructure or configure any API in Fugue.

Compositions are written in Ludwig. Informally, you can think of Ludwig as “YAML with super-powers.” These “super-powers” let you know that configurations are correct immediately (by way of a Ludwig compiler), and also let you combine and compose configuration so you can avoid repeating yourself. Rather than focusing on learning about the “super-powers” directly, we’ll just show you them in action.

If and when you’re interested in a deeper dive into what Ludwig can do, see Advanced Ludwig. But if you’re just starting out, we recommend sticking with this tutorial and not worrying about the advanced techniques.

This tutorial is made up of eight parts. They don’t take very long to get through, so we recommend you start at the beginning. The whole thing should take about 30 minutes to an hour.

Interested in knowing more about the rules when writing a composition, check out Ludwig Grammar and Ludwig Syntax.


Sometimes an image or diagram can really help. Why not check out the Fugue Composer for a handy visualization of your infrastructure that you can explore and modify in real-time?