Also-notify in custom-hiera?

Hello,

I’m very much a n00b in the whole puppet department but was curious into understanding the custom-hiera.yaml file in which we, apparently, can add extra parameters that are not exposed via the installer.

For instance, I’d like to set the “also-notify” parameter in my zone to forward changes to my master DNS; but I can’t really wrap my head around how I could accomplish such a thing.

This could also help me in understanding the installer a bit better, for future reference.

BTW: my use-case is that I have all my proxies controlling a Master DNS zone, and my Foreman server acts as a Slave to all these (which is cool, since it offers me a possibility to fail-over and scale)

Kind regards,
Arend

Katello has some docs on this. This should be included in Foreman itself since it’s not katello-specific.

https://theforeman.org/plugins/katello/3.11/installation/index.html#multiple-subnets-and-domains

This exposes dns::zone. As you can see, there’s an array also_notify parameter, so you can use:

dns::zones:
  example.com:
    also_notify:
      - other.example.net

In the tradition of engineers suggesting totally different solutions, I’m going to pitch PowerDNS (for which I maintain a Smart Proxy plugin). It has a superslave option where it automatically creates slave zones. You can also use database replication to host a slave server.

In a future version I hope to find time to expand the Proxy DNS API to be able to create DNS zones if the provider supports this (this is where capabilities come into play). It’s unlikely we’ll support this with bind, but PowerDNS has a REST API which would support this. The benefit will be that if you create a domain in Foreman, it’s automatically created on your DNS server. A DNS server like Infoblox that also has an API to create zones could also support this.

Long term this is where I want to go. It opens the path to dropping bind from our installer, but on that part I haven’t really thought too much.

1 Like

Hey @ekohl,

Amazing answer! Cool to note that this is possible already (I expected this but couldn’t figure it out on my own). If PowerDNS can deliver on those promises I’m very interested to try and set that up in my next sprint! Luckily, we’re not “married” to bind :slight_smile:

Looking forward to the future of the plugin! Thanks for the lead!

Kind regards,
Arend