X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmotd%2Ftemplates%2Fmotd.erb;h=29326b47708af6a19f3f01e7a2156d246dfdf3b5;hb=eaaf0d6e337cc11a99411981ffbbf4f6bf2db10f;hp=6ac169c4ca088c85967aa57471e17061e1e2d63b;hpb=9b5b5a7fa2fa936ed091de108a1679a48d44578e;p=mirror%2Fdsa-puppet.git diff --git a/modules/motd/templates/motd.erb b/modules/motd/templates/motd.erb index 6ac169c4c..29326b477 100644 --- a/modules/motd/templates/motd.erb +++ b/modules/motd/templates/motd.erb @@ -1,50 +1,111 @@ This device is for authorized users only. All traffic on this device -is monitored and will be used as evidence for prosecutions. +is monitored and will be used as evidence for prosecutions. By using +this machine you agree to abide by the Debian Machines Usage Policies +. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <%= +def wrap(s, width=78) + s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n") +end + +def markup(l) + l = l.gsub(/\[\[(.*?)\|(.*?)\]\]/, '\2') + l = l.gsub(/\[\[(\*|-)?(.*?)\]\]/, '\2') + return l +end + purp = '' if nodeinfo.has_key?('nameinfo') - purp += nodeinfo['nameinfo'] + "\n\n" + purp += wrap(nodeinfo['nameinfo']) + "\n\n" end purp += 'Welcome to ' + fqdn -if (nodeinfo['ldap'].at(0)) and (nodeinfo['ldap'][0].has_key?('purpose')) - if nodeinfo['ldap'][0]['purpose'].include?('buildd') +if (nodeinfo['ldap'].has_key?('purpose')) + p = nodeinfo['ldap']['purpose'].clone() + extra = '' + + if p.delete('buildd') purp += ", the Debian " - if nodeinfo['ldap'][0].has_key?('architecture') - purp += nodeinfo['ldap'][0]['architecture'][0] + if nodeinfo['ldap'].has_key?('architecture') + purp += nodeinfo['ldap']['architecture'][0] end purp += " build daemon\n" - elsif nodeinfo['ldap'][0]['purpose'].include?('porterbox') + end + + if p.delete('porterbox') purp += ", the Debian " - if nodeinfo['ldap'][0].has_key?('architecture') - purp += nodeinfo['ldap'][0]['architecture'][0] + if nodeinfo['ldap'].has_key?('architecture') + purp += nodeinfo['ldap']['architecture'][0] end purp += " porterbox\n" - else + extra += "\n" + extra += "See 'dchroot -l' or 'schroot -l' for a list of available chroots.\n" + if nodeinfo['ldap'].has_key?('admin') + extra += "Please contact #{nodeinfo['ldap']['admin'][0]} for install requests,\n" + extra += "following the recommendations in .\n" + end + end + + if p.size() > 0 purp += ", used for the following services:\n" - nodeinfo['ldap'][0]['purpose'].sort.each do |l| - if l =~ /\[\[(\*|-)?(.*?)\]\]/ - l = $2 - end - if l =~ /\[\[(.*?)\|(.*?)\]\]/ - l = $2 - end + nodeinfo['ldap']['purpose'].sort.each do |l| + l = markup(l) purp += "\t" + l + "\n" end + else + purp += ".\n" end + + purp += extra else - purp += "\n" + purp += ".\n" +end + +if (nodeinfo['ldap'].has_key?('physicalHost')) + purp += wrap("This virtual server runs on the physical host #{nodeinfo['ldap']['physicalHost'][0]}." + + "It is hosted at #{nodeinfo['hoster']['longname']}." + ) +elsif nodeinfo['hoster']['name'] + purp += wrap("This server is hosted at #{nodeinfo['hoster']['longname']}.") end + +vms = [] +allnodeinfo.keys.sort.each do |node| + if allnodeinfo[node]['physicalHost'] and allnodeinfo[node]['physicalHost'].include?(fqdn) + vms << node + end +end +unless vms.empty? + purp += "\nThe following virtual machines run on this system:\n" + vms.each do |node| + purp += "\t- #{node}" + if allnodeinfo[node]['purpose'] + purp += ":\n" + allnodeinfo[node]['purpose'].sort.each do |l| + l = markup(l) + purp += "\t " + l + "\n" + end + else + purp += "\n" + end + end +end + + if nodeinfo.has_key?('footer') - purp += "\n" + nodeinfo['footer'] + "\n" + purp += "\n" + wrap(nodeinfo['footer']) + "\n" end purp -%> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +<% +# vim:set et: +# vim:set sts=2 ts=2: +# vim:set shiftwidth=2: +-%>