diff options
-rw-r--r-- | manifests/site.pp | 61 | ||||
-rw-r--r-- | manifests/site/config.pp | 51 |
2 files changed, 65 insertions, 47 deletions
diff --git a/manifests/site.pp b/manifests/site.pp index 543850c..448592d 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -1,60 +1,27 @@ define nginx::site( $ensure = present, + $ssl = present, $source = 'file', $certbot = true ) { - case $source { - 'file': { - file { "/etc/nginx/sites-available/$name": - source => "puppet:///modules/site_nginx/$name", - owner => "root", - group => "root", - mode => 0644, - ensure => $ensure, - notify => Service["nginx"], - require => File["/etc/nginx/sites-available"], - } - } - 'template': { - file { "/etc/nginx/sites-available/$name": - content => template("nginx/$name.erb"), - owner => "root", - group => "root", - mode => 0644, - ensure => $ensure, - notify => Service["nginx"], - require => File["/etc/nginx/sites-available"], - } - } - 'none': { - file { "/etc/nginx/sites-available/$name": - owner => "root", - group => "root", - mode => 0644, - ensure => $ensure, - notify => Service["nginx"], - require => File["/etc/nginx/sites-available"], - } - } - } - - $link = $ensure ? { - present => "/etc/nginx/sites-available/$name", - default => absent, - } - - # Symlink to enable proxy configuration - file { "/etc/nginx/sites-enabled/$name": - ensure => $link, - require => File["/etc/nginx/sites-enabled"], - notify => Service["nginx"], + nginx::site::config { $name: + ensure => $ensure, + source => $source, } if $certbot == true { certbot::manage { $name: - ensure => $ensure, pre_hook => '/usr/sbin/service nginx restart', - require => File["/etc/nginx/sites-enabled/$name"], + require => Nginx::Site[$name], + } + } + + nginx::site::config { "${name}-ssl": + ensure => $ssl, + source => $source, + require => $certbot ? { + true => Certbot::Manage[$name], + default => undef, } } } diff --git a/manifests/site/config.pp b/manifests/site/config.pp new file mode 100644 index 0000000..991a70b --- /dev/null +++ b/manifests/site/config.pp @@ -0,0 +1,51 @@ +define nginx::site::config( + $ensure = present, + $source = 'file', +){ + case $source { + 'file': { + file { "/etc/nginx/sites-available/$name": + source => "puppet:///modules/site_nginx/$name", + owner => "root", + group => "root", + mode => 0644, + ensure => $ensure, + notify => Service["nginx"], + require => File["/etc/nginx/sites-available"], + } + } + 'template': { + file { "/etc/nginx/sites-available/$name": + content => template("nginx/$name.erb"), + owner => "root", + group => "root", + mode => 0644, + ensure => $ensure, + notify => Service["nginx"], + require => File["/etc/nginx/sites-available"], + } + } + 'none': { + file { "/etc/nginx/sites-available/$name": + owner => "root", + group => "root", + mode => 0644, + ensure => $ensure, + notify => Service["nginx"], + require => File["/etc/nginx/sites-available"], + } + } + } + + $link = $ensure ? { + present => "/etc/nginx/sites-available/$name", + default => absent, + } + + # Symlink to enable proxy configuration + file { "/etc/nginx/sites-enabled/$name": + ensure => $link, + require => File["/etc/nginx/sites-enabled"], + notify => Service["nginx"], + } +} |