[Mageia-sysadm] [795] - add a git module prototype
root at mageia.org
root at mageia.org
Fri Jan 14 03:40:26 CET 2011
Revision: 795
Author: misc
Date: 2011-01-14 03:40:26 +0100 (Fri, 14 Jan 2011)
Log Message:
-----------
- add a git module prototype
Added Paths:
-----------
puppet/modules/git/
puppet/modules/git/manifests/
puppet/modules/git/manifests/init.pp
Added: puppet/modules/git/manifests/init.pp
===================================================================
--- puppet/modules/git/manifests/init.pp (rev 0)
+++ puppet/modules/git/manifests/init.pp 2011-01-14 02:40:26 UTC (rev 795)
@@ -0,0 +1,54 @@
+class git {
+ class common {
+ package { 'git-core':
+ }
+ }
+
+ class server inherits common {
+ # TODO
+ # integration with xinetd for anonymous co
+ # creation of /git
+ # define common syntax check, see svn
+ # proper policy : no-fast-forward
+ # no branch ?
+ # no binary
+ # no big file
+ # no empty commit message, no root
+ # automated push to another git repo ( see http://noone.org/blog/English/Computer/VCS/Thoughts%20on%20Gitorious%20and%20GitHub%20plus%20a%20useful%20git%20hook.futile
+ #
+ # how do we handle commit permission ?
+ }
+
+ define repository {
+ # TODO
+
+ }
+
+ class client inherits common {
+
+
+ }
+
+ define snapshot($source, $refresh ='*/5', $user = 'root') {
+ include git::client
+ #TODO
+ # should handle branch -> clone -n + branch + checkout
+ # create a script
+ # Idealy, should be handled by vcsrepo https://github.com/bruce/puppet-vcsrepo
+ # once it is merged in puppet
+ exec { "/usr/bin/git clone $source $name":
+ creates => $name,
+ user => $user
+ }
+
+ cron { "update $name":
+ # FIXME no -q ?
+ command => "cd $name && /usr/bin/git pull",
+ user => $user,
+ minute => $refresh
+ }
+ }
+}
+
+
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/mageia-sysadm/attachments/20110114/3b2503b2/attachment.html>
More information about the Mageia-sysadm
mailing list