If you would like to transcend single-customer and small-scale hierarchical data classifications and open up the possibilities of modeling larger, more complex and diverse environments, you should consider the use of Jerakia (http://jerakia.io), using Jerakia as a Hiera backend, or configuring Puppet to accept Jerakia as a data-binding terminus.
Here are some questions around advanced use cases for Jerakia:
- How can I use a different Hiera backend for just one module?
- How can I allow a team the use of a separate hierarchy, exclusively for their own application?
- How can I allow access to a smaller subset of data to a certain user or team?
- How can I use
eyaml
encryption without being forced to use YAML? - How can I implement a dynamic hierarchy rather than hard coding it?
- How can I group together application-specific data into separate YAML files?
Jerakia allows us to implement some of these corner cases.