[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