LEFT | RIGHT |
1 class notificationserver($is_default = false) { | 1 class notificationserver($is_default = false) { |
2 if !defined(Class['nginx']) { | 2 if !defined(Class['nginx']) { |
3 class {'nginx': | 3 class {'nginx': |
4 worker_connections => 4000, | 4 worker_connections => 4000, |
5 ssl_session_cache => off, | 5 ssl_session_cache => off, |
6 } | 6 } |
7 } | 7 } |
8 | 8 |
9 class {'sitescripts': | 9 class {'sitescripts': |
10 sitescriptsini_source => 'puppet:///modules/notificationserver/sitescripts.i
ni' | 10 sitescriptsini_source => 'puppet:///modules/notificationserver/sitescripts.i
ni' |
11 } | 11 } |
12 | 12 |
13 exec {'fetch_notifications': | 13 exec {'fetch_notifications': |
14 command => 'hg clone --noupdate https://hg.adblockplus.org/notifications /op
t/notifications && chown -R nginx /opt/notifications', | 14 command => 'hg clone --noupdate https://hg.adblockplus.org/notifications /op
t/notifications && chown -R nginx /opt/notifications', |
15 path => ['/usr/bin/', '/bin/'], | 15 path => ['/usr/bin/', '/bin/'], |
16 require => [ | 16 require => [ |
17 Package['mercurial'], | 17 Package['mercurial'], |
18 User['nginx'], | 18 User['nginx'], |
19 ], | 19 ], |
20 onlyif => 'test ! -d /opt/notifications' | 20 onlyif => 'test ! -d /opt/notifications' |
21 } | 21 } |
22 | 22 |
23 cron {'update_notifications': | 23 cron {'update_notifications': |
24 command => 'hg pull -q -u -R /opt/notifications', | 24 command => 'hg pull -q -u -R /opt/notifications', |
25 environment => ['MAILTO=admins@adblockplus.org,root'], | 25 environment => hiera('cron::environment', []), |
26 minute => '*/5', | 26 minute => '*/5', |
27 user => 'nginx', | 27 user => 'nginx', |
28 require => Exec['fetch_notifications'], | 28 require => Exec['fetch_notifications'], |
29 } | 29 } |
30 | 30 |
31 include spawn-fcgi | 31 include spawn-fcgi |
32 package {'python-flup':} | 32 package {'python-flup':} |
33 | 33 |
34 spawn-fcgi::pool {'multiplexer': | 34 spawn-fcgi::pool {'multiplexer': |
35 ensure => present, | 35 ensure => present, |
36 fcgi_app => '/opt/sitescripts/multiplexer.fcgi', | 36 fcgi_app => '/opt/sitescripts/multiplexer.fcgi', |
37 socket => '/tmp/multiplexer-fastcgi.sock', | 37 socket => '/tmp/multiplexer-fastcgi.sock', |
38 mode => '0666', | 38 mode => '0666', |
39 order => 500, | 39 order => 500, |
40 user => 'nginx', | 40 user => 'nginx', |
41 children => 1, | 41 children => 1, |
42 require => [ | 42 require => [ |
43 Exec['fetch_sitescripts'], | 43 Exec['fetch_sitescripts'], |
44 Exec['fetch_notifications'], | 44 Exec['fetch_notifications'], |
45 Package['python-flup'] | 45 Package['python-flup'] |
46 ] | 46 ] |
47 } | 47 } |
48 | 48 |
| 49 customservice::supervisor {'spawn-fcgi': |
| 50 pidfile => '/var/run/500-multiplexer_spawn-fcgi.pid', |
| 51 } |
| 52 |
49 File { | 53 File { |
50 owner => root, | 54 owner => root, |
51 group => root, | 55 group => root, |
52 mode => 0644, | 56 mode => 0644, |
53 } | 57 } |
54 | 58 |
55 nginx::hostconfig{'notification.adblockplus.org': | 59 nginx::hostconfig{'notification.adblockplus.org': |
56 source => 'puppet:///modules/notificationserver/site.conf', | 60 source => 'puppet:///modules/notificationserver/site.conf', |
57 global_config => template('notificationserver/global.conf.erb'), | 61 global_config => template('notificationserver/global.conf.erb'), |
58 is_default => $is_default, | 62 is_default => $is_default, |
59 certificate => 'easylist-downloads.adblockplus.org_sslcert.pem', | 63 certificate => 'easylist-downloads.adblockplus.org_sslcert.pem', |
60 private_key => 'easylist-downloads.adblockplus.org_sslcert.key', | 64 private_key => 'easylist-downloads.adblockplus.org_sslcert.key', |
61 log => 'access_log_notification', | 65 log => 'access_log_notification', |
62 log_format => 'notification', | 66 log_format => 'notification', |
63 } | 67 } |
64 } | 68 } |
LEFT | RIGHT |