OLD | NEW |
1 class nginx ( | 1 class nginx ( |
2 $worker_processes = $nginx::params::worker_processes, | 2 $worker_processes = $nginx::params::worker_processes, |
3 $worker_connections = $nginx::params::worker_connections, | 3 $worker_connections = $nginx::params::worker_connections, |
4 $ssl_session_cache = $nginx::params::ssl_session_cache | 4 $ssl_session_cache = $nginx::params::ssl_session_cache |
5 ) inherits nginx::params { | 5 ) inherits nginx::params { |
6 | 6 |
7 apt::source {'nginx': | 7 apt::source {'nginx': |
8 location => "http://nginx.org/packages/ubuntu", | 8 location => "http://nginx.org/packages/ubuntu", |
9 repos => "nginx", | 9 repos => "nginx", |
10 key => "7BD9BF62", | 10 key => "7BD9BF62", |
(...skipping 10 matching lines...) Expand all Loading... |
21 ensure => '1.8.0-1~precise', | 21 ensure => '1.8.0-1~precise', |
22 require => Apt::Source['nginx'] | 22 require => Apt::Source['nginx'] |
23 } | 23 } |
24 | 24 |
25 File { | 25 File { |
26 owner => root, | 26 owner => root, |
27 group => root, | 27 group => root, |
28 mode => 0644, | 28 mode => 0644, |
29 } | 29 } |
30 | 30 |
| 31 Exec { |
| 32 path => '/usr/bin:/bin', |
| 33 logoutput => 'on_failure', |
| 34 } |
| 35 |
| 36 |
31 file {'/etc/nginx/nginx.conf': | 37 file {'/etc/nginx/nginx.conf': |
32 content => template('nginx/nginx.conf.erb'), | 38 content => template('nginx/nginx.conf.erb'), |
33 require => Package['nginx'], | 39 require => Package['nginx'], |
34 notify => Service['nginx'] | 40 notify => Service['nginx'] |
35 } | 41 } |
36 | 42 |
37 file {'/etc/nginx/sites-available': | 43 file {'/etc/nginx/sites-available': |
38 ensure => directory, | 44 ensure => directory, |
39 require => Package['nginx'] | 45 require => Package['nginx'] |
40 } | 46 } |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 require => File["/etc/nginx/sites-available/${domain}"], | 118 require => File["/etc/nginx/sites-available/${domain}"], |
113 content => template('nginx/logrotate.erb') | 119 content => template('nginx/logrotate.erb') |
114 } | 120 } |
115 } | 121 } |
116 | 122 |
117 file {'/etc/logrotate.d/nginx': | 123 file {'/etc/logrotate.d/nginx': |
118 source => 'puppet:///modules/nginx/logrotate', | 124 source => 'puppet:///modules/nginx/logrotate', |
119 require => Package['nginx'] | 125 require => Package['nginx'] |
120 } | 126 } |
121 | 127 |
| 128 $find_cmd_base = [ |
| 129 'find', '/var/log/nginx', |
| 130 '-mindepth', '1', '-maxdepth', '1', '-type', 'f', |
| 131 ] |
| 132 |
| 133 # Kill the find process to force an exit status != 0 by finding the parent pid |
| 134 # of the exec's sh process |
| 135 $find_kill_exec = [ |
| 136 '-exec', 'sh', '-c', |
| 137 'ps -p $$ -o ppid= | xargs kill -TERM', |
| 138 ';', |
| 139 ] |
| 140 |
| 141 $find_chown_base = [ |
| 142 $find_cmd_base, |
| 143 '-not', '(', '-user', $nginx::params::user, '-and', '-group', 'adm', ')', |
| 144 ] |
| 145 $find_chown_exec = [ |
| 146 '-ls', '-exec', 'chown', |
| 147 "${nginx::params::user}.adm", '{}', ';', |
| 148 ] |
| 149 |
| 150 exec {"set_logfiles_owner": |
| 151 command => shellquote($find_chown_base, $find_chown_exec), |
| 152 unless => shellquote($find_chown_base, $find_kill_exec), |
| 153 subscribe => Service['nginx'], |
| 154 } |
| 155 |
| 156 $find_chmod_base = [$find_cmd_base, '-not', '-perm', '0640'] |
| 157 $find_chmod_exec = ['-ls', '-exec', 'chmod', '0640', '{}', ';'] |
| 158 |
| 159 exec {"set_logfiles_permissions": |
| 160 command => shellquote($find_chmod_base, $find_chmod_exec), |
| 161 unless => shellquote($find_chmod_base, $find_kill_exec), |
| 162 subscribe => Service['nginx'], |
| 163 } |
| 164 |
122 service {'nginx': | 165 service {'nginx': |
123 ensure => running, | 166 ensure => running, |
124 enable => true, | 167 enable => true, |
125 restart => '/etc/init.d/nginx reload', | 168 restart => '/etc/init.d/nginx reload', |
126 hasstatus => true, | 169 hasstatus => true, |
127 require => File['/etc/nginx/nginx.conf'] | 170 require => File['/etc/nginx/nginx.conf'] |
128 } | 171 } |
129 } | 172 } |
OLD | NEW |