]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/resolv/templates/resolv.conf.erb
Try setting a var
[dsa-puppet.git] / modules / resolv / templates / resolv.conf.erb
index 1bf9dda18473cf0e5154a3eec3a6894727bbd72f..4e9f7650c588e0c184acbea08ad07c1cc2258f2d 100644 (file)
@@ -6,30 +6,35 @@
 <%=
 nameservers = []
 searchpaths = []
-resolvconf  = ''
+options = []
 
-case hoster
-  when "ubcece" then
-    searchpaths << "debprivate-ubc.debian.org"
-    nameservers += ["206.12.19.5", "137.82.1.1", "142.103.1.1" ]
-  when "darmstadt" then
-    case hostname
-      when "draghi", "liszt" then
-        nameservers << "127.0.0.1"
-    end
-    nameservers += ["82.195.75.81", "82.195.66.239", "217.198.242.225"]
-    searchpaths << "debprivate-darmstadt.debian.org"
+if %w{draghi liszt widor spohr samosa}.include?(hostname)
+  nameservers << "127.0.0.1"
 end
 
+nameservers += hosterinfo['nameservers'] if hosterinfo['nameservers']
+searchpaths += hosterinfo['searchpaths'] if hosterinfo['searchpaths']
+options += hosterinfo['resolvoptions'] if hosterinfo['resolvoptions']
+
 searchpaths << "debian.org"
 
 if nameservers.empty?
   raise Puppet::ParseError, "Something has gone wrong writing resolv.conf: probably included for wrong hoster"
 end
 
-resolvconf += "search " + searchpaths.sort.join(" ") + "\n"
-nameservers.each do |ns|
-  resolvconf += "nameserver " + ns + "\n"
+resolvconf  = ''
+resolvconf += "search " + searchpaths.join(" ") + "\n"
+
+if runs_local_resolver
+  resolvconf += "nameserver 127.0.0.1\n"
+else
+  nameservers.each do |ns|
+    resolvconf += "nameserver " + ns + "\n"
+  end
+end
+
+options.each do |opt|
+  resolvconf += "options " + opt + "\n"
 end
 
 resolvconf