Skip to content

Commit

Permalink
drop support for versions < 1.15.0
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMeier committed May 26, 2024
1 parent 7f3a8ae commit 751a315
Show file tree
Hide file tree
Showing 8 changed files with 8 additions and 63 deletions.
6 changes: 3 additions & 3 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,11 +277,11 @@ Data type: `String[1]`
The version of nginx installed (or being installed).
Unfortunately, different versions of nginx may need configuring
differently. The default is derived from the version of nginx
already installed. If the fact is unavailable, it defaults to '1.6.0'.
already installed. If the fact is unavailable, it defaults to '1.15.0'.
You may need to set this manually to get a working and idempotent
configuration.

Default value: `pick(fact('nginx_version'), '1.6.0')`
Default value: `pick(fact('nginx_version'), '1.15.0')`

##### <a name="-nginx--debug_connections"></a>`debug_connections`

Expand Down Expand Up @@ -3080,7 +3080,7 @@ Create a new mapping entry for NGINX
nginx::resource::map { 'backend_pool':
ensure => present,
hostnames => true,
default => 'ny-pool-1,
default => 'ny-pool-1',
string => '$http_host',
mappings => {
'*.nyc.example.com' => 'ny-pool-1',
Expand Down
4 changes: 2 additions & 2 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# The version of nginx installed (or being installed).
# Unfortunately, different versions of nginx may need configuring
# differently. The default is derived from the version of nginx
# already installed. If the fact is unavailable, it defaults to '1.6.0'.
# already installed. If the fact is unavailable, it defaults to '1.15.0'.
# You may need to set this manually to get a working and idempotent
# configuration.
#
Expand Down Expand Up @@ -240,7 +240,7 @@
Hash $nginx_upstreams = {},
Nginx::UpstreamDefaults $nginx_upstreams_defaults = {},
Boolean $purge_passenger_repo = true,
String[1] $nginx_version = pick(fact('nginx_version'), '1.6.0'),
String[1] $nginx_version = pick(fact('nginx_version'), '1.15.0'),

### END Hiera Lookups ###
) inherits nginx::params {
Expand Down
40 changes: 0 additions & 40 deletions spec/acceptance/nginx_mail_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -79,45 +79,5 @@ class { 'nginx':
describe port(465) do
it { is_expected.to be_listening }
end

context 'when configured for nginx 1.14' do
it 'runs successfully' do
pp = "
if fact('os.family') == 'RedHat' {
package { 'nginx-mod-mail':
ensure => installed,
}
}
class { 'nginx':
mail => true,
nginx_version => '1.14.0',
dynamic_modules => fact('os.family') ? {
'RedHat' => ['/usr/lib64/nginx/modules/ngx_mail_module.so'],
default => [],
}
}
nginx::resource::mailhost { 'domain1.example':
ensure => present,
auth_http => 'localhost/cgi-bin/auth',
protocol => 'smtp',
listen_port => 587,
ssl => true,
ssl_port => 465,
ssl_cert => '/etc/pki/tls/certs/blah.cert',
ssl_key => '/etc/pki/tls/private/blah.key',
xclient => 'off',
}
"

apply_manifest(pp, catch_failures: true)
end

describe file('/etc/nginx/conf.mail.d/domain1.example.conf') do
it 'does\'t contain `ssl` on `listen` line' do
is_expected.to contain 'listen *:465;'
end
end
end
end
end
4 changes: 2 additions & 2 deletions spec/defines/resource_mailhost_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
title: 'should set the IPv4 listen port',
attr: 'listen_port',
value: 45,
match: ' listen *:45;'
match: ' listen *:45 ssl;'
},
{
title: 'should set the IPv4 listen options',
Expand Down Expand Up @@ -548,7 +548,7 @@
title: 'should set the IPv4 SSL listen port',
attr: 'ssl_port',
value: 45,
match: ' listen *:45;'
match: ' listen *:45 ssl;'
},
{
title: 'should enable IPv6',
Expand Down
6 changes: 0 additions & 6 deletions spec/defines/resource_server_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -675,12 +675,6 @@
it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) }

Check failure on line 675 in spec/defines/resource_server_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 8 (Ruby 3.2)

nginx::resource::server on virtuozzolinux-7-x86_64 with Facter 3.14.5 and Puppet 8.6.0 os-independent items server_ssl_header template content with ssl without a value for the nginx_version fact do is expected to contain Concat::Fragment[www.rspec.example.com-ssl-header] with content =~ / ssl on;/ Failure/Error: it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) } expected that the catalogue would contain Concat::Fragment[www.rspec.example.com-ssl-header] with content set to / ssl on;/ but it is set to "# MANAGED BY PUPPET\nserver {\n listen *:443 ssl;\n listen [::]:443 ssl default ipv6only=on;\n\n\n server_name www.rspec.example.com;\n\n ssl_certificate /tmp/dummy.crt;\n ssl_certificate_key /tmp/dummy.key;\n\n index index.html index.htm index.php;\n access_log /var/log/nginx/ssl-www.rspec.example.com.access.log;\n error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;\n \n" Diff: @@ -1,15 +1,29 @@ -(?-mix: ssl on;) +# MANAGED BY PUPPET +server { + listen *:443 ssl; + listen [::]:443 ssl default ipv6only=on; + + + server_name www.rspec.example.com; + + ssl_certificate /tmp/dummy.crt; + ssl_certificate_key /tmp/dummy.key; + + index index.html index.htm index.php; + access_log /var/log/nginx/ssl-www.rspec.example.com.access.log; + error_log /var/log/nginx/ssl-www.rspec.example.com.error.log; +

Check failure on line 675 in spec/defines/resource_server_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 8 (Ruby 3.2)

nginx::resource::server on almalinux-8-x86_64 with Facter 4.2.14 and Puppet 8.6.0 os-independent items server_ssl_header template content with ssl without a value for the nginx_version fact do is expected to contain Concat::Fragment[www.rspec.example.com-ssl-header] with content =~ / ssl on;/ Failure/Error: it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) } expected that the catalogue would contain Concat::Fragment[www.rspec.example.com-ssl-header] with content set to / ssl on;/ but it is set to "# MANAGED BY PUPPET\nserver {\n listen *:443 ssl;\n listen [::]:443 ssl default ipv6only=on;\n\n\n server_name www.rspec.example.com;\n\n ssl_certificate /tmp/dummy.crt;\n ssl_certificate_key /tmp/dummy.key;\n\n index index.html index.htm index.php;\n access_log /var/log/nginx/ssl-www.rspec.example.com.access.log;\n error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;\n \n" Diff: @@ -1,15 +1,29 @@ -(?-mix: ssl on;) +# MANAGED BY PUPPET +server { + listen *:443 ssl; + listen [::]:443 ssl default ipv6only=on; + + + server_name www.rspec.example.com; + + ssl_certificate /tmp/dummy.crt; + ssl_certificate_key /tmp/dummy.key; + + index index.html index.htm index.php; + access_log /var/log/nginx/ssl-www.rspec.example.com.access.log; + error_log /var/log/nginx/ssl-www.rspec.example.com.error.log; +

Check failure on line 675 in spec/defines/resource_server_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 8 (Ruby 3.2)

nginx::resource::server on almalinux-9-x86_64 with Facter 4.2.14 and Puppet 8.6.0 os-independent items server_ssl_header template content with ssl without a value for the nginx_version fact do is expected to contain Concat::Fragment[www.rspec.example.com-ssl-header] with content =~ / ssl on;/ Failure/Error: it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) } expected that the catalogue would contain Concat::Fragment[www.rspec.example.com-ssl-header] with content set to / ssl on;/ but it is set to "# MANAGED BY PUPPET\nserver {\n listen *:443 ssl;\n listen [::]:443 ssl default ipv6only=on;\n\n\n server_name www.rspec.example.com;\n\n ssl_certificate /tmp/dummy.crt;\n ssl_certificate_key /tmp/dummy.key;\n\n index index.html index.htm index.php;\n access_log /var/log/nginx/ssl-www.rspec.example.com.access.log;\n error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;\n \n" Diff: @@ -1,15 +1,29 @@ -(?-mix: ssl on;) +# MANAGED BY PUPPET +server { + listen *:443 ssl; + listen [::]:443 ssl default ipv6only=on; + + + server_name www.rspec.example.com; + + ssl_certificate /tmp/dummy.crt; + ssl_certificate_key /tmp/dummy.key; + + index index.html index.htm index.php; + access_log /var/log/nginx/ssl-www.rspec.example.com.access.log; + error_log /var/log/nginx/ssl-www.rspec.example.com.error.log; +

Check failure on line 675 in spec/defines/resource_server_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

nginx::resource::server on virtuozzolinux-7-x86_64 with Facter 3.14.5 and Puppet 7.30.0 os-independent items server_ssl_header template content with ssl without a value for the nginx_version fact do is expected to contain Concat::Fragment[www.rspec.example.com-ssl-header] with content =~ / ssl on;/ Failure/Error: it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) } expected that the catalogue would contain Concat::Fragment[www.rspec.example.com-ssl-header] with content set to / ssl on;/ but it is set to "# MANAGED BY PUPPET\nserver {\n listen *:443 ssl;\n listen [::]:443 ssl default ipv6only=on;\n\n\n server_name www.rspec.example.com;\n\n ssl_certificate /tmp/dummy.crt;\n ssl_certificate_key /tmp/dummy.key;\n\n index index.html index.htm index.php;\n access_log /var/log/nginx/ssl-www.rspec.example.com.access.log;\n error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;\n \n" Diff: @@ -1,15 +1,29 @@ -(?-mix: ssl on;) +# MANAGED BY PUPPET +server { + listen *:443 ssl; + listen [::]:443 ssl default ipv6only=on; + + + server_name www.rspec.example.com; + + ssl_certificate /tmp/dummy.crt; + ssl_certificate_key /tmp/dummy.key; + + index index.html index.htm index.php; + access_log /var/log/nginx/ssl-www.rspec.example.com.access.log; + error_log /var/log/nginx/ssl-www.rspec.example.com.error.log; +

Check failure on line 675 in spec/defines/resource_server_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

nginx::resource::server on almalinux-8-x86_64 with Facter 4.2.14 and Puppet 7.30.0 os-independent items server_ssl_header template content with ssl without a value for the nginx_version fact do is expected to contain Concat::Fragment[www.rspec.example.com-ssl-header] with content =~ / ssl on;/ Failure/Error: it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) } expected that the catalogue would contain Concat::Fragment[www.rspec.example.com-ssl-header] with content set to / ssl on;/ but it is set to "# MANAGED BY PUPPET\nserver {\n listen *:443 ssl;\n listen [::]:443 ssl default ipv6only=on;\n\n\n server_name www.rspec.example.com;\n\n ssl_certificate /tmp/dummy.crt;\n ssl_certificate_key /tmp/dummy.key;\n\n index index.html index.htm index.php;\n access_log /var/log/nginx/ssl-www.rspec.example.com.access.log;\n error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;\n \n" Diff: @@ -1,15 +1,29 @@ -(?-mix: ssl on;) +# MANAGED BY PUPPET +server { + listen *:443 ssl; + listen [::]:443 ssl default ipv6only=on; + + + server_name www.rspec.example.com; + + ssl_certificate /tmp/dummy.crt; + ssl_certificate_key /tmp/dummy.key; + + index index.html index.htm index.php; + access_log /var/log/nginx/ssl-www.rspec.example.com.access.log; + error_log /var/log/nginx/ssl-www.rspec.example.com.error.log; +

Check failure on line 675 in spec/defines/resource_server_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

nginx::resource::server on almalinux-9-x86_64 with Facter 4.2.14 and Puppet 7.30.0 os-independent items server_ssl_header template content with ssl without a value for the nginx_version fact do is expected to contain Concat::Fragment[www.rspec.example.com-ssl-header] with content =~ / ssl on;/ Failure/Error: it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) } expected that the catalogue would contain Concat::Fragment[www.rspec.example.com-ssl-header] with content set to / ssl on;/ but it is set to "# MANAGED BY PUPPET\nserver {\n listen *:443 ssl;\n listen [::]:443 ssl default ipv6only=on;\n\n\n server_name www.rspec.example.com;\n\n ssl_certificate /tmp/dummy.crt;\n ssl_certificate_key /tmp/dummy.key;\n\n index index.html index.htm index.php;\n access_log /var/log/nginx/ssl-www.rspec.example.com.access.log;\n error_log /var/log/nginx/ssl-www.rspec.example.com.error.log;\n \n" Diff: @@ -1,15 +1,29 @@ -(?-mix: ssl on;) +# MANAGED BY PUPPET +server { + listen *:443 ssl; + listen [::]:443 ssl default ipv6only=on; + + + server_name www.rspec.example.com; + + ssl_certificate /tmp/dummy.crt; + ssl_certificate_key /tmp/dummy.key; + + index index.html index.htm index.php; + access_log /var/log/nginx/ssl-www.rspec.example.com.access.log; + error_log /var/log/nginx/ssl-www.rspec.example.com.error.log; +
end

context 'with fact nginx_version=1.14.1' do
let(:facts) { facts.merge(nginx_version: '1.14.1') }

it { is_expected.to contain_concat__fragment("#{title}-ssl-header").with_content(%r{ ssl on;}) }
end

context 'with fact nginx_version=1.15.1' do
let(:facts) { facts.merge(nginx_version: '1.15.1') }

Expand Down
3 changes: 0 additions & 3 deletions templates/mailhost/mailhost.epp
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ server {
<%- } -%>
<%= $mailhost_common -%>

<%- if versioncmp($nginx_version, '1.15.0') < 0 { -%>
ssl off;
<% } %>
starttls <%= $starttls %>;

<% if $starttls != 'off' { %>
Expand Down
5 changes: 1 addition & 4 deletions templates/mailhost/mailhost_ssl.epp
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,13 @@
server {
<%= $mailhost_prepend -%>
<%- $listen_ip.each |$ip| { -%>
listen <%= $ip %>:<%= $ssl_port %><% if versioncmp($nginx_version, '1.15.0') >= 0 { %> ssl<% } %>;
listen <%= $ip %>:<%= $ssl_port %> ssl;
<%- } -%>
<%- $ipv6_listen_ip.each |$ipv6| { -%>
listen [<%= $ipv6 %>]:<%= $ssl_port %> <% if $ipv6_listen_options { %><%= $ipv6_listen_options %><% } %>;
<%- } -%>
<%= $mailhost_common -%>

<%- if versioncmp($nginx_version, '1.15.0') < 0 { -%>
ssl on;
<% } %>
starttls off;

<%= $mailhost_ssl_settings -%>
Expand Down
3 changes: 0 additions & 3 deletions templates/server/server_ssl_settings.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
<% if scope.call_function('versioncmp', [scope['nginx::nginx_version'], '1.15.0']) < 0 -%>
ssl on;
<% end -%>
<% if scope.call_function('versioncmp', [scope['nginx::nginx_version'], '1.25.1']) >= 0 && @http2 -%>
http2 <%= @http2 %>;
<% end -%>
Expand Down

0 comments on commit 751a315

Please sign in to comment.