1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
class websites inherits websites::setup {
# Include the needed classes for website hosting
include php
include trac
include websvn
include rsync::rrsync
# Declare the needed classes for website hosting
class { [ 'drupal', 'ikiwiki', 'pmwiki', 'hotglue', 'wordpress' ]: }
class {
'viewvc':
root_parents => "/var/svn : svn";
}
$git_daemon = hiera('nodo::web::git_daemon', True)
if $git_daemon != false {
class { 'git::gitweb': }
class { 'git::cgit': }
apache::site { "git":
source => true,
docroot => '/var/git/repositories',
mpm => false,
tag => 'all',
}
}
apache::site { "images":
docroot => "${apache::www_folder}/images",
mpm => false,
tag => 'all',
}
# Retrieve configured instances
$sites = hiera('apache::sites', {})
$databases = hiera('database::instances', {})
$ikiwikis = hiera('ikiwiki::instances', {})
$domains = hiera('domain_check::instances', {})
# Apply instances
create_resources('apache::site', $sites)
create_resources('database::instance', $databases)
create_resources('ikiwiki::instance', $ikiwikis)
create_resources('domain_check::instance', $domains)
# Remove untagged site instances
Apache::Site <| tag != $::hostname and tag != 'all' |> {
ensure => absent,
}
# Remove untagged database instances
Database::Instance <| tag != $::hostname and tag != 'all' |> {
ensure => absent,
}
# Remove untagged ikiwiki instances
Ikiwiki::Instance <| tag != $::hostname and tag != 'all' |> {
ensure => absent,
}
}
|