In this chapter, we've outlined some of the problems with maintaining configuration data in Puppet manifests, and introduced Hiera as a powerful solution. We've seen how to configure Puppet to use the Hiera data store, and how to query Hiera keys in Puppet manifests using lookup()
.
We've looked at how to write Hiera data sources, including string, array, and hash data structures, and how to interpolate values into Hiera data, including Puppet facts, and other Hiera data. We've learned how Hiera's hierarchy works, and how to configure it using the hiera.yaml
file.
We've seen how to configure our example Puppet infrastructure to use Hiera data, and proved the process by looking up a data value in a Puppet manifest. In case of problems, we've also looked at some common Hiera errors, and we've discussed rules of thumb about when to put data into Hiera.
We've explored using Hiera data to create resources, using an each
loop over an array or hash. Finally, we've covered using encrypted data...