aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/git-mass-update-server-info2
-rw-r--r--manifests/cgit.pp7
-rw-r--r--manifests/daemon.pp10
-rw-r--r--manifests/git.pp16
-rw-r--r--manifests/gitolite.pp38
-rw-r--r--manifests/gitosis.pp22
-rw-r--r--manifests/init.pp19
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,
+ }
+ }
+}