Add keymaster middleware
Add support for configuring swift-proxy keymaster middleware. The keymaster middleware handles keys for swift encryption[1]. [1] https://docs.openstack.org/swift/latest/overview_encryption.html Change-Id: Ic6c34c5381eb4f57642493b5acf127dba4f7834e
This commit is contained in:

committed by
Takashi Kajinami

parent
140456e44a
commit
7f1a945550
24
manifests/proxy/keymaster.pp
Normal file
24
manifests/proxy/keymaster.pp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#
|
||||||
|
# Configure Swift Keymaster middleware.
|
||||||
|
#
|
||||||
|
# == Examples
|
||||||
|
#
|
||||||
|
# include swift::proxy::keymaster
|
||||||
|
#
|
||||||
|
# == Parameters
|
||||||
|
#
|
||||||
|
# [*encryption_root_secret*]
|
||||||
|
# Encryption root secret value.
|
||||||
|
#
|
||||||
|
class swift::proxy::keymaster (
|
||||||
|
$encryption_root_secret,
|
||||||
|
) {
|
||||||
|
|
||||||
|
include swift::deps
|
||||||
|
|
||||||
|
swift_proxy_config {
|
||||||
|
'filter:keymaster/use': value => 'egg:swift#keymaster';
|
||||||
|
'filter:keymaster/encryption_root_secret': value => $encryption_root_secret, secret => true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
A new class ``swift::proxy::keymaster`` has been added. This supports the
|
||||||
|
configuration of swift-proxy keymaster middleware.
|
28
spec/classes/swift_proxy_keymaster_spec.rb
Normal file
28
spec/classes/swift_proxy_keymaster_spec.rb
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'swift::proxy::keymaster' do
|
||||||
|
shared_examples 'swift::proxy::keymaster' do
|
||||||
|
let :params do
|
||||||
|
{
|
||||||
|
:encryption_root_secret => 'secret',
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when using default parameters" do
|
||||||
|
it { is_expected.to contain_swift_proxy_config('filter:keymaster/use').with_value('egg:swift#keymaster') }
|
||||||
|
it { is_expected.to contain_swift_proxy_config('filter:keymaster/encryption_root_secret').with_value('secret').with_secret(true) }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
on_supported_os({
|
||||||
|
:supported_os => OSDefaults.get_supported_os
|
||||||
|
}).each do |os,facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let (:facts) do
|
||||||
|
facts.merge(OSDefaults.get_facts())
|
||||||
|
end
|
||||||
|
|
||||||
|
it_configures 'swift::proxy::keymaster'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue
Block a user