diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2015-06-19 18:27:01 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2015-06-19 18:27:01 -0300 |
commit | 9d46b37d4e31e5f96d4788f720955e6b0bb09ea1 (patch) | |
tree | 0e35e3c0548ca89dbf31574d09db3862e3f34e2e /manifests/daemon.pp | |
parent | 4bf4de5ffa79bd0cdde7845ab37c641e43dd2e2f (diff) | |
download | puppet-git-9d46b37d4e31e5f96d4788f720955e6b0bb09ea1.tar.gz puppet-git-9d46b37d4e31e5f96d4788f720955e6b0bb09ea1.tar.bz2 |
Move common code to git::daemon
Diffstat (limited to 'manifests/daemon.pp')
-rw-r--r-- | manifests/daemon.pp | 66 |
1 files changed, 66 insertions, 0 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'], } } |