Q:

How to configure bind IP with Hiera

I'm using something like role/profile pattern to describe my infrastructure with Puppet 3.x and Hiera.
Now stumbled on a problem, how should I configure something like the IP address that something will listen given that I have multiple IPs and each application(nginx hosts) should be segregated by IP.
I have some ideas on how to do that by don't know if there is a de facto solution or if I should just pick one and live my life:

Use Hiera to configure it, using variable interpolation($::ipaddress_eth0, $ipaddress_eth1)
Hardcode which network interface each application uses direct in the manifest
Configure it on the profile
... ??

A:

I would suggest using the first method since you are able to easily override the IP configuration everywhere and everytime on host / application / environment basis. That means you are extremely flexible when it comes to detailed host specific changes.
Keep in mind that variable interpolation in hiera is done by %{::foobar} instead of ${::foobar} like it's done in the manifests.

