Skip to content

Commit

Permalink
Merge pull request #11 from elmerfud/master
Browse files Browse the repository at this point in the history
Additional Options
jarshwah committed Apr 13, 2015
2 parents 746a5c5 + 8a17087 commit 61da9b7
Showing 4 changed files with 77 additions and 43 deletions.
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -223,3 +223,31 @@ uwsgi::app:
module: 'mysite.wsgi:application'
socket: '/tmp/uwsgi_django2.sock'
```

Example using hiera to use Debian Jessie APT packages & default file locations

```yaml
---
classes:
- uwsgi
uwsgi::package_name:
- 'uwsgi-emperor'
- 'uwsgi-plugins-all'
uwsgi::package_provider: 'apt'
uwsgi::service_name: 'uwsgi-emperor'
uwsgi::service_provider: 'debian'
uwsgi::manage_service_file: false
uwsgi::config_file: '/etc/uwsgi-emperor/emperor.ini'
uwsgi::log_dir: '/var/log/uwsgi/emperor.log'
uwsgi::app_directory: '/etc/uwsgi-emperor/vassals'
uwsgi::install_pip: false
uwsgi::install_python_dev: false
uwsgi::socket: undef
uwsgi::pidfile: '/run/uwsgi-emperor.pid'
uwsgi::emperor_options:
uid: 'www-data'
gid: 'www-data'
workers: '2'
no-orphans: 'true'
```

3 changes: 1 addition & 2 deletions manifests/app.pp
Original file line number Diff line number Diff line change
@@ -44,7 +44,6 @@
group => $gid,
mode => '0644',
content => template($template),
require => Package[$::uwsgi::package_name],
notify => Service[$::uwsgi::service_name]
require => Package[$::uwsgi::package_name]
}
}
85 changes: 44 additions & 41 deletions manifests/init.pp
Original file line number Diff line number Diff line change
@@ -103,6 +103,8 @@
$install_python_dev = $uwsgi::params::install_python_dev,
$python_pip = $uwsgi::params::python_pip,
$python_dev = $uwsgi::params::python_dev,
$pidfile = $uwsgi::params::pidfile,
$socket = $uwsgi::params::socket,
$emperor_options = undef
) inherits uwsgi::params {

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

if $service_file == undef {
$service_file_real = $service_provider ? {
redhat => '/etc/init.d/uwsgi',
upstart => '/etc/init/uwsgi.conf',
default => '/etc/init/uwsgi.conf',
}
} else {
$service_file_real = $service_file
}
if $manage_service_file == true {
if $service_file == undef {
$service_file_real = $service_provider ? {
redhat => '/etc/init.d/uwsgi',
upstart => '/etc/init/uwsgi.conf',
default => '/etc/init/uwsgi.conf',
}
} else {
$service_file_real = $service_file
}

if $service_file_mode == undef {
$service_file_mode_real = $service_provider ? {
redhat => '0555',
upstart => '0644',
default => '0644',
}
} else {
$service_file_mode_real = $service_file_mode
}
if $service_file_mode == undef {
$service_file_mode_real = $service_provider ? {
redhat => '0555',
upstart => '0644',
default => '0644',
}
} else {
$service_file_mode_real = $service_file_mode
}

if $service_template == undef {
$service_template_real = $service_provider ? {
redhat => 'uwsgi/uwsgi_service-redhat.erb',
upstart => 'uwsgi/uwsgi_upstart.conf.erb',
default => 'uwsgi/uwsgi_upstart.conf.erb',
}
} else {
$service_template_real = $service_template
}
if $service_template == undef {
$service_template_real = $service_provider ? {
redhat => 'uwsgi/uwsgi_service-redhat.erb',
upstart => 'uwsgi/uwsgi_upstart.conf.erb',
default => 'uwsgi/uwsgi_upstart.conf.erb',
}
} else {
$service_template_real = $service_template
}

file { $service_file_real:
ensure => $file_ensure,
owner => 'root',
group => 'root',
mode => $service_file_mode_real,
replace => $manage_service_file,
content => template($service_template_real),
require => Package[$package_name]
file { $service_file_real:
ensure => $file_ensure,
owner => 'root',
group => 'root',
mode => $service_file_mode_real,
replace => $manage_service_file,
content => template($service_template_real),
require => Package[$package_name]
}
$required_files = [ $config_file, $service_file_real ]
} else {
$required_files = $config_file
}

file { $app_directory:
@@ -197,13 +204,9 @@
provider => $service_provider,
require => [
Package[$package_name],
File[$config_file],
File[$service_file_real]
File[$required_files]
],
subscribe => [
File[$config_file],
File[$service_file_real]
]
subscribe => File[$required_files]
}

# finally, configure any applications necessary
4 changes: 4 additions & 0 deletions templates/uwsgi.ini.erb
Original file line number Diff line number Diff line change
@@ -4,14 +4,18 @@
# uWSGI main process configuration
#
[uwsgi]
<% if @socket -%>
socket = <%= @socket %>
<% end -%>
pidfile = <%= @pidfile %>
emperor = <%= @app_directory %>
emperor-tyrant = <%= @tyrant %>
master = true
autoload = true
log-date = true
<% if @log_file -%>
logto = <%= @log_file %>
<% end -%>
<%
if @emperor_options
@emperor_options.sort.each do |key, value|

0 comments on commit 61da9b7

Please sign in to comment.