From f30637ead1f87c06bbf2ee66a55e8d709b09e18b Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Wed, 20 Oct 2010 14:04:24 -0200 Subject: Adding git-mass-update-server-info --- files/git-mass-update-server-info | 13 +++++++++++++ manifests/gitosis.pp | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 files/git-mass-update-server-info 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'], + } } -- cgit v1.2.3