## ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. ## <%= def getstaticsynckey(host) key = nil begin facts = YAML.load(File.open("/var/lib/puppet/yaml/facts/#{host}.yaml").read) return facts.values['staticsync_key'] rescue Exception => e end return key end allnodeinfo = scope.lookupvar('site::allnodeinfo') roles = scope.lookupvar('site::roles') callers = [] %w{static_mirror static_source static_master}.each do |role| roles[role].each do |node| key = getstaticsynckey(node) callers << { 'node' => node, 'addr' => allnodeinfo[node]['ipHostNumber'], 'key' => key} end end callers << { 'node' => 'moszumanska.debian.org', 'addr' => allnodeinfo['moszumanska.debian.org']['ipHostNumber'], 'key' => 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXHFIkIhOC5iDa0d0IN5w6tUUL2T2iXCYcS2+dandE9f550OpKQ/evUZhw4EERNYDA3G7GV3jJzQR0j/KZWJUtDCichmqS94xJqXURmZVNeLXWY9x/N7CB1iG1Iblu6sgyTUrs7N6Wb0fUab3AXAi9KIXdwNLY622reR9T//bRULPVIl5VFpYtGBPT9n3wR7fLQ4ndEcUmEGcM4jRbpLmye4QGgJotuzeBWUpX+U648Yly6U7NlAJIWPUt7hEzMz2AC81SLhGCwTk6sb19n2dO6WN2ndynp8PLG1emtgd1/DaeaRyPcitoWgSoDNgKNk3zLIDtCdSYvFI8xXrm6cK3 staticsync@wagner'} lines = [] for m in callers do lines << '# ' + m['node'] if m['key'].nil? lines << "# no key for node" else lines << "command=\"/usr/local/bin/staticsync-ssh-wrap #{m['node']}\"," + 'no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-user-rc,' + 'from="' + m['addr'].join(',') + '" ' + m['key'] end end lines.join("\n") # vim:set et: # vim:set sts=4 ts=4: # vim:set shiftwidth=4: %>