Add swift::proxy::crossdomain class
Change-Id: Ie7e5dfc3732ad552063293f16aa04a791bc5add8 swift::proxy::crossdomain class is used to configure crossdomain middleware.
This commit is contained in:
25
manifests/proxy/crossdomain.pp
Normal file
25
manifests/proxy/crossdomain.pp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#
|
||||||
|
# Configure swift crossdomain.
|
||||||
|
#
|
||||||
|
# == Examples
|
||||||
|
#
|
||||||
|
# include swift::proxy::crossdomain
|
||||||
|
#
|
||||||
|
# == Parameters
|
||||||
|
#
|
||||||
|
# [*cross_domain_policy*]
|
||||||
|
# cross_domain_policy value according to http://docs.openstack.org/developer/swift/crossdomain.html
|
||||||
|
# default: <allow-access-from domain="*" secure="false" />
|
||||||
|
#
|
||||||
|
|
||||||
|
class swift::proxy::crossdomain (
|
||||||
|
$cross_domain_policy = '<allow-access-from domain="*" secure="false" />',
|
||||||
|
) {
|
||||||
|
|
||||||
|
concat::fragment { 'swift_crossdomain':
|
||||||
|
target => '/etc/swift/proxy-server.conf',
|
||||||
|
content => template('swift/proxy/crossdomain.conf.erb'),
|
||||||
|
order => '35',
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
51
spec/classes/swift_proxy_crossdomain_spec.rb
Normal file
51
spec/classes/swift_proxy_crossdomain_spec.rb
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'swift::proxy::crossdomain' do
|
||||||
|
|
||||||
|
let :facts do
|
||||||
|
{
|
||||||
|
:concat_basedir => '/var/lib/puppet/concat'
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
let :pre_condition do
|
||||||
|
'class { "concat::setup": }
|
||||||
|
concat { "/etc/swift/proxy-server.conf": }'
|
||||||
|
end
|
||||||
|
|
||||||
|
let :fragment_file do
|
||||||
|
"/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/35_swift_crossdomain"
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "when using default parameters" do
|
||||||
|
it 'should build the fragment with correct parameters' do
|
||||||
|
verify_contents(subject, fragment_file,
|
||||||
|
[
|
||||||
|
'[filter:crossdomain]',
|
||||||
|
'use = egg:swift#crossdomain',
|
||||||
|
'cross_domain_policy = <allow-access-from domain="*" secure="false" />',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "when overriding default parameters" do
|
||||||
|
let :params do
|
||||||
|
{
|
||||||
|
:cross_domain_policy => '<allow-access-from domain="xml-fragment-in-ini-file.so.wrong" secure="true" />
|
||||||
|
<allow-access-from domain="*" secure="false" />',
|
||||||
|
}
|
||||||
|
end
|
||||||
|
it 'should build the fragment with correct parameters' do
|
||||||
|
verify_contents(subject, fragment_file,
|
||||||
|
[
|
||||||
|
'[filter:crossdomain]',
|
||||||
|
'use = egg:swift#crossdomain',
|
||||||
|
'cross_domain_policy = <allow-access-from domain="xml-fragment-in-ini-file.so.wrong" secure="true" />',
|
||||||
|
'<allow-access-from domain="*" secure="false" />',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
4
templates/proxy/crossdomain.conf.erb
Normal file
4
templates/proxy/crossdomain.conf.erb
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[filter:crossdomain]
|
||||||
|
use = egg:swift#crossdomain
|
||||||
|
cross_domain_policy = <%= @cross_domain_policy %>
|
||||||
|
|
Reference in New Issue
Block a user