Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: modules/nginx/manifests/init.pp

Issue 29321355: Issue 2600 - Normalize ownership and priviliges for Nginx logs (Closed)
Patch Set: Patch-set adressing latest remarks Created July 13, 2015, 12:55 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 = ['find', '/var/log/nginx', '-mindepth', '1', '-maxdepth', '1' , '-type', 'f']
129
130 #kill the find process to force an exit status != 0 by finding the parent pid of the exec's sh process
131 $find_kill_exec = ['-exec', 'sh', '-c', 'ps -p $$ -o ppid= | xargs kill -TERM' , ';']
132
133 $find_chown_base = [$find_cmd_base, '-not', '(', '-user', $nginx::params::user , '-and', '-group', 'adm', ')']
134 $find_chown_exec = ['-ls', '-exec', 'chown', "${nginx::params::user}.adm", '{} ', ';']
135
136 exec {"set_logfiles_owner":
137 command => shellquote($find_chown_base, $find_chown_exec),
138 unless => shellquote($find_chown_base, $find_kill_exec),
139 subscribe => Service['nginx'],
140 }
141
142 $find_chmod_base = [$find_cmd_base, '-not', '-perm', '0640']
143 $find_chmod_exec = ['-ls', '-exec', 'chmod', '0640', '{}', ';']
144
145 exec {"set_logfiles_permissions":
146 command => shellquote($find_chmod_base, $find_chmod_exec),
147 unless => shellquote($find_chmod_base, $find_kill_exec),
148 subscribe => Service['nginx'],
149 }
150
122 service {'nginx': 151 service {'nginx':
123 ensure => running, 152 ensure => running,
124 enable => true, 153 enable => true,
125 restart => '/etc/init.d/nginx reload', 154 restart => '/etc/init.d/nginx reload',
126 hasstatus => true, 155 hasstatus => true,
127 require => File['/etc/nginx/nginx.conf'] 156 require => File['/etc/nginx/nginx.conf']
128 } 157 }
129 } 158 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld