class git::daemon { include git package{'git-daemon': ensure => installed, require => Package['git'], } include xinetd file{'/etc/xinetd.d/git': require => Package['git-daemon','xinetd'], notify => Service[xinetd], owner => root, group => 0, mode => 0755; } file{'/etc/init.d/git-daemon': require => Package['git-daemon'], owner => root, group => 0, mode => 0755; } file{'/etc/sysconfig/git-daemon': require => Package['git-daemon'], owner => root, group => 0, mode => 0644; } service{'git-daemon': hasstatus => true, } if $git_daemon == 'service' { File['/etc/xinet.d/git']{ source => "puppet:///modules/git/xinetd.d/git.disabled" } File['/etc/init.d/git-daemon']{ source => [ "puppet:///modules/site-git/init.d/${fqdn}/git-daemon", "puppet:///modules/site-git/init.d/git-daemon", "puppet:///modules/git/init.d/git-daemon" ], } File['/etc/sysconfig/git-daemon']{ source => [ "puppet:///modules/site-git/sysconfig/${fqdn}/git-daemon", "puppet:///modules/site-git/sysconfig/git-daemon", "puppet:///modules/git/sysconfig/git-daemon" ], } Service['git-daemon']{ ensure => running, enable => true, require => [ File['/etc/sysconfig/git-daemon'], File['/etc/init.d/git-daemon'] ], } } else { File['/etc/xinetd.d/git']{ source => [ "puppet:///modules/site-git/xinetd.d/${fqdn}/git", "puppet:///modules/site-git/xinetd.d/git", "puppet:///modules/git/xinetd.d/git" ], } Service['git-daemon']{ ensure => stopped, enable => false, before => [ File['/etc/sysconfig/git-daemon'], File['/etc/init.d/git-daemon'] ], } File['/etc/init.d/git-daemon','/etc/sysconfig/git-daemon']{ ensure => absent, } } if $use_shorewall { include shorewall::rules::gitdaemon } }