+# the sink where all provider of webserver logs ship their things to
class roles::weblog_destination {
- file { '/etc/ssh/userkeys/weblogsync':
- content => template('roles/weblog_destination-authorized_keys.erb'),
- }
+ ssh::authorized_key_collect { 'weblogsync':
+ target_user => 'weblogsync',
+ collect_tag => 'weblogsync',
+ }
}
+# a provider of webserver logs
class roles::weblog_provider {
ssh::keygen {'weblogsync': }
+ ssh::authorized_key_add { 'weblongsync-provider::destination':
+ target_user => 'weblogsync',
+ command => "/srv/weblogs.debian.org/bin/ssh-wrap ${::fqdn}",
+ key => $facts['weblogsync_key'],
+ collect_tag => 'weblogsync',
+ }
file { '/etc/cron.d/puppet-weblog-provider': ensure => absent, }
concat::fragment { 'dsa-puppet-stuff--weblog-provider':
+++ /dev/null
-##
-## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-##
-
-<%=
-def getweblogsynckey(host)
- key = nil
- begin
- facts = YAML.load(File.open("/var/lib/puppet/yaml/facts/#{host}.yaml").read)
- return facts.values['weblogsync_key']
- rescue Exception => e
- end
- return key
-end
-
-allnodeinfo = scope.lookupvar('site::allnodeinfo')
-roles = scope.lookupvar('site::roles')
-
-mirrors = []
-roles['weblog_provider'].each do |node|
- key = getweblogsynckey(node)
- mirrors << { 'node' => node, 'addr' => allnodeinfo[node]['ipHostNumber'], 'key' => key}
-end
-
-lines = []
-for m in mirrors do
- lines << '# ' + m['node']
- if m['key'].nil?
- lines << "# no key for node"
- else
- lines << "command=\"/srv/weblogs.debian.org/bin/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:
-%>