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
|
class puppet {
class client {
package { puppet: }
file { "/etc/puppet/puppet.conf":
content => template("puppet/puppet.conf"),
require => Package[puppet]
}
cron { "puppet":
command => "/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog > /dev/null 2>&1",
user => "root",
minute => fqdn_rand( 60 ),
ensure => present,
}
service { puppet:
enable => false,
hasstatus => true,
}
}
class master inherits client {
# for stored config
$rails_package = $lsbdistid ? {
Mageia => "ruby-rails",
MandrivaLinux => "rails"
}
package { ["ruby-sqlite3", "puppet-server", $rails_package]: }
service { puppetmaster:
ensure => running,
path => "/etc/init.d/puppetmaster",
subscribe => [ Package[puppet-server], File["/etc/puppet/puppet.conf"]]
}
file { "/etc/puppet/extdata":
ensure => directory,
owner => puppet,
group => puppet,
mode => 700,
recurse => true
}
file { '/etc/puppet/tagmail.conf':
content => template("puppet/tagmail.conf"),
}
tidy { "/var/lib/puppet/reports":
age => "4w",
matches => "*.yaml",
recurse => true,
type => "mtime",
}
file { "/etc/puppet/autosign.conf":
ensure => $environment ? {
'test' => 'present',
default => 'absent',
},
content => '*',
}
}
}
|