OK, just to make sure I understand you: The data in modules/%{calling_module} IS just global data, right? As in:
* Files like modules/apache.yaml don't override any keys from the global.yaml file.
* Files like modules/apache.yaml and modules/ntp.yaml don't set any of the same keys; their responsibilities are fully separated.
* You just want to use separate files to reduce clutter. All you want is to not have a 3000 line yaml doc.
If so, use the `glob(s)` setting for a hierarchy level. Like this!
hierarchy:
- name: "Normal global data"
path: global.yaml
- name: "Overrides for module defaults"
glob: "modules/*.yaml"
That should work with your existing data. It will load all the yaml files from your modules/ directory, and as long as they don't overlap it'll treat them as one big data file without forcing you to maintain a 3000 line yaml doc. (If they DO overlap, the first file in alphabetical order will win for a given key.)