summaryrefslogtreecommitdiff
path: root/manifests/web/repo.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/web/repo.pp')
-rw-r--r--manifests/web/repo.pp27
1 files changed, 19 insertions, 8 deletions
diff --git a/manifests/web/repo.pp b/manifests/web/repo.pp
index def9f62..ce6ab15 100644
--- a/manifests/web/repo.pp
+++ b/manifests/web/repo.pp
@@ -2,6 +2,7 @@
# projectroot: where the git repos are listened
# projects_list: which repos to export
define git::web::repo(
+ $ensure = 'present',
$projectroot,
$projects_list,
$sitename='absent'
@@ -13,19 +14,29 @@ define git::web::repo(
default: { $gitweb_sitename = $sitename }
}
$gitweb_config = "/etc/gitweb.d/${name}.conf"
- file{"${gitweb_config}":
+ file{"${gitweb_config}": }
+ if $ensure == 'present' {
+ File["${gitweb_config}"]{
content => template("git/web/config")
+ }
+ } else {
+ File["${gitweb_config}"]{
+ ensure => absent,
+ }
}
case $gitweb_webserver {
'lighttpd': {
- git::web::repo::lighttpd{$name:
- gitweb_url => $gitweb_url,
- gitweb_config => $gitweb_config,
- }
+ git::web::repo::lighttpd{$name:
+ ensure => $ensure,
+ gitweb_url => $gitweb_url,
+ gitweb_config => $gitweb_config,
+ }
}
'apache': {
- apache::vhost::gitweb{$gitweb_url: }
- }
- default: { fail("no supported \$gitweb_webserver defined on ${fqdn}, so can't do git::web::repo: ${name}") }
+ apache::vhost::gitweb{$gitweb_url:
+ ensure => $ensure,
+ }
+ }
+ default: { fail("no supported \$gitweb_webserver defined on ${fqdn}, so can't do git::web::repo: ${name}") }
}
}