diff --git a/manifests/config.pp b/manifests/config.pp index c6135fdb0..e69a9ccc5 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -13,7 +13,12 @@ # Sample Usage: # # This class file is not called directly -class nginx::config inherits nginx::params { +class nginx::config( + $worker_processes = $nginx::params::nx_worker_processes, + $worker_connections = $nginx::params::nx_worker_connections, + $proxy_set_header = $nginx::params::nx_proxy_set_header, + $confd_purge = $nginx::params::nx_confd_purge, +) inherits nginx::params { File { owner => 'root', group => 'root', @@ -27,6 +32,14 @@ file { "${nginx::params::nx_conf_dir}/conf.d": ensure => directory, } + if $confd_purge == true { + File["${nginx::params::nx_conf_dir}/conf.d"] { + ignore => "vhost_autogen.conf", + purge => true, + recurse => true, + } + } + file { "${nginx::config::nx_run_dir}": ensure => directory, diff --git a/manifests/init.pp b/manifests/init.pp index ad3afbbaa..97ada029f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -28,7 +28,12 @@ # node default { # include nginx # } -class nginx { +class nginx ( + $worker_processes = $nginx::params::nx_worker_processes, + $worker_connections = $nginx::params::nx_worker_connections, + $proxy_set_header = $nginx::params::nx_proxy_set_header, + $confd_purge = $nginx::params::nx_confd_purge, +) inherits nginx::params { include stdlib @@ -37,8 +42,12 @@ } class { 'nginx::config': - require => Class['nginx::package'], - notify => Class['nginx::service'], + worker_processes => $worker_processes, + worker_connections => $worker_connections, + proxy_set_header => $proxy_set_header, + confd_purge => $confd_purge, + require => Class['nginx::package'], + notify => Class['nginx::service'], } class { 'nginx::service': } diff --git a/manifests/params.pp b/manifests/params.pp index b5c3a6ae2..00a7f81a2 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -18,6 +18,7 @@ $nx_run_dir = '/var/nginx' $nx_conf_dir = '/etc/nginx' + $nx_confd_purge = false $nx_worker_processes = 1 $nx_worker_connections = 1024 $nx_multi_accept = off diff --git a/manifests/service.pp b/manifests/service.pp index 6d78a00a3..66dfe02fa 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -17,6 +17,7 @@ exec { 'rebuild-nginx-vhosts': command => "/bin/cat ${nginx::params::nx_temp_dir}/nginx.d/* > ${nginx::params::nx_conf_dir}/conf.d/vhost_autogen.conf", refreshonly => true, + unless => "/usr/bin/test ! -f ${nginx::params::nx_temp_dir}/nginx.d/*", subscribe => File["${nginx::params::nx_temp_dir}/nginx.d"], } service { "nginx": diff --git a/templates/conf.d/nginx.conf.erb b/templates/conf.d/nginx.conf.erb index 0cc1fbf36..42d254c80 100644 --- a/templates/conf.d/nginx.conf.erb +++ b/templates/conf.d/nginx.conf.erb @@ -1,11 +1,11 @@ user <%= scope.lookupvar('nginx::config::nx_daemon_user') %>; -worker_processes <%= scope.lookupvar('nginx::params::nx_worker_processes')%>; +worker_processes <%= worker_processes %>; error_log <%= scope.lookupvar('nginx::params::nx_logdir')%>/error.log; pid <%= scope.lookupvar('nginx::params::nx_pid')%>; events { - worker_connections <%= scope.lookupvar('nginx::params::nx_worker_connections') %>; + worker_connections <%= worker_connections %>; <% if scope.lookupvar('nginx::params::nx_multi_accept') == 'on' %>multi_accept on;<% end %> } diff --git a/templates/conf.d/proxy.conf.erb b/templates/conf.d/proxy.conf.erb index 677e2d30a..b05d71d0c 100644 --- a/templates/conf.d/proxy.conf.erb +++ b/templates/conf.d/proxy.conf.erb @@ -5,6 +5,6 @@ proxy_connect_timeout <%= scope.lookupvar('nginx::params::nx_proxy_connect_tim proxy_send_timeout <%= scope.lookupvar('nginx::params::nx_proxy_send_timeout') %>; proxy_read_timeout <%= scope.lookupvar('nginx::params::nx_proxy_read_timeout') %>; proxy_buffers <%= scope.lookupvar('nginx::params::nx_proxy_buffers') %>; -<% scope.lookupvar('nginx::params::nx_proxy_set_header').each do |header| %> +<% proxy_set_header.each do |header| %> proxy_set_header <%= header %>; <% end %>