### USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
###
-<%= resolvconf = case hoster
- when "ubcece" then "search debprivate-ubc.debian.org debian.org
-nameserver 206.12.19.5
-nameserver 137.82.1.1
-nameserver 142.103.1.1
-"
+<%=
+nameservers = []
+searchpaths = []
+resolvconf = ''
+
+case hosterinfo["name"]
+ when "darmstadt" then
+ case hostname
+ when "draghi", "liszt" then
+ nameservers << "127.0.0.1"
+ end
+ nameservers += ["82.195.75.81", "82.195.66.249", "217.198.242.225"]
+ searchpaths << "debprivate-darmstadt.debian.org"
+ when "dgi" then
+ case hostname
+ when "widor" then
+ nameserver << "127.0.0.1"
+ end
+ nameservers += ["195.49.152.215", "195.49.152.213", "195.49.152.214"]
+ when "ftcollins" then
+ case hostname
+ when "spohr", "samosa" then
+ nameservers << "127.0.0.1"
+ end
+ nameservers += ["192.25.206.33", "192.25.206.57"]
+ searchpaths << "debprivate-ftcollins.debian.org"
end
-if resolvconf == ""
- raise Puppet::ParseError, "resolv.conf is empty"
+
+nameservers += hosterinfo['nameservers'] if hosterinfo['nameservers']
+searchpaths += hosterinfo['searchpaths'] if hosterinfo['searchpaths']
+
+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.join(" ") + "\n"
+nameservers.each do |ns|
+ resolvconf += "nameserver " + ns + "\n"
+end
+
resolvconf
%>