Skip to content

Commit 61da9b7

Browse files
committed
Merge pull request #11 from elmerfud/master
Additional Options
2 parents 746a5c5 + 8a17087 commit 61da9b7

4 files changed

Lines changed: 77 additions & 43 deletions

File tree

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,31 @@ uwsgi::app:
223223
module: 'mysite.wsgi:application'
224224
socket: '/tmp/uwsgi_django2.sock'
225225
```
226+
227+
Example using hiera to use Debian Jessie APT packages & default file locations
228+
229+
```yaml
230+
---
231+
classes:
232+
- uwsgi
233+
uwsgi::package_name:
234+
- 'uwsgi-emperor'
235+
- 'uwsgi-plugins-all'
236+
uwsgi::package_provider: 'apt'
237+
uwsgi::service_name: 'uwsgi-emperor'
238+
uwsgi::service_provider: 'debian'
239+
uwsgi::manage_service_file: false
240+
uwsgi::config_file: '/etc/uwsgi-emperor/emperor.ini'
241+
uwsgi::log_dir: '/var/log/uwsgi/emperor.log'
242+
uwsgi::app_directory: '/etc/uwsgi-emperor/vassals'
243+
uwsgi::install_pip: false
244+
uwsgi::install_python_dev: false
245+
uwsgi::socket: undef
246+
uwsgi::pidfile: '/run/uwsgi-emperor.pid'
247+
uwsgi::emperor_options:
248+
uid: 'www-data'
249+
gid: 'www-data'
250+
workers: '2'
251+
no-orphans: 'true'
252+
```
253+

manifests/app.pp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
group => $gid,
4545
mode => '0644',
4646
content => template($template),
47-
require => Package[$::uwsgi::package_name],
48-
notify => Service[$::uwsgi::service_name]
47+
require => Package[$::uwsgi::package_name]
4948
}
5049
}

manifests/init.pp

Lines changed: 44 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@
103103
$install_python_dev = $uwsgi::params::install_python_dev,
104104
$python_pip = $uwsgi::params::python_pip,
105105
$python_dev = $uwsgi::params::python_dev,
106+
$pidfile = $uwsgi::params::pidfile,
107+
$socket = $uwsgi::params::socket,
106108
$emperor_options = undef
107109
) inherits uwsgi::params {
108110

@@ -141,44 +143,49 @@
141143
require => Package[$package_name]
142144
}
143145

144-
if $service_file == undef {
145-
$service_file_real = $service_provider ? {
146-
redhat => '/etc/init.d/uwsgi',
147-
upstart => '/etc/init/uwsgi.conf',
148-
default => '/etc/init/uwsgi.conf',
149-
}
150-
} else {
151-
$service_file_real = $service_file
152-
}
146+
if $manage_service_file == true {
147+
if $service_file == undef {
148+
$service_file_real = $service_provider ? {
149+
redhat => '/etc/init.d/uwsgi',
150+
upstart => '/etc/init/uwsgi.conf',
151+
default => '/etc/init/uwsgi.conf',
152+
}
153+
} else {
154+
$service_file_real = $service_file
155+
}
153156

154-
if $service_file_mode == undef {
155-
$service_file_mode_real = $service_provider ? {
156-
redhat => '0555',
157-
upstart => '0644',
158-
default => '0644',
159-
}
160-
} else {
161-
$service_file_mode_real = $service_file_mode
162-
}
157+
if $service_file_mode == undef {
158+
$service_file_mode_real = $service_provider ? {
159+
redhat => '0555',
160+
upstart => '0644',
161+
default => '0644',
162+
}
163+
} else {
164+
$service_file_mode_real = $service_file_mode
165+
}
163166

164-
if $service_template == undef {
165-
$service_template_real = $service_provider ? {
166-
redhat => 'uwsgi/uwsgi_service-redhat.erb',
167-
upstart => 'uwsgi/uwsgi_upstart.conf.erb',
168-
default => 'uwsgi/uwsgi_upstart.conf.erb',
169-
}
170-
} else {
171-
$service_template_real = $service_template
172-
}
167+
if $service_template == undef {
168+
$service_template_real = $service_provider ? {
169+
redhat => 'uwsgi/uwsgi_service-redhat.erb',
170+
upstart => 'uwsgi/uwsgi_upstart.conf.erb',
171+
default => 'uwsgi/uwsgi_upstart.conf.erb',
172+
}
173+
} else {
174+
$service_template_real = $service_template
175+
}
173176

174-
file { $service_file_real:
175-
ensure => $file_ensure,
176-
owner => 'root',
177-
group => 'root',
178-
mode => $service_file_mode_real,
179-
replace => $manage_service_file,
180-
content => template($service_template_real),
181-
require => Package[$package_name]
177+
file { $service_file_real:
178+
ensure => $file_ensure,
179+
owner => 'root',
180+
group => 'root',
181+
mode => $service_file_mode_real,
182+
replace => $manage_service_file,
183+
content => template($service_template_real),
184+
require => Package[$package_name]
185+
}
186+
$required_files = [ $config_file, $service_file_real ]
187+
} else {
188+
$required_files = $config_file
182189
}
183190

184191
file { $app_directory:
@@ -197,13 +204,9 @@
197204
provider => $service_provider,
198205
require => [
199206
Package[$package_name],
200-
File[$config_file],
201-
File[$service_file_real]
207+
File[$required_files]
202208
],
203-
subscribe => [
204-
File[$config_file],
205-
File[$service_file_real]
206-
]
209+
subscribe => File[$required_files]
207210
}
208211

209212
# finally, configure any applications necessary

templates/uwsgi.ini.erb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@
44
# uWSGI main process configuration
55
#
66
[uwsgi]
7+
<% if @socket -%>
78
socket = <%= @socket %>
9+
<% end -%>
810
pidfile = <%= @pidfile %>
911
emperor = <%= @app_directory %>
1012
emperor-tyrant = <%= @tyrant %>
1113
master = true
1214
autoload = true
1315
log-date = true
16+
<% if @log_file -%>
1417
logto = <%= @log_file %>
18+
<% end -%>
1519
<%
1620
if @emperor_options
1721
@emperor_options.sort.each do |key, value|

0 commit comments

Comments
 (0)