Add swift::proxy::crossdomain class

Change-Id: Ie7e5dfc3732ad552063293f16aa04a791bc5add8
swift::proxy::crossdomain class is used to configure crossdomain middleware.
This commit is contained in:
Lukas Bezdicka
2014-06-02 16:47:56 +02:00
parent f7d1385d69
commit 9d592f61e4
3 changed files with 80 additions and 0 deletions

View 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',
}
}

View 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

View File

@@ -0,0 +1,4 @@
[filter:crossdomain]
use = egg:swift#crossdomain
cross_domain_policy = <%= @cross_domain_policy %>