diff options
-rw-r--r-- | files/git-mass-update-server-info | 2 | ||||
-rw-r--r-- | manifests/cgit.pp | 7 | ||||
-rw-r--r-- | manifests/daemon.pp | 10 | ||||
-rw-r--r-- | manifests/git.pp | 16 | ||||
-rw-r--r-- | manifests/gitolite.pp | 38 | ||||
-rw-r--r-- | manifests/gitosis.pp | 22 | ||||
-rw-r--r-- | manifests/init.pp | 19 |
7 files changed, 53 insertions, 61 deletions
diff --git a/files/git-mass-update-server-info b/files/git-mass-update-server-info index 53143cf..dafa6c0 100644 --- a/files/git-mass-update-server-info +++ b/files/git-mass-update-server-info @@ -9,5 +9,5 @@ REPOS="/var/git/repositories" for repo in `ls $REPOS`; do - ( cd $REPOS/$repo && su gitolite -c "git update-server-info" ) + ( cd $REPOS/$repo && su git -c "git update-server-info" ) done diff --git a/manifests/cgit.pp b/manifests/cgit.pp new file mode 100644 index 0000000..0430190 --- /dev/null +++ b/manifests/cgit.pp @@ -0,0 +1,7 @@ +# See http://git.ao2.it/gitweb_cgit_migration.git +# http://ao2.it/en/blog/2011/05/06/migrate-gitweb-cgit-url-rewrite-rules +class git::cgit { + package { 'cgit': + ensure => present, + } +} diff --git a/manifests/daemon.pp b/manifests/daemon.pp index 9a63d39..7dedce9 100644 --- a/manifests/daemon.pp +++ b/manifests/daemon.pp @@ -1,16 +1,10 @@ -# This class configures the git-daemon service. It ensures the packages is -# installed and a line is present in /etc/inetd.conf, which configures it. -# It depends on a "line" definition, which can be found here: -# -# http://reductivelabs.com/trac/puppet/wiki/Recipes/SimpleText - class git::daemon ( $implementation = hiera('git::daemon::implementation', 'gitolite') ) { case $implementation { 'gitosis': { - include gitosis + include git::gitosis } default: { include git::gitolite @@ -23,7 +17,7 @@ class git::daemon ( # git-daemon config in inetd line { "git-daemon-inetd": file => "/etc/inetd.conf", - line => "git stream tcp nowait ${implementation} /usr/bin/git git daemon --inetd --verbose --base-path=/var/git/repositories /var/git/repositories", + line => "git stream tcp nowait git /usr/bin/git git daemon --inetd --verbose --base-path=/var/git/repositories /var/git/repositories", ensure => present, } } diff --git a/manifests/git.pp b/manifests/git.pp deleted file mode 100644 index 5a3763d..0000000 --- a/manifests/git.pp +++ /dev/null @@ -1,16 +0,0 @@ -# This class is the base for any other services handled by this module. - -class git { - # Obsolete - if !defined(Package['git-core']) { - package { 'git-core': - ensure => absent, - } - } - - if !defined(Package['git']) { - package { 'git': - ensure => latest, - } - } -} diff --git a/manifests/gitolite.pp b/manifests/gitolite.pp index e4e33d7..64220c1 100644 --- a/manifests/gitolite.pp +++ b/manifests/gitolite.pp @@ -6,15 +6,15 @@ class git::gitolite inherits git { file { "/var/git": ensure => directory, mode => 0755, - owner => gitolite, - group => gitolite, + owner => git, + group => git, } # repositories folder file { "/var/git/repositories": ensure => directory, - owner => gitolite, - group => gitolite, + owner => git, + group => git, mode => 0755, recurse => false, } @@ -34,7 +34,7 @@ class git::gitolite inherits git { package { "gitosis": ensure => purged } # ensures that the group exists - group { "gitolite": + group { "git": ensure => present, allowdupe => false, require => Package["gitolite3"], @@ -43,16 +43,16 @@ class git::gitolite inherits git { # alters the user's home dir # set '*' on password field to avoid this issue: # https://stackoverflow.com/questions/15664561/ssh-key-asks-for-password/15761971#15761971 - user { "gitolite": + user { "git": allowdupe => false, comment => "git repository hosting,,,", ensure => present, home => "/var/git", shell => "/bin/sh", - gid => "gitolite", + gid => "git", password => '*', groups => [ "puppet" ], - require => Group["gitolite"], + require => Group["git"], } # tries to get rid of ugly directory structure @@ -60,32 +60,32 @@ class git::gitolite inherits git { ensure => absent, force => true, backup => false, - require => User["gitolite"], + require => User["git"], } - # we also don't need /var/gitolite + # we also don't need /var/lib/gitolite file { "/var/lib/gitolite": ensure => absent, force => true, backup => false, - require => User["gitolite"], + require => User["git"], } file { "/var/git/.gitolite.rc": ensure => present, - owner => gitolite, - group => gitolite, + owner => git, + group => git, mode => 0644, source => "puppet:///modules/git/gitolite.rc.${::lsbdistcodename}", - require => [ File['/var/git'], User['gitolite'] ], + require => [ File['/var/git'], User['git'] ], } file { "/var/git/projects.list": ensure => present, - owner => gitolite, - group => gitolite, + owner => git, + group => git, mode => 0644, - require => [ File['/var/git'], User['gitolite'] ], + require => [ File['/var/git'], User['git'] ], } @@ -120,8 +120,8 @@ class git::gitolite inherits git { 'squeeze' => absent, default => directory, }, - owner => gitolite, - group => gitolite, + owner => git, + group => git, mode => 0755, require => File['/var/git'], } diff --git a/manifests/gitosis.pp b/manifests/gitosis.pp index c446918..2463ea0 100644 --- a/manifests/gitosis.pp +++ b/manifests/gitosis.pp @@ -1,20 +1,20 @@ # This class handles a gitosis installation, with /var/git as the root for # git repositories. -class gitosis inherits git { +class git::gitosis inherits git { # directory for gitosis user and repositories file { "/var/git": ensure => directory, mode => 0755, - owner => gitosis, - group => gitosis, + owner => git, + group => git, } # repositories folder file { "/var/git/repositories": ensure => directory, - owner => gitosis, - group => gitosis, + owner => git, + group => git, mode => 0755, recurse => false, } @@ -31,22 +31,22 @@ class gitosis inherits git { package { "gitosis": ensure => installed } # ensures that the group exists - group { "gitosis": + group { "git": ensure => present, allowdupe => false, require => Package["gitosis"], } # alters the user's home dir - user { "gitosis": + user { "git": allowdupe => false, comment => "git repository hosting,,,", ensure => present, home => "/var/git", shell => "/bin/sh", - gid => "gitosis", + gid => "git", groups => [ "puppet" ], - require => Group["gitosis"], + require => Group["git"], } # tries to get rid of ugly directory structure @@ -54,7 +54,7 @@ class gitosis inherits git { ensure => absent, force => true, backup => false, - require => User["gitosis"], + require => User["git"], } # we also don't need /var/gitosis @@ -62,7 +62,7 @@ class gitosis inherits git { ensure => absent, force => true, backup => false, - require => User["gitosis"], + require => User["git"], } # mass update script diff --git a/manifests/init.pp b/manifests/init.pp index e3bd908..2c49ea8 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,7 +1,14 @@ -# The classes used by this module are imported here. +class git { + # Obsolete + if !defined(Package['git-core']) { + package { 'git-core': + ensure => absent, + } + } -import "git.pp" -import "gitosis.pp" -import "gitweb.pp" -import "daemon.pp" -import "gitolite.pp" + if !defined(Package['git']) { + package { 'git': + ensure => latest, + } + } +} |