]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/templates/weblog_destination-authorized_keys.erb
fc21537fb28c1c32bcb836ec06a46e8cf876e25e
[dsa-puppet.git] / modules / roles / templates / weblog_destination-authorized_keys.erb
1 ##
2 ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
3 ##
4
5 <%=
6 def getweblogsynckey(host)
7     key = nil
8     begin
9         facts = YAML.load(File.open("/var/lib/puppet/yaml/facts/#{host}.yaml").read)
10         return facts.values['weblogsync_key']
11     rescue Exception => e
12     end
13     return key
14 end
15
16 localinfo = scope.lookupvar('site::localinfo')
17 allnodeinfo = scope.lookupvar('site::allnodeinfo')
18
19 mirrors = []
20 localinfo.keys.sort.each do |node|
21     if localinfo[node]['weblog_provider']
22         key = getweblogsynckey(node)
23         mirrors << { 'node' => node, 'addr' => allnodeinfo[node]['ipHostNumber'], 'key' => key}
24     end
25 end
26
27 lines = []
28 for m in mirrors do
29     lines << '# ' + m['node']
30     if m['key'].nil?
31         lines << "# no key for node"
32     else
33         lines << "command=\"/srv/weblogs.debian.org/bin/ssh-wrap #{m['node']}\"," +
34                  'no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-user-rc,' +
35                  'from="' + m['addr'].join(',') + '" ' +
36                  m['key']
37     end
38 end
39
40 lines.join("\n")
41 # vim:set et:
42 # vim:set sts=4 ts=4:
43 # vim:set shiftwidth=4:
44 %>