Merge pull request #642 from jd-daniels/master

Allow better control of http level proxy directives
This commit is contained in:
Matthew Haughton 2015-06-15 11:11:11 -04:00
commit 110b8bbdbc
4 changed files with 85 additions and 93 deletions

View file

@ -258,8 +258,7 @@ class nginx::config(
}
file { "${conf_dir}/conf.d/proxy.conf":
ensure => file,
content => template($proxy_conf_template),
ensure => absent,
}
file { "${conf_dir}/conf.d/default.conf":

View file

@ -48,12 +48,6 @@ describe 'nginx::config' do
:group => 'root',
:mode => '0644'
)}
it { is_expected.to contain_file("/etc/nginx/conf.d/proxy.conf").with(
:ensure => 'file',
:owner => 'root',
:group => 'root',
:mode => '0644'
)}
it { is_expected.to contain_file("/tmp/nginx.d").with(
:ensure => 'absent',
:purge => true,
@ -379,31 +373,6 @@ describe 'nginx::config' do
:value => false,
:notmatch => /mail/,
},
].each do |param|
context "when #{param[:attr]} is #{param[:value]}" do
let :params do { param[:attr].to_sym => param[:value] } end
it { is_expected.to contain_file("/etc/nginx/nginx.conf").with_mode('0644') }
it param[:title] do
matches = Array(param[:match])
if matches.all? { |m| m.is_a? Regexp }
matches.each { |item| is_expected.to contain_file('/etc/nginx/nginx.conf').with_content(item) }
else
lines = catalogue.resource('file', '/etc/nginx/nginx.conf').send(:parameters)[:content].split("\n")
expect(lines & Array(param[:match])).to eq(Array(param[:match]))
end
Array(param[:notmatch]).each do |item|
is_expected.to contain_file("/etc/nginx/nginx.conf").without_content(item)
end
end
end
end
end
describe "proxy.conf template content" do
[
{
:title => 'should set proxy_buffers',
:attr => 'proxy_buffers',
@ -453,19 +422,19 @@ describe 'nginx::config' do
context "when #{param[:attr]} is #{param[:value]}" do
let :params do { param[:attr].to_sym => param[:value] } end
it { is_expected.to contain_file("/etc/nginx/conf.d/proxy.conf").with_mode('0644') }
it { is_expected.to contain_file("/etc/nginx/nginx.conf").with_mode('0644') }
it param[:title] do
matches = Array(param[:match])
if matches.all? { |m| m.is_a? Regexp }
matches.each { |item| is_expected.to contain_file('/etc/nginx/conf.d/proxy.conf').with_content(item) }
matches.each { |item| is_expected.to contain_file('/etc/nginx/nginx.conf').with_content(item) }
else
lines = catalogue.resource('file', '/etc/nginx/conf.d/proxy.conf').send(:parameters)[:content].split("\n")
lines = catalogue.resource('file', '/etc/nginx/nginx.conf').send(:parameters)[:content].split("\n")
expect(lines & Array(param[:match])).to eq(Array(param[:match]))
end
Array(param[:notmatch]).each do |item|
is_expected.to contain_file("/etc/nginx/conf.d/proxy.conf").without_content(item)
is_expected.to contain_file("/etc/nginx/nginx.conf").without_content(item)
end
end
end

View file

@ -64,6 +64,45 @@ http {
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
<% end -%>
<% if @client_body_temp_path -%>
client_body_temp_path <%= @client_body_temp_path %>;
<% end -%>
<% if @client_max_body_size -%>
client_max_body_size <%= @client_max_body_size %>;
<% end -%>
<% if @client_body_buffer_size -%>
client_body_buffer_size <%= @client_body_buffer_size %>;
<% end -%>
<% if @proxy_redirect -%>
proxy_redirect <%= @proxy_redirect %>;
<% end -%>
<% if @proxy_temp_path -%>
proxy_temp_path <%= @proxy_temp_path %>;
<% end -%>
<% if @proxy_connect_timeout -%>
proxy_connect_timeout <%= @proxy_connect_timeout %>;
<% end -%>
<% if @proxy_send_timeout -%>
proxy_send_timeout <%= @proxy_send_timeout %>;
<% end -%>
<% if @proxy_read_timeout -%>
proxy_read_timeout <%= @proxy_read_timeout %>;
<% end -%>
<% if @proxy_buffers -%>
proxy_buffers <%= @proxy_buffers %>;
<% end -%>
<% if @proxy_buffer_size -%>
proxy_buffer_size <%= @proxy_buffer_size %>;
<% end -%>
<% if @proxy_http_version -%>
proxy_http_version <%= @proxy_http_version %>;
<% end -%>
<% @proxy_set_header.each do |header| -%>
proxy_set_header <%= header %>;
<% end -%>
<% if @proxy_headers_hash_bucket_size -%>
proxy_headers_hash_bucket_size <%= @proxy_headers_hash_bucket_size %>;
<% end -%>
<% if @proxy_cache_path -%>
proxy_cache_path <%= @proxy_cache_path %> levels=<%= @proxy_cache_levels %> keys_zone=<%= @proxy_cache_keys_zone %> max_size=<%= @proxy_cache_max_size %> inactive=<%= @proxy_cache_inactive %>;

View file

@ -1,15 +0,0 @@
proxy_temp_path <%= @proxy_temp_path %>;
client_body_temp_path <%= @client_body_temp_path %>;
proxy_redirect <%= @proxy_redirect %>;
client_max_body_size <%= @client_max_body_size %>;
client_body_buffer_size <%= @client_body_buffer_size %>;
proxy_connect_timeout <%= @proxy_connect_timeout %>;
proxy_send_timeout <%= @proxy_send_timeout %>;
proxy_read_timeout <%= @proxy_read_timeout %>;
proxy_buffers <%= @proxy_buffers %>;
proxy_buffer_size <%= @proxy_buffer_size %>;
<% if @proxy_http_version -%>
proxy_http_version <%= @proxy_http_version %>;<% end %>
<% @proxy_set_header.each do |header| %>
proxy_set_header <%= header %>;<% end %>
proxy_headers_hash_bucket_size <%= @proxy_headers_hash_bucket_size %>;