Try to make resolv.conf options actual class parameters
[mirror/dsa-puppet.git] / modules / resolv / manifests / init.pp
index c2a741d..9de974a 100644 (file)
@@ -1,14 +1,28 @@
-class resolv {
+class resolv(
+  Array[Stdlib::IP::Address] $nameservers = [],
+  Array[String] $searchpaths = [],
+  Array[String] $resolvoptions = [],
+) {
 
-       $nameservers = $facts['unbound'] ? {
-               true    => ['127.0.0.1'],
-               default => lookup('nameservers'),
-       }
+  $ns = $facts['unbound'] ? {
+    true    => ['127.0.0.1'],
+    default => $nameservers,
+  }
 
-       $searchpaths = lookup('resolv_conf::searchpaths')
-       $resolvoptions = lookup('resolv_conf::resolvoptions')
+  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',
+    }
+  }
 }