diff --git a/manifests/resource/server.pp b/manifests/resource/server.pp index 7770ff630..5b2a10625 100755 --- a/manifests/resource/server.pp +++ b/manifests/resource/server.pp @@ -105,6 +105,10 @@ # directives). NOTE: YOU are responsible for a semicolon on each line that requires one. # [*raw_append*] - A single string, or an array of strings to append to the server directive (after cfg append # directives). NOTE: YOU are responsible for a semicolon on each line that requires one. +# [*raw_ssl_prepend*] - A single string, or an array of strings to prepend to the server ssl directive (after cfg prepend +# directives). NOTE: YOU are responsible for a semicolon on each line that requires one. +# [*raw_ssl_append*] - A single string, or an array of strings to append to the server ssl directive (after cfg append +# directives). NOTE: YOU are responsible for a semicolon on each line that requires one. # [*location_raw_prepend*] - A single string, or an array of strings to prepend to the location directive (after custom_cfg # directives). NOTE: YOU are responsible for a semicolon on each line that requires one. # [*location_raw_append*] - A single string, or an array of strings to append to the location directive (after custom_cfg @@ -222,7 +226,8 @@ String $fastcgi_params = "${nginx::conf_dir}/fastcgi.conf", Optional[String] $fastcgi_script = undef, Optional[String] $uwsgi = undef, - String $uwsgi_params = "${nginx::config::conf_dir}/uwsgi_params", + String $uwsgi_params = "${nginx::config::conf_dir} + /uwsgi_params", Optional[String] $uwsgi_read_timeout = undef, Array $index_files = [ 'index.html', @@ -251,6 +256,8 @@ $client_max_body_size = undef, Optional[Variant[Array[String], String]] $raw_prepend = undef, Optional[Variant[Array[String], String]] $raw_append = undef, + Optional[Variant[Array[String], String]] $raw_ssl_prepend = undef, + Optional[Variant[Array[String], String]] $raw_ssl_append = undef, Optional[Variant[Array[String], String]] $location_raw_prepend = undef, Optional[Variant[Array[String], String]] $location_raw_append = undef, Optional[Hash] $server_cfg_prepend = undef, @@ -282,7 +289,7 @@ Hash $locations_defaults = {}, ) { - if ! defined(Class['nginx']) { + if !defined(Class['nginx']) { fail('You must include the nginx base class before using any defined resources') } @@ -365,7 +372,7 @@ # ssl redirect and no ssl -> false if (!$ssl_redirect or $ssl) and $use_default_location { # Create the default location reference for the server - nginx::resource::location {"${name_sanitized}-default": + nginx::resource::location { "${name_sanitized}-default": ensure => $ensure, server => $name_sanitized, ssl => $ssl, @@ -476,7 +483,7 @@ } unless $nginx::confd_only { - file{ "${name_sanitized}.conf symlink": + file { "${name_sanitized}.conf symlink": ensure => $server_symlink_ensure, path => "${server_enable_dir}/${name_sanitized}.conf", target => $config_file, diff --git a/spec/defines/resource_server_spec.rb b/spec/defines/resource_server_spec.rb index 6a866ba35..f404caeb8 100644 --- a/spec/defines/resource_server_spec.rb +++ b/spec/defines/resource_server_spec.rb @@ -965,6 +965,16 @@ ], match: %r{^\s+if \(a\) \{\n\s++b;\n\s+\}} }, + { + title: 'should contain raw_ssl_prepend directives', + attr: 'raw_ssl_prepend', + value: [ + 'if (a) {', + ' b;', + '}' + ], + match: %r{^\s+if \(a\) \{\n\s++b;\n\s+\}} + }, { title: 'should contain ordered prepend directives', attr: 'server_cfg_prepend', @@ -1091,6 +1101,16 @@ ], match: %r{^\s+if \(a\) \{\n\s++b;\n\s+\}} }, + { + title: 'should contain raw_ssl_append directives', + attr: 'raw_ssl_append', + value: [ + 'if (a) {', + ' b;', + '}' + ], + match: %r{^\s+if \(a\) \{\n\s++b;\n\s+\}} + }, { title: 'should contain ordered ssl appended directives', attr: 'server_cfg_ssl_append', diff --git a/templates/server/server_ssl_footer.erb b/templates/server/server_ssl_footer.erb index 343d0e8a0..13bccd9ea 100644 --- a/templates/server/server_ssl_footer.erb +++ b/templates/server/server_ssl_footer.erb @@ -36,4 +36,7 @@ <% Array(@raw_append).each do |line| -%> <%= line %> <% end -%> +<% Array(@raw_ssl_append).each do |line| -%> + <%= line %> +<% end -%> } diff --git a/templates/server/server_ssl_header.erb b/templates/server/server_ssl_header.erb index 0515413e3..8b85f12d0 100644 --- a/templates/server/server_ssl_header.erb +++ b/templates/server/server_ssl_header.erb @@ -154,6 +154,9 @@ server { <% Array(@raw_prepend).each do |line| -%> <%= line %> <% end -%> +<% Array(@raw_ssl_prepend).each do |line| -%> + <%= line %> +<% end -%> <% if @root -%> root <%= @root %>; <% end -%>