Here's a typical scenario for Hiera: you find yourself having to override the DNS setting for your development environment because that environment can't connect to the production resolver on your network. You then deploy your production in a second data center, and you need that location to be different. Hiera allows us to model settings such as the production DNS resolver is 10.20.1.3, and the development DNS server is 10.199.30.2.
To accommodate this type of scenario, we can introduce what's best described as an environment frame within the Hiera hierarchy, as follows:
---
version: 5
hierarchy:
- name: "Per-node data"
path: "nodes/%{trusted.certname}.yaml"
- name: "Per-environment data"
path: "%{server_facts.environment}.yaml"
- name: Common
path: common.yaml...