# Install Git client tools. # class git::client { package { "git": ensure => installed, } } # Install prequisites for serving Git repositories # # === Global variables # # $git_datadir: # Directory where repositories are stored # class git::server { include git::client if $git_datadir { file { "${git_datadir}": ensure => directory, mode => 0755, owner => root, group => root, } file { "/srv/git": ensure => link, target => "${git_datadir}", require => File["${git_datadir}"], } } else { file { "/srv/git": ensure => directory, mode => 0755, owner => root, group => root, } } } # Install Git daemon # class git::daemon inherits git::server { package { "git-daemon": ensure => installed, } include inetd::server inetd::service { "git": ensure => present, require => [ File["/srv/git"], Package["git-daemon"] ], } } # Install gitweb # class git::gitweb inherits git::server { package { "gitweb": ensure => installed, } file { "/var/www/git/gitweb_config.perl": ensure => present, source => [ "puppet:///files/git/gitweb_config.perl.${fqdn}", "puppet:///files/git/gitweb_config.perl", "puppet:///git/gitweb_config.perl", ], mode => 0644, owner => root, group => root, require => Package["gitweb"], } }