Hiera5 includes the ability to run custom functions at each level of the hierarchy. Unlike earlier versions of Hiera, it is now possible to have different backends for each level of the hierarchy. There are three main types of backends available, depending on how you will access data:
data_hash
lookup_key
data_dig
If you are accessing something locally or where it's possible to read all the data at once, use data_hash
. For remote services, use lookup_key
and, for databases, use data_dig
. More information on custom backends is available at https://puppet.com/docs/puppet/5.3/hiera_custom_backends.html
In this example, we'll create a custom function that queries the Google News API and returns the first headline.
To start, we'll need to create an API key for our function to contact Google. Obtain your own at https://newsapi.org/register. We'll store the API key in the top-level hiera.yaml
configuration. After obtaining your API key, create the following...