aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-06-19 18:27:01 -0300
committerSilvio Rhatto <rhatto@riseup.net>2015-06-19 18:27:01 -0300
commit9d46b37d4e31e5f96d4788f720955e6b0bb09ea1 (patch)
tree0e35e3c0548ca89dbf31574d09db3862e3f34e2e
parent4bf4de5ffa79bd0cdde7845ab37c641e43dd2e2f (diff)
downloadpuppet-git-9d46b37d4e31e5f96d4788f720955e6b0bb09ea1.tar.gz
puppet-git-9d46b37d4e31e5f96d4788f720955e6b0bb09ea1.tar.bz2
Move common code to git::daemon
-rw-r--r--manifests/daemon.pp66
-rw-r--r--manifests/gitolite.pp68
-rw-r--r--manifests/gitosis.pp64
3 files changed, 68 insertions, 130 deletions
diff --git a/manifests/daemon.pp b/manifests/daemon.pp
index 7dedce9..75c0af6 100644
--- a/manifests/daemon.pp
+++ b/manifests/daemon.pp
@@ -1,6 +1,71 @@
class git::daemon (
$implementation = hiera('git::daemon::implementation', 'gitolite')
) {
+ # directory for gitosis user and repositories
+ file { "/var/git":
+ ensure => directory,
+ mode => 0755,
+ owner => git,
+ group => git,
+ }
+
+ # repositories folder
+ file { "/var/git/repositories":
+ ensure => directory,
+ owner => git,
+ group => git,
+ mode => 0755,
+ recurse => false,
+ }
+
+ # symbolic link
+ file { "/var/cache/git":
+ ensure => "/var/git/repositories",
+ force => true,
+ backup => false,
+ require => File['/var/git/repositories'],
+ }
+
+ # ensures that the group exists
+ group { "git":
+ ensure => present,
+ allowdupe => false,
+ require => Package["gitolite"],
+ }
+
+ # 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 { "git":
+ allowdupe => false,
+ comment => "git repository hosting,,,",
+ ensure => present,
+ home => "/var/git",
+ shell => "/bin/sh",
+ gid => "git",
+ password => '*',
+ groups => [ "puppet" ],
+ require => Group["git"],
+ }
+
+ # mass update script
+ file { "/usr/local/sbin/git-mass-update-server-info":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0755,
+ source => "puppet:///modules/git/git-mass-update-server-info",
+ }
+
+ # mass update hourly
+ cron { "/usr/local/sbin/git-mass-update-server-info":
+ command => "/usr/local/sbin/git-mass-update-server-info &> /dev/null",
+ user => root,
+ hour => "*/1",
+ minute => "20",
+ ensure => present,
+ require => File['/usr/local/sbin/git-mass-update-server-info'],
+ }
case $implementation {
'gitosis': {
@@ -19,5 +84,6 @@ class git::daemon (
file => "/etc/inetd.conf",
line => "git stream tcp nowait git /usr/bin/git git daemon --inetd --verbose --base-path=/var/git/repositories /var/git/repositories",
ensure => present,
+ notify => Service['inetd'],
}
}
diff --git a/manifests/gitolite.pp b/manifests/gitolite.pp
index d5f448d..9c230ea 100644
--- a/manifests/gitolite.pp
+++ b/manifests/gitolite.pp
@@ -2,31 +2,6 @@
# git repositories.
class git::gitolite inherits git {
- # directory for gitolite user and repositories
- file { "/var/git":
- ensure => directory,
- mode => 0755,
- owner => git,
- group => git,
- }
-
- # repositories folder
- file { "/var/git/repositories":
- ensure => directory,
- owner => git,
- group => git,
- mode => 0755,
- recurse => false,
- }
-
- # symbolic link
- file { "/var/cache/git":
- ensure => "/var/git/repositories",
- force => true,
- backup => false,
- require => File['/var/git/repositories'],
- }
-
# the needed packages
package { "gitolite":
name => $::lsbdistcodename ? {
@@ -39,28 +14,6 @@ class git::gitolite inherits git {
# make sure this is not installed
package { "gitosis": ensure => purged }
- # ensures that the group exists
- group { "git":
- ensure => present,
- allowdupe => false,
- require => Package["gitolite3"],
- }
-
- # 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 { "git":
- allowdupe => false,
- comment => "git repository hosting,,,",
- ensure => present,
- home => "/var/git",
- shell => "/bin/sh",
- gid => "git",
- password => '*',
- groups => [ "puppet" ],
- require => Group["git"],
- }
-
# tries to get rid of ugly directory structure
file { "/srv/gitolite":
ensure => absent,
@@ -94,26 +47,6 @@ class git::gitolite inherits git {
require => [ File['/var/git'], User['git'] ],
}
-
- # mass update script
- file { "/usr/local/sbin/git-mass-update-server-info":
- ensure => present,
- owner => root,
- group => root,
- mode => 0755,
- source => "puppet:///modules/git/git-mass-update-server-info",
- }
-
- # mass update hourly
- cron { "/usr/local/sbin/git-mass-update-server-info":
- command => "/usr/local/sbin/git-mass-update-server-info &> /dev/null",
- user => root,
- hour => "*/1",
- minute => "20",
- ensure => present,
- require => File['/usr/local/sbin/git-mass-update-server-info'],
- }
-
# git-annex integration
package { 'git-annex':
ensure => present,
@@ -140,4 +73,3 @@ class git::gitolite inherits git {
require => [ Package['git-annex'], File['/var/git/adc/ua'] ],
}
}
-
diff --git a/manifests/gitosis.pp b/manifests/gitosis.pp
index 2463ea0..168e2a2 100644
--- a/manifests/gitosis.pp
+++ b/manifests/gitosis.pp
@@ -2,52 +2,11 @@
# git repositories.
class git::gitosis inherits git {
- # directory for gitosis user and repositories
- file { "/var/git":
- ensure => directory,
- mode => 0755,
- owner => git,
- group => git,
- }
-
- # repositories folder
- file { "/var/git/repositories":
- ensure => directory,
- owner => git,
- group => git,
- mode => 0755,
- recurse => false,
- }
-
- # symbolic link
- file { "/var/cache/git":
- ensure => "/var/git/repositories",
- force => true,
- backup => false,
- require => File['/var/git/repositories'],
- }
-
# the needed packages
package { "gitosis": ensure => installed }
- # ensures that the group exists
- group { "git":
- ensure => present,
- allowdupe => false,
- require => Package["gitosis"],
- }
-
- # alters the user's home dir
- user { "git":
- allowdupe => false,
- comment => "git repository hosting,,,",
- ensure => present,
- home => "/var/git",
- shell => "/bin/sh",
- gid => "git",
- groups => [ "puppet" ],
- require => Group["git"],
- }
+ # make sure this is not installed
+ package { "gitolite": ensure => purged }
# tries to get rid of ugly directory structure
file { "/srv/gitosis":
@@ -64,23 +23,4 @@ class git::gitosis inherits git {
backup => false,
require => User["git"],
}
-
- # mass update script
- file { "/usr/local/sbin/git-mass-update-server-info":
- ensure => present,
- owner => root,
- group => root,
- mode => 0755,
- source => "puppet:///modules/git/git-mass-update-server-info",
- }
-
- # mass update hourly
- cron { "/usr/local/sbin/git-mass-update-server-info":
- command => "/usr/local/sbin/git-mass-update-server-info &> /dev/null",
- user => root,
- hour => "*/1",
- minute => "20",
- ensure => present,
- require => File['/usr/local/sbin/git-mass-update-server-info'],
- }
}