]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/roles/manifests/weblog_provider.pp
Part I of web log shipping
[dsa-puppet.git] / modules / roles / manifests / weblog_provider.pp
diff --git a/modules/roles/manifests/weblog_provider.pp b/modules/roles/manifests/weblog_provider.pp
new file mode 100644 (file)
index 0000000..ea14b2b
--- /dev/null
@@ -0,0 +1,12 @@
+class roles::weblog_provider {
+       if ! $::weblogsync_key {
+               exec { 'create-weblogsync-key':
+                       command => '/bin/su - weblogsync -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'',
+                       onlyif  => '/usr/bin/getent passwd weblogsync > /dev/null && ! [ -e /home/weblogsync/.ssh/id_rsa ]'
+               }
+       } else {
+               file { '/etc/cron.d/puppet-weblog-provider':
+                       content => "SHELL=/bin/bash\n\n0 */4 * * * weblogsync sleep $((RANDOM % 1800)); rsync -a --delete /var/log/apache2/*-public-access.log-*gz weblogsync@ravel:-weblogs-incoming-\n",
+               }
+       }
+}