]> gitweb.fluxo.info Git - puppet-puppet.git/commitdiff
Make sure we have a puppet repo
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 7 Mar 2014 21:16:53 +0000 (18:16 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 7 Mar 2014 21:16:53 +0000 (18:16 -0300)
manifests/master/update.pp

index ddc8ba1d6e6f0e4e621ea5f8c19e30e7aa165b9b..f996f8610d55f982f85f1cd9f0eeb90f3d67291c 100644 (file)
@@ -2,6 +2,14 @@ class puppet::master::update(
   $ensure  = present,
   $method  = hiera('puppet::master::update::method', 'cron')
 ) {
+  # make sure we have a puppet repo
+  exec { "make-puppet-repo":
+    command => "/bin/sh -c 'mkdir -p /var/git/repositories/puppet.git && cd /var/git/repositories/puppet.git && git --bare init'",
+    unless  => "/bin/sh -c '[ -e /var/git/repositories/puppet.git ]'",
+    user    => gitolite,
+    require => [ User['gitolite'], File['/var/git/repositories'] ],
+  }
+
   # puppet update script
   file { "/usr/local/sbin/update-puppet-conf.sh":
     source => "puppet:///modules/puppet/update-puppet-conf.sh",
@@ -25,14 +33,15 @@ class puppet::master::update(
 
   # use a post-update hook
   file { '/var/git/repositories/puppet.git/hooks/post-update':
-    mode   => 0750,
-    owner  => gitolite,
-    group  => gitolite,
-    ensure => $method ? {
+    mode    => 0750,
+    owner   => gitolite,
+    group   => gitolite,
+    ensure  => $method ? {
       'cron'  => $ensure,
       default => present,
     },
-    source => "puppet:///modules/puppet/post-update.sh",
+    source  => "puppet:///modules/puppet/post-update.sh",
+    require => Exec['make-puppet-repo'],
   }
 
   # needed by the post-update hook above