Left: | ||
Right: |
OLD | NEW |
---|---|
1 class updateserver( | 1 class updateserver( |
2 $domain, | 2 $domain, |
3 $certificate, | 3 $certificate, |
4 $private_key, | 4 $private_key, |
5 $is_default=false | 5 $is_default=false |
6 ) { | 6 ) { |
7 class {'nginx': | 7 class {'nginx': |
8 worker_processes => 2, | 8 worker_processes => 2, |
9 worker_connections => 4000, | 9 worker_connections => 4000, |
10 ssl_session_cache => off, | 10 ssl_session_cache => off, |
11 } | 11 } |
12 | 12 |
13 File { | 13 File { |
14 owner => root, | 14 owner => root, |
15 group => root | 15 group => root |
16 } | 16 } |
17 | 17 |
18 file {'/var/www': | 18 file {'/var/www': |
19 ensure => directory, | 19 ensure => directory, |
20 mode => 0755, | 20 mode => 0755, |
21 require => Package['nginx'] | 21 require => Package['nginx'] |
22 } | 22 } |
23 | 23 |
24 file {'/var/www/update': | 24 $update_dir = '/var/www/update' |
25 | |
26 file {"${update_dir}": | |
Wladimir Palant
2014/07/25 09:50:11
Why put it into quotation marks here?
file {$upda
Felix Dahlke
2014/07/25 10:31:15
Done.
| |
25 ensure => directory, | 27 ensure => directory, |
26 mode => 0755 | 28 mode => 0755 |
27 } | 29 } |
28 | 30 |
29 file {'/var/www/update/adblockplusie': | 31 $update_manifest_dirs = ["${update_dir}/adblockplus", |
32 "${update_dir}/adblockplusandroid", | |
33 "${update_dir}/adblockplussafari"] | |
34 | |
35 file {$update_manifest_dirs: | |
30 ensure => directory, | 36 ensure => directory, |
31 mode => 0755 | 37 mode => 0755 |
32 } | 38 } |
33 | 39 |
34 file {'/var/www/update/adblockplusie/update.json': | 40 file {"${update_dir}/adblockplusie": |
41 ensure => directory, | |
42 mode => 0755 | |
43 } | |
44 | |
45 file {"${update_dir}/adblockplusie/update.json": | |
35 ensure => file, | 46 ensure => file, |
36 source => 'puppet:///modules/updateserver/adblockplusie/update.json', | 47 source => 'puppet:///modules/updateserver/adblockplusie/update.json', |
37 mode => 0644 | 48 mode => 0644 |
38 } | 49 } |
39 | 50 |
40 nginx::hostconfig{$domain: | 51 nginx::hostconfig{$domain: |
41 source => 'puppet:///modules/updateserver/site.conf', | 52 source => 'puppet:///modules/updateserver/site.conf', |
42 is_default => $is_default, | 53 is_default => $is_default, |
43 certificate => $certificate, | 54 certificate => $certificate, |
44 private_key => $private_key, | 55 private_key => $private_key, |
45 log => 'access_log_update' | 56 log => 'access_log_update' |
46 } | 57 } |
58 | |
59 class {'sitescripts': | |
60 sitescriptsini_source => 'puppet:///modules/updateserver/sitescripts' | |
61 } | |
62 | |
63 $base_dir = '/var/lib/adblockplus' | |
64 | |
65 file {$base_dir: | |
66 ensure => directory, | |
67 mode => 0755 | |
68 } | |
69 | |
70 $safari_certificate_path = "${base_dir}/adblockplussafari.pem" | |
71 | |
72 file {$safari_certificate_path: | |
73 source => 'puppet:///modules/private/adblockplussafari.pem' | |
74 } | |
75 | |
76 $repositories_to_sync = ['downloads', 'adblockplus', 'adblockplusandroid', | |
77 'adblockpluschrome', 'elemhidehelper', 'abpwatcher', | |
78 'abpcustomization', 'urlfixer'] | |
79 | |
80 define fetch_repository() { | |
81 $repository_path = "${updateserver::base_dir}/${title}" | |
82 exec {"fetch_repository_${title}": | |
83 command => "hg clone https://hg.adblockplus.org/${title} ${repository_path }", | |
84 path => '/usr/bin', | |
85 timeout => 0, | |
86 onlyif => "test ! -d ${repository_path}", | |
87 require => [Package['mercurial'], File[$updateserver::base_dir]] | |
88 } | |
89 } | |
90 | |
91 fetch_repository {$repositories_to_sync: } | |
92 | |
93 $update_update_manifests_script = '/usr/local/bin/update_update_manifests' | |
94 | |
95 file {$update_update_manifests_script: | |
96 mode => '0755', | |
97 content => template('updateserver/update_update_manifests.erb') | |
98 } | |
99 | |
100 $update_update_manifests_dependencies = ['python-m2crypto', 'python-jinja2'] | |
101 | |
102 package {$update_update_manifests_dependencies:} | |
103 | |
104 exec {'update_update_manifests': | |
105 command => $update_update_manifests_script, | |
106 timeout => 0, | |
107 require => [Exec['fetch_sitescripts'], | |
108 Fetch_repository[$repositories_to_sync], | |
109 File[$update_update_manifests_script], | |
110 File[$update_manifest_dirs], File[$safari_certificate_path], | |
111 Package[$update_update_manifests_dependencies]] | |
112 } | |
113 | |
114 cron {'update_update_manifests': | |
115 ensure => present, | |
116 environment => ['MAILTO=admins@adblockplus.org'], | |
117 command => $update_update_manifests_script, | |
Wladimir Palant
2014/07/25 09:50:11
I'd rather not have anything from sitescripts run
Felix Dahlke
2014/07/25 10:31:15
I actually started out having a dedicated user for
Wladimir Palant
2014/07/25 11:11:02
The reason is that we have less reason to worry ab
Felix Dahlke
2014/07/25 14:17:56
Done.
| |
118 minute => '*/10', | |
119 require => Exec['update_update_manifests'] | |
120 } | |
47 } | 121 } |
OLD | NEW |