Introducing a frame for the environment

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

The percent-braces %{variable} syntax denotes a Hiera interpolation token. Wherever you use these interpolation tokens, Hiera will evaluate the variable's value and inserts it appropriately into the hierarchy.

See the Puppet documentation for specifics on the Hiera 5 configuration syntax: https://puppet.com/docs/puppet/5.3/hiera_config_yaml_5.html#config-file-syntax-hierayaml-v5.

If we are using the data datadir and using the YAML backend by default, we can completely omit the defaults hash, as these are the default settings.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.30.236