Left: | ||
Right: |
OLD | NEW |
---|---|
(Empty) | |
1 class statsclient ( | |
2 $log_path, | |
3 $custom_sitescriptsini_source = [], | |
4 ) { | |
5 | |
6 $sitescriptsini_source = flatten(['puppet:///modules/statsclient/sitescripts.i ni', $custom_sitescriptsini_source]) | |
7 | |
8 user {'stats': | |
9 ensure => present, | |
10 home => '/home/stats', | |
11 managehome => true, | |
12 } | |
13 | |
14 file {'/home/stats/.ssh': | |
15 ensure => directory, | |
16 owner => stats, | |
17 mode => 0600, | |
18 require => User['stats'], | |
19 } | |
20 | |
21 file {'/home/stats/.ssh/authorized_keys': | |
22 ensure => present, | |
23 owner => stats, | |
24 mode => 0400, | |
25 source => 'puppet:///modules/private/stats-authorized_keys', | |
26 } | |
27 | |
28 class {'ssh': | |
29 custom_configuration => 'Match User stats | |
30 AllowTcpForwarding no | |
31 X11Forwarding no | |
32 AllowAgentForwarding no | |
33 GatewayPorts no | |
34 ForceCommand cat /var/www/stats.json', | |
35 } | |
36 | |
37 class {'sitescripts': | |
38 sitescriptsini_source => $sitescriptsini_source, | |
39 } | |
40 | |
41 package {'python-geoip':} | |
42 | |
43 package {'python-simplejson':} | |
44 | |
45 package {'python-jinja2':} | |
Wladimir Palant
2013/08/23 14:01:38
The log processor doesn't really need Jinja2. Howe
Felix Dahlke
2013/08/28 14:43:32
Did you know that you can require multiple package
| |
46 | |
47 file {'/var/www/stats.json': | |
48 ensure => present, | |
49 owner => stats, | |
50 mode => 644, | |
51 } | |
52 | |
53 file {'/opt/cron_geoipdb_update.sh': | |
54 ensure => file, | |
55 owner => root, | |
56 mode => 0750, | |
57 source => 'puppet:///modules/statsclient/cron_geoipdb_update.sh', | |
58 } | |
59 | |
60 cron {'mirrorstats': | |
61 ensure => present, | |
62 require => [ | |
63 User['stats'], | |
64 Package['python-geoip'], | |
65 Exec["fetch_sitescripts"] | |
66 ], | |
67 command => "gzip -cd ${log_path} | python -m sitescripts.stats.bin.logproces sor", | |
68 environment => ['MAILTO=admins@adblockplus.org', 'PYTHONPATH=/opt/sitescript s'], | |
69 user => stats, | |
70 hour => 0, | |
71 minute => 25, | |
72 } | |
73 | |
74 cron {'geoipdb_update': | |
75 ensure => present, | |
76 require => File['/opt/cron_geoipdb_update.sh'], | |
77 command => '/opt/cron_geoipdb_update.sh', | |
78 user => root, | |
79 hour => 3, | |
80 minute => 15, | |
81 monthday => 3, | |
82 } | |
83 } | |
OLD | NEW |