module-nginx/manifests/service.pp
Sander Hoentjen 4d05075f64 add support for mail module
See http://wiki.nginx.org/Modules#Mail_modules

Sample Usage:

 nginx::resource::mailhost { 'domain1.example':
   ensure      => present,
   auth_http   => 'server2.example/cgi-bin/auth',
   protocol    => 'smtp',
   listen_port => 587,
   ssl_port    => 465,
   starttls    => 'only',
   xclient     => 'off',
   ssl         => 'true',
   ssl_cert    => '/tmp/server.crt',
   ssl_key     => '/tmp/server.pem',
 }
2013-04-06 11:11:23 +02:00

44 lines
1.4 KiB
Puppet

# Class: nginx::service
#
# This module manages NGINX service management and vhost rebuild
#
# Parameters:
#
# There are no default parameters for this class.
#
# Actions:
#
# Requires:
#
# Sample Usage:
#
# This class file is not called directly
class nginx::service(
$configtest_enable = $nginx::params::nx_configtest_enable,
$service_restart = $nginx::params::nx_service_restart
) {
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"],
}
exec { 'rebuild-nginx-mailhosts':
command => "/bin/cat ${nginx::params::nx_temp_dir}/nginx.mail.d/* > ${nginx::params::nx_conf_dir}/conf.mail.d/vhost_autogen.conf",
refreshonly => true,
unless => "/usr/bin/test ! -f ${nginx::params::nx_temp_dir}/nginx.mail.d/*",
subscribe => File["${nginx::params::nx_temp_dir}/nginx.mail.d"],
}
service { "nginx":
ensure => running,
enable => true,
hasstatus => true,
hasrestart => true,
subscribe => Exec['rebuild-nginx-vhosts', 'rebuild-nginx-mailhosts'],
}
if $configtest_enable == true {
Service["nginx"] {
restart => $service_restart,
}
}
}