~FC001
~FC014
+~FC019
~FC024
AllCops:
Exclude:
- vendor/**/*
+ - templates/default/etc/opscode/chef-server.rb
AlignParameters:
Enabled: false
CHANGELOG for chef_utils
=========================
+0.8.1
+-----
+- adds the SSL server key pair's deployment feature for a Chef Server.
+
0.8.0
-----
- adds the `chef_utils::chef-client` recipe.
### packages
- `build-essential` - to build native libraries for berkshelf.
+- `ssl_cert`
## Attributes
|`['chef_utils']['knife-supermarket']['version']`|String|installation version.|`nil`|
|`['chef_utils']['knife-zero']['version']`|String|installation version.|`nil`|
|`['chef_utils']['spiceweasel']['version']`|String|installation version.|`nil`|
-|`['chef_utils']['chef-server']['configuration']`|String|Chef server conf. file's content.|see attributes/default.rb|
+|`['chef_utils']['chef-server']['with_ssl_cert_cookbook']`|Boolean||`false`|
+|`['chef_utils']['chef-server']['ssl_cert']['common_name']`|String||`node['fqdn']`|
+|`['chef_utils']['chef-server']['config']`|Hash|Content in the `chef-server.rb`.|See `attributes/default.rb`.|
+|`['chef_utils']['chef-server']['extra_config_str']`|String|Extra configuration string in the `chef-server.rb`.|`nil`|
+|`['chef_utils']['chef-server']['configuration']`|String|DEPRECATED: instead use the `['chef_utils']['chef-server']['config']` and `['chef_utils']['chef-server']['extra_config_str']` attributes.|`nil`|
## Usage
default['chef_utils']['knife-zero']['version'] = nil
default['chef_utils']['spiceweasel']['version'] = nil
+default['chef_utils']['chef-server']['with_ssl_cert_cookbook'] = false
+default['chef_utils']['chef-server']['ssl_cert']['common_name'] = node['fqdn']
# /etc/opscode/chef-server.rb
-default['chef_utils']['chef-server']['configuration'] = <<-EOS
-
-#default_orgname "default"
-addons['install'] = false
-
-EOS
+default['chef_utils']['chef-server']['config'] = {
+ #'default_orgname' => 'default',
+ 'addons' => {
+ 'install' => false,
+ },
+}
+default['chef_utils']['chef-server']['extra_config_str'] = nil
+# DEPRECATED: instead use the `['chef_utils']['chef-server']['config']`
+# and `['chef_utils']['chef-server']['extra_config_str']` attributes.
+default['chef_utils']['chef-server']['configuration'] = nil
license 'Apache 2.0'
description 'Installs/Configures chef_utils'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version '0.8.0'
+version '0.8.1'
source_url 'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git'
issues_url 'https://osdn.jp/projects/metasearch/ticket'
-# local cookbooks
-
-# external cookbooks
depends 'build-essential'
+depends 'ssl_cert'
# Cookbook Name:: chef_utils
# Recipe:: chef-server-configuration
#
-# Copyright 2015, whitestar
+# Copyright 2015-2017, whitestar
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# limitations under the License.
#
-file '/etc/opscode/chef-server.rb' do
- content node['chef_utils']['chef-server']['configuration']
+force_override_config = node.force_override['chef_utils']['chef-server']['config']
+
+if node['chef_utils']['chef-server']['with_ssl_cert_cookbook']
+ ::Chef::Recipe.send(:include, SSLCert::Helper)
+ cn = node['chef_utils']['chef-server']['ssl_cert']['common_name']
+ force_override_config['nginx']['ssl_certificate'] = server_cert_path(cn)
+ force_override_config['nginx']['ssl_certificate_key'] = server_key_path(cn)
+end
+
+template '/etc/opscode/chef-server.rb' do
+ source 'etc/opscode/chef-server.rb'
owner 'root'
group 'root'
- mode 0644
+ mode '0640'
end
--- /dev/null
+# These settings are generated by the chef_utils Chef cookbook.\r
+# Do NOT edit it manually.\r
+<%\r
+config = node['chef_utils']['chef-server']['config']\r
+\r
+config.each {|key0, val0|\r
+ if val0.is_a?(Hash)\r
+ val0.each {|key1, val1|\r
+-%>\r
+<%= key0 %>['<%= key1 %>'] = <%= val1.inspect %>\r
+<%\r
+ }\r
+ else\r
+-%>\r
+<%= key0 %> <%= val0.inspect %>\r
+<%\r
+ end\r
+}\r
+-%>\r
+<%\r
+extra_config_str = node['chef_utils']['chef-server']['extra_config_str']\r
+if !extra_config_str.nil? && !extra_config_str.empty?\r
+-%>\r
+<%= extra_config_str %>\r
+<%\r
+end\r
+-%>\r
+<%\r
+config_str = node['chef_utils']['chef-server']['configuration']\r
+if !config_str.nil? && !config_str.empty?\r
+-%>\r
+<%= config_str %>\r
+<%\r
+end\r
+-%>\r