OSDN Git Service

adds the ['ssl_cert']['ca_name_symlinks'] attribute. ssl_cert-0.4.2
authorwhitestar <whitestar@users.osdn.me>
Sat, 11 Nov 2017 04:22:31 +0000 (13:22 +0900)
committerwhitestar <whitestar@users.osdn.me>
Sat, 11 Nov 2017 04:22:31 +0000 (13:22 +0900)
cookbooks/ssl_cert/CHANGELOG.md
cookbooks/ssl_cert/README.md
cookbooks/ssl_cert/attributes/default.rb
cookbooks/ssl_cert/libraries/helper.rb
cookbooks/ssl_cert/version

index ce61919..7864988 100644 (file)
@@ -1,6 +1,10 @@
 ssl_cert CHANGELOG
 ==================
 
+0.4.2
+-----
+- adds the `['ssl_cert']['ca_name_symlinks']` attribute.
+
 0.4.1
 -----
 - adds `SSLCert::Helper.append_ca_name` method. 
index af50bcf..83f6ca8 100644 (file)
@@ -32,6 +32,7 @@ This cookbook deploys CA certificates, SSL server keys and/or certificates from
 |Key|Type|Description, example|Default|
 |:--|:--|:--|:--|
 |`['ssl_cert']['ca_names']`|Array|deployed CA certificates from chef-vault|empty|
+|`['ssl_cert']['ca_name_symlinks']`|Hash|Key: ca_name, value: array of symbolic link names to the CA certificate file.|empty|
 |`['ssl_cert']['ca_pubkey_names']`|Array|deployed CA public keys from chef-vault (0.2.0 or later)|empty|
 |`['ssl_cert']['ssh_ca_krl_name']`|String|deployed SSH-CA KRL (Key Revocation List) from chef-vault (0.3.0 or later)|`nil`|
 |`['ssl_cert']['common_names']`|Array|deployed server keys and/or certificates from chef-vault|empty|
index bd76961..567dbd5 100644 (file)
@@ -26,6 +26,11 @@ default['ssl_cert']['rhel']['key_access_mode'] = '0400'
 default['ssl_cert']['ca_names'] = [
   #'grid_ca',
 ]
+default['ssl_cert']['ca_name_symlinks'] = {
+  #'grid_ca' => [
+  #  '/path/to/linkname',
+  #],
+}
 
 # deployed CA public keys from chef-vault
 # for SSH-CA, ...
index b2d8459..56480c2 100644 (file)
@@ -172,6 +172,8 @@ module SSLCert
         notifies :run, "execute[#{update_command_name}]", :delayed
       end
 
+      symlinks(node['ssl_cert']['ca_name_symlinks'][ca], cert_path)
+
       case node['platform_family']
       when 'debian'
         execute "add_ca_cert_entry_#{cert_file_name}" do
@@ -194,6 +196,16 @@ module SSLCert
       end
     end
 
+    def symlinks(link_names, target_path)
+      return if link_names.nil?
+
+      link_names.each {|name|
+        link name do
+          to target_path
+        end
+      }
+    end
+
     def ca_pubkey_path(ca)
       undotted_ca = ca.tr('.', '_')
       node['ssl_cert']["#{undotted_ca}_pubkey_path"]