aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2010-10-20 14:04:24 -0200
committerSilvio Rhatto <rhatto@riseup.net>2010-10-20 14:04:24 -0200
commitf30637ead1f87c06bbf2ee66a55e8d709b09e18b (patch)
treed1e8f998ab491c00e4bbe7ea5ea8367955769e84
parent392231ba78ba69df471ebf3209d8e89608677141 (diff)
downloadpuppet-git-f30637ead1f87c06bbf2ee66a55e8d709b09e18b.tar.gz
puppet-git-f30637ead1f87c06bbf2ee66a55e8d709b09e18b.tar.bz2
Adding git-mass-update-server-info
-rw-r--r--files/git-mass-update-server-info13
-rw-r--r--manifests/gitosis.pp19
2 files changed, 32 insertions, 0 deletions
diff --git a/files/git-mass-update-server-info b/files/git-mass-update-server-info
new file mode 100644
index 0000000..5735f69
--- /dev/null
+++ b/files/git-mass-update-server-info
@@ -0,0 +1,13 @@
+#!/bin/bash
+#
+# Run git-update-server-info on all repositories.
+#
+# This is script is needed when servir repositories directly
+# to dumb servers (eg. via HTTP).
+#
+
+REPOS="/var/git/repositories"
+
+for repo in `ls $REPOS`; do
+ ( cd $REPOS/$repo && su gitosis -c "git update-server-info" )
+done
diff --git a/manifests/gitosis.pp b/manifests/gitosis.pp
index ebe0c2a..853ca7e 100644
--- a/manifests/gitosis.pp
+++ b/manifests/gitosis.pp
@@ -64,4 +64,23 @@ class gitosis inherits git {
backup => false,
require => User["gitosis"],
}
+
+ # mass update script
+ file { "/usr/local/sbin/git-mass-update-server-info":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0755,
+ source => "puppet:///files/git/git-mass-update-server-info",
+ }
+
+ # mass update hourly
+ cron { "/usr/local/sbin/git-mass-update-server-info":
+ command => "/usr/local/sbin/git-mass-update-server-info &> /dev/null",
+ user => root,
+ hour => "*/1",
+ minute => "20",
+ ensure => present,
+ require => File['/usr/local/sbin/git-mass-update-server-info'],
+ }
}