OSDN Git Service

adds `SSLCert::Helper.get_vault_item_value` method. ssl_cert-0.3.7
authorwhitestar <whitestar@gaea.test>
Sun, 12 Feb 2017 05:48:51 +0000 (14:48 +0900)
committerwhitestar <whitestar@gaea.test>
Sun, 12 Feb 2017 05:48:51 +0000 (14:48 +0900)
cookbooks/ssl_cert/.rubocop.yml
cookbooks/ssl_cert/CHANGELOG.md
cookbooks/ssl_cert/libraries/helper.rb
cookbooks/ssl_cert/metadata.rb

index 0296db2..00c66ef 100644 (file)
@@ -34,4 +34,4 @@ Style/AccessorMethodName:
 Metrics/MethodLength:
   Max: 50
 Metrics/ModuleLength:
-  Max: 220
+  Max: 250
index 5da79ba..534cdee 100644 (file)
@@ -1,6 +1,10 @@
 ssl_cert CHANGELOG
 ==================
 
+0.3.7
+-----
+- adds `SSLCert::Helper.get_vault_item_value` method.
+
 0.3.6
 -----
 - refactoring.
index 6153a8c..dac48b9 100644 (file)
@@ -88,6 +88,31 @@ module SSLCert
       end
     end
 
+=begin
+    * Item conf example
+    item_conf = {
+      'vault' => 'concourse',
+      'name' => 'web',
+      # single password or nested hash password path delimited by slash
+      'env_context' => false,
+      'key' => 'password',  # real hash path: "/password"
+      # or nested hash password path delimited by slash
+      #'env_context' => true,
+      #'key' => 'hash/path/to/password',  # real hash path: "/#{node.chef_environment}/hash/path/to/password"
+    }
+=end
+    def get_vault_item_value(item_conf)
+      chef_gem_chef_vault
+      require 'chef-vault'
+      secret = ChefVault::Item.load(item_conf['vault'], item_conf['name'])
+      secret = secret[node.chef_environment] if item_conf.key?('env_context') && item_conf['env_context'] == true
+      if !item_conf['key'].nil? && !item_conf['key'].empty?
+        item_conf['key'].split('/').each do |elm| secret = secret[elm] end
+      end
+
+      secret
+    end
+
     def vault_item_suffix
       suffix = \
         if !node['ssl_cert']['vault_item_suffix'].nil? && !node['ssl_cert']['vault_item_suffix'].empty?
index aff7e51..695f8bf 100644 (file)
@@ -5,7 +5,7 @@ maintainer_email ''
 license          'Apache 2.0'
 description      'Installs/Configures ssl_cert'
 long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version          '0.3.6'
+version          '0.3.7'
 source_url       'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git'
 issues_url       'https://osdn.jp/projects/metasearch/ticket'