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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# modules/puppet/manifests/init.pp - manage puppet stuff
# Copyright (C) 2007 admin@immerda.ch
#
# modules_dir { "puppet": }
class puppet {
case $kernel {
linux: { include puppet::linux}
openbsd: { include puppet::openbsd}
}
$real_puppet_conf_source = $puppet_conf_source ? {
'' => [ "puppet://$server/files/puppet/client/puppet.conf.$operatingsystem",
"puppet://$server/files/puppet/client/puppet.conf",
"puppet://$server/puppet/client/puppet.conf.$operatingsystem",
"puppet://$server/puppet/client/puppet.conf" ],
default => "puppet://$server/$source",
}
file { 'puppet_config':
path => '/etc/puppet/puppet.conf',
owner => root,
group => 0,
mode => 600,
source => $real_puppet_conf_source,
notify => Service[puppet],
}
}
class puppet::linux {
package{'puppet':
name => 'puppet',
category => $operatingsystem ? {
gentoo => 'app-admin',
default => '',
},
ensure => present,
}
package{'facter':
name => 'facter',
category => $operatingsystem ? {
gentoo => 'dev-ruby',
default => '',
},
ensure => present,
}
service{'puppet':
ensure => running,
require => Package[puppet],
}
file{'/etc/cron.d/puppetd':
owner => root,
group => 0,
mode => 0644,
source => [ "puppet://$server/files/puppet/cron.d/puppetd",
"puppet://$server/puppet/cron.d/puppetd.$operatingsystem",
"puppet://$server/puppet/cron.d/puppetd"
],
}
}
class puppet::openbsd {
service{'puppet':
provider => base,
pattern => puppetd,
ensure => running,
}
}
class puppetmaster inherits puppet {
service{'puppetmaster':
ensure => running,
require => Package[puppet],
}
$real_puppetmaster_conf_source = $puppet_conf_source ? {
'' => [ "puppet://$server/files/puppet/master/puppet.conf",
"puppet://$server/puppet/master/puppet.conf" ],
default => "puppet://$server/$puppet_conf_source",
}
File[puppet_config]{
source => $real_puppetmaster_conf_source,
notify => [Service[puppet],Service[puppetmaster] ],
}
$real_puppet_fileserver_source = $puppet_fileserver_source ? {
'' => [ "puppet://$server/files/puppet/master/fileserver.conf",
"puppet://$server/puppet/master/fileserver.conf" ],
default => "puppet://$server/$puppet_fileserver_source"
}
file { '/etc/puppet/fileserver.conf':
owner => root,
group => 0,
mode => 600,
source => $real_puppet_fileserver_source ,
notify => [Service[puppet],Service[puppetmaster] ],
}
}
class puppetmaster::cluster inherits puppetmaster {
include mongrel, nginx
File[puppet_config] {
require => [ Package[mongrel], Package[nginx], File[nginx_config] ],
}
file{"/etc/init.d/puppetmaster":
source => [ "puppet://$server/files/puppet/cluster/init.d/puppetmaster-${fqdn}",
"puppet://$server/puppet/cluster/init.d/puppetmaster.${operatingsystem}",
"puppet://$server/puppet/cluster/init.d/puppetmaster" ],
owner => root,
group => 0,
mode => 0755,
require => [ Package[puppet], Package[mongrel], Package[nginx], File[nginx_config] ],
notify => Service[puppetmaster],
}
}
|