From 0c6ae6d4a29a14432bb3773c46202d9cbcddd085 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 8 Jan 2025 01:21:46 +0900 Subject: [PATCH] Add support for [signed_url] secret_key The option should be set appropriately to use signed url feature. Change-Id: Ica173a668c69d007a3c73a9d0fdc8154d1f75a06 --- manifests/init.pp | 3 +- manifests/signed_url.pp | 20 +++++++++++++ .../signed_url-opts-1d7cf4a93860518c.yaml | 4 +++ spec/classes/zaqar_signed_url_spec.rb | 29 +++++++++++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 manifests/signed_url.pp create mode 100644 releasenotes/notes/signed_url-opts-1d7cf4a93860518c.yaml create mode 100644 spec/classes/zaqar_signed_url_spec.rb diff --git a/manifests/init.pp b/manifests/init.pp index 14e594d..bcdbfe1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,6 +1,7 @@ # == Class: zaqar # -# Full description of class zaqar here. +# This class installs the base zaqar package and configure the configuration +# parameters common accross all zaqar services. # # === Parameters # diff --git a/manifests/signed_url.pp b/manifests/signed_url.pp new file mode 100644 index 0000000..1fb3a99 --- /dev/null +++ b/manifests/signed_url.pp @@ -0,0 +1,20 @@ +# == Class: zaqar::signed_url +# +# Configure signed_url options +# +# === Parameters +# +# [*secret_key*] +# (Required) Secret key used to encrypt pre-signed URLs. +# +class zaqar::signed_url( + $secret_key, +) { + + include zaqar::deps + + zaqar_config { + 'signed_url/secret_key': value => $secret_key, secret => true; + } + +} diff --git a/releasenotes/notes/signed_url-opts-1d7cf4a93860518c.yaml b/releasenotes/notes/signed_url-opts-1d7cf4a93860518c.yaml new file mode 100644 index 0000000..3ff1250 --- /dev/null +++ b/releasenotes/notes/signed_url-opts-1d7cf4a93860518c.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + The new ``zaqar::signed_url`` class has been added. diff --git a/spec/classes/zaqar_signed_url_spec.rb b/spec/classes/zaqar_signed_url_spec.rb new file mode 100644 index 0000000..f0b44f9 --- /dev/null +++ b/spec/classes/zaqar_signed_url_spec.rb @@ -0,0 +1,29 @@ +require 'spec_helper' + +describe 'zaqar::signed_url' do + shared_examples 'zaqar::signed_url' do + let :params do + { + :secret_key => 'key' + } + end + + context 'with defaults' do + it 'should configure defaults' do + is_expected.to contain_zaqar_config('signed_url/secret_key').with_value('key').with_secret(true) + end + 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_behaves_like 'zaqar::signed_url' + end + end +end