X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fresolv%2Fmanifests%2Finit.pp;h=9de974aed3861ed16dfefbbf3c0385a549a500dc;hb=3e90518da89b965f76fbc7e58141c37e37c187bd;hp=225c93c94644550cb6271fee099139718e049792;hpb=466e17dc9866909aca0a4ccddb1c605be8135013;p=mirror%2Fdsa-puppet.git diff --git a/modules/resolv/manifests/init.pp b/modules/resolv/manifests/init.pp index 225c93c94..9de974aed 100644 --- a/modules/resolv/manifests/init.pp +++ b/modules/resolv/manifests/init.pp @@ -1,9 +1,28 @@ -class resolv { +class resolv( + Array[Stdlib::IP::Address] $nameservers = [], + Array[String] $searchpaths = [], + Array[String] $resolvoptions = [], +) { - $ns = hiera('nameservers') - $sp = hiera('searchpaths') + $ns = $facts['unbound'] ? { + true => ['127.0.0.1'], + default => $nameservers, + } - file { '/etc/resolv.conf': - content => template('resolv/resolv.conf.erb'); - } + file { '/etc/resolv.conf': + content => template('resolv/resolv.conf.erb'); + } + + file { '/etc/dhcp/dhclient-enter-hooks.d/puppet-no-resolvconf': + content => @("EOF"), + make_resolv_conf() { + : + } + | EOF + mode => '555', + ensure => ($dhclient and $unbound) ? { + true => 'present', + false => 'absent', + } + } }