X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fresolv%2Ftemplates%2Fresolv.conf.erb;h=9bc11ba9664e90a63b189e5d328aad840e14ce15;hb=a46da6bd7b246ce960c5bd1d484597b79c05521a;hp=d287287b43924e901b92af2bb802c17aed7e4de6;hpb=3f6ea8ed8aa29e573773b10580243295b0042c79;p=dsa-puppet.git diff --git a/modules/resolv/templates/resolv.conf.erb b/modules/resolv/templates/resolv.conf.erb index d287287b..9bc11ba9 100644 --- a/modules/resolv/templates/resolv.conf.erb +++ b/modules/resolv/templates/resolv.conf.erb @@ -1,12 +1,41 @@ -<%= 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 -" +## +### THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. +### USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git +### + +<%= +nameservers = [] +searchpaths = [] +options = [] + +if %w{draghi liszt widor spohr}.include?(hostname) + nameservers << "127.0.0.1" end -if resolvconf == "" - raise Puppet::ParseError, "resolv.conf is empty" + +nameservers += nodeinfo['hoster']['nameservers'] if nodeinfo['hoster']['nameservers'] +searchpaths += nodeinfo['hoster']['searchpaths'] if nodeinfo['hoster']['searchpaths'] +options += nodeinfo['hoster']['resolvoptions'] if nodeinfo['hoster']['resolvoptions'] + +searchpaths << "debian.org" + +resolvconf = '' +resolvconf += "search " + searchpaths.join(" ") + "\n" + +if runs_local_resolver + resolvconf += "nameserver 127.0.0.1\n" +else + if nameservers.empty? + raise Puppet::ParseError, "Something has gone wrong writing resolv.conf. No nameservers to use!" + end + + nameservers.each do |ns| + resolvconf += "nameserver " + ns + "\n" + end end + +options.each do |opt| + resolvconf += "options " + opt + "\n" +end + resolvconf %>