From 21c64ffa1cbf4acf0e27da1099e3f1eff4245b4c Mon Sep 17 00:00:00 2001 From: whitestar Date: Sun, 14 Jul 2024 13:44:23 +0900 Subject: [PATCH] add chef-vault install flavor for ssl_cert cookbook. --- cookbooks/chef_utils/metadata.rb | 3 ++- cookbooks/ssl_cert/CHANGELOG.md | 4 ++++ cookbooks/ssl_cert/README.md | 4 +++- cookbooks/ssl_cert/attributes/default.rb | 4 +++- cookbooks/ssl_cert/libraries/helper.rb | 28 +++++++++++++++++++++------- cookbooks/ssl_cert/version | 2 +- 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/cookbooks/chef_utils/metadata.rb b/cookbooks/chef_utils/metadata.rb index a7a8fbf..875b32c 100644 --- a/cookbooks/chef_utils/metadata.rb +++ b/cookbooks/chef_utils/metadata.rb @@ -9,7 +9,7 @@ version IO.read(File.join(File.dirname(__FILE__), 'version')).chomp source_url 'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git' issues_url 'https://osdn.jp/projects/metasearch/ticket' -chef_version '>= 12' +chef_version '>= 13' %w( centos redhat ).each do |os| supports os, '>= 7.0' end @@ -17,4 +17,5 @@ supports 'debian', '>= 8.0' supports 'ubuntu', '>= 14.04' depends 'build-essential' +depends 'seven_zip', '<= 3.2.0' depends 'ssl_cert' diff --git a/cookbooks/ssl_cert/CHANGELOG.md b/cookbooks/ssl_cert/CHANGELOG.md index dea3829..833a869 100644 --- a/cookbooks/ssl_cert/CHANGELOG.md +++ b/cookbooks/ssl_cert/CHANGELOG.md @@ -1,6 +1,10 @@ ssl_cert CHANGELOG ================== +0.6.0 +----- +- add `skip_install` (default: `false`) flag for the `chef-vault` gem package. + 0.5.0 ----- - adds wildcard common name support. e.g. `*.example.com` diff --git a/cookbooks/ssl_cert/README.md b/cookbooks/ssl_cert/README.md index 03e60f9..d33fdef 100644 --- a/cookbooks/ssl_cert/README.md +++ b/cookbooks/ssl_cert/README.md @@ -42,6 +42,8 @@ This cookbook deploys CA certificates, SSL server keys and/or certificates from |`['ssl_cert']['chef_gem']['clear_sources']`|Boolean|chef_gem resource's clear_sources property.|`false`| |`['ssl_cert']['chef_gem']['source']`|String|chef_gem resource's source property.|`nil`| |`['ssl_cert']['chef_gem']['options']`|String|chef_gem resource's options property.|`nil`| +|`['ssl_cert']['chef-vault']['skip_install']`|Boolean|skip chef-vault installation or not.|`true`| +|`['ssl_cert']['chef-vault']['install_flavor']`|Stirng|`'gem_package'` or `'chef_gem'`|`'gem_package'`| |`['ssl_cert']['chef-vault']['version']`|String|chef-vault installation version.|`'~> 2.6'`| |`['ssl_cert']['env_context']`|String|node's environment or nil/empty.|`node.chef_environment`| |`['ssl_cert']['vault_item_suffix']`|String|vault item name's suffix.|`".#{node['ssl_cert']['env_context']}"`| @@ -265,7 +267,7 @@ wildcard_cn_cert_path = server_cert_path('*.grid.example.com') - Author:: whitestar at osdn.jp ```text -Copyright 2016-2018, whitestar +Copyright 2016-2022, whitestar Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cookbooks/ssl_cert/attributes/default.rb b/cookbooks/ssl_cert/attributes/default.rb index ebed018..3ed1ec9 100644 --- a/cookbooks/ssl_cert/attributes/default.rb +++ b/cookbooks/ssl_cert/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: ssl_cert # Attributes:: default # -# Copyright 2016, whitestar +# Copyright 2016-2022, whitestar # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -50,6 +50,8 @@ default['ssl_cert']['common_names'] = [ default['ssl_cert']['chef_gem']['clear_sources'] = false default['ssl_cert']['chef_gem']['source'] = nil default['ssl_cert']['chef_gem']['options'] = nil +default['ssl_cert']['chef-vault']['skip_install'] = true +default['ssl_cert']['chef-vault']['install_flavor'] = 'gem_package' # or 'chef_gem' default['ssl_cert']['chef-vault']['version'] = '~> 2.6' default['ssl_cert']['env_context'] = node.chef_environment diff --git a/cookbooks/ssl_cert/libraries/helper.rb b/cookbooks/ssl_cert/libraries/helper.rb index b3acfcf..495dd23 100644 --- a/cookbooks/ssl_cert/libraries/helper.rb +++ b/cookbooks/ssl_cert/libraries/helper.rb @@ -77,14 +77,28 @@ module SSLCert end def chef_gem_chef_vault + return if node['ssl_cert']['chef-vault']['skip_install'] + pkg = 'chef-vault' - resources(chef_gem: pkg) rescue chef_gem pkg do - compile_time true if respond_to?(:compile_time) - clear_sources node['ssl_cert']['chef_gem']['clear_sources'] - source node['ssl_cert']['chef_gem']['source'] - options node['ssl_cert']['chef_gem']['options'] - version node['ssl_cert']['chef-vault']['version'] - action :install + case ['ssl_cert']['chef-vault']['install_flavor'] + when 'gem_package' + resources(gem_package: pkg) rescue gem_package pkg do + compile_time true if respond_to?(:compile_time) + clear_sources node['ssl_cert']['chef_gem']['clear_sources'] + source node['ssl_cert']['chef_gem']['source'] + options node['ssl_cert']['chef_gem']['options'] + version node['ssl_cert']['chef-vault']['version'] + action :install + end + when 'chef_gem' + resources(chef_gem: pkg) rescue chef_gem pkg do + compile_time true if respond_to?(:compile_time) + clear_sources node['ssl_cert']['chef_gem']['clear_sources'] + source node['ssl_cert']['chef_gem']['source'] + options node['ssl_cert']['chef_gem']['options'] + version node['ssl_cert']['chef-vault']['version'] + action :install + end end end diff --git a/cookbooks/ssl_cert/version b/cookbooks/ssl_cert/version index 8f0916f..a918a2a 100644 --- a/cookbooks/ssl_cert/version +++ b/cookbooks/ssl_cert/version @@ -1 +1 @@ -0.5.0 +0.6.0 -- 2.11.0