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