/[adm]/puppet/modules/youri-check/manifests/init.pp
ViewVC logotype

Contents of /puppet/modules/youri-check/manifests/init.pp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2858 - (show annotations) (download)
Thu Sep 27 21:29:51 2012 UTC (11 years, 6 months ago) by boklm
File size: 2402 byte(s)
add missing requires
1 class youri-check {
2 class base {
3 $vhost = "check.$domain"
4 $user = 'youri'
5 $home = '/var/lib/youri'
6
7 user { $user:
8 comment => 'Youri Check',
9 home => $home,
10 }
11
12 file { $home:
13 ensure => directory,
14 owner => $user,
15 group => $user,
16 }
17
18 $pgsql_server = "$vhost"
19
20 package { ['youri-check', 'perl-DBD-Pg', 'perl-Youri-Media']: }
21
22 }
23
24 define config($version) {
25 include youri-check::base
26
27 $config = "/etc/youri/$version.conf"
28 $outdir = "/var/www/youri-check/$version"
29 $pgsql_db = "youri_check_$version"
30 $pgsql_server = $base::pgsql_server
31 $pgsql_user = "youri$version"
32 $pgsql_password = extlookup('youri_pgsql','x')
33
34 file { "$config":
35 ensure => present,
36 owner => $base::user,
37 mode => 640,
38 content => template("youri-check/$version.conf"),
39 require => User[$base::user],
40 }
41 }
42
43 define check($version, $hour = "*", $minute = 0) {
44 include youri-check::base
45 $config = "/etc/youri/$version.conf"
46 $pgsql_server = $base::pgsql_server
47 $pgsql_db = "youri_check_$version"
48 $pgsql_user = "youri$version"
49 $pgsql_password = extlookup('youri_pgsql','x')
50
51 postgresql::remote_user { $pgsql_user:
52 password => $base::pgsql_password,
53 }
54
55 postgresql::remote_database { $pgsql_db:
56 description => "Youri Check results",
57 user => $pgsql_user,
58 }
59 cron { "check_$version":
60 command => "youri-check -c $config test",
61 hour => $hour,
62 minute => $minute,
63 user => $base::user,
64 environment => "MAILTO=root",
65 require => User[$base::user],
66 }
67 }
68
69 define report_www {
70 include youri-check::base
71 $outdir = "/var/www/youri-check/"
72 apache::vhost_simple { $base::vhost:
73 location => $outdir,
74 }
75 }
76
77 define report($version, $hour = "*", $minute = 20) {
78 include youri-check::base
79
80 $config = "/etc/youri/$version.conf"
81
82 $outdir = "/var/www/youri-check/$version"
83 file { "$outdir":
84 ensure => directory,
85 owner => $base::user,
86 mode => 755,
87 }
88
89 cron { "check_$version":
90 command => "youri-check -c $config report",
91 hour => $hour,
92 minute => $minute,
93 user => $base::user,
94 require => User[$base::user],
95 }
96 }
97 }

  ViewVC Help
Powered by ViewVC 1.1.30