Index: modules/nginx/manifests/init.pp |
=================================================================== |
--- a/modules/nginx/manifests/init.pp |
+++ b/modules/nginx/manifests/init.pp |
@@ -1,7 +1,8 @@ |
class nginx ( |
$worker_processes = $nginx::params::worker_processes, |
$worker_connections = $nginx::params::worker_connections, |
- $ssl_session_cache = $nginx::params::ssl_session_cache |
+ $ssl_session_cache = $nginx::params::ssl_session_cache, |
+ $fragment_directory = "/etc/nginx/fragments", |
) inherits nginx::params { |
apt::source {'nginx': |
@@ -44,6 +45,24 @@ |
require => Package['nginx'] |
} |
+ file {$fragment_directory: |
+ ensure => directory, |
+ require => Package['nginx'], |
+ } |
+ |
+ define hostconfig-fragment ( |
+ $domain, |
+ $content = undef, |
+ $ensure = 'present') { |
+ |
+ file {"${$nginx::fragment_directory}/${domain}/${name}.conf": |
+ content => $content, |
+ ensure => $ensure, |
+ require => File["${nginx::fragment_directory}/${domain}"], |
+ notify => Service['nginx'], |
+ } |
+ } |
+ |
define hostconfig ( |
$domain = $title, |
$alt_names = [], |
@@ -55,6 +74,12 @@ |
$certificate = undef, |
$private_key = undef, |
$enabled = true) { |
+ |
+ file {"${nginx::fragment_directory}/${domain}": |
+ ensure => directory, |
+ require => File[$nginx::fragment_directory], |
+ } |
+ |
file {"/etc/nginx/sites-available/${domain}": |
ensure => file, |
content => template('nginx/site.erb'), |