Work smartly with YAML
YAML is a heavily used markup language in this cloudy world. There are many tricks that can help us work smartly with YAML.
Let’s get an example:
--- project: The Great Project version: 0.0.1 services: service1: description: Get information from DB attributes: location: /opt/webapp/service1 resource: cpu: 1 memory: 1024MiB iops: 1000 service2: description: attributes: location: /opt/webapp/service2 resource: cpu: 1 memory: 1024MiB iops: 1000
In the above YAML, we have two services with the same resource block. We can write these:
--- project: The Great Project version: 0.0.1 services: service1: description: Get information from DB attributes: location: /opt/webapp resource: &defaultresource cpu: 1 memory: 1024MiB iops: 1000 service2: description: Get information from DB attributes: location: /opt/webapp resource: *defaultresource
It is a valid YAML. This way we can solve repeated YAML sections with Anchors and Aliases.