Skip to content

Commit 56201b6

Browse files
author
jtimberman
committed
additional places to check for webui enabled
1 parent c71d642 commit 56201b6

4 files changed

Lines changed: 30 additions & 31 deletions

File tree

‎bootstrap/attributes/bootstrap.rb‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
# limitations under the License.
1818
#
1919

20-
validation_token = ""
21-
chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a
22-
20.times { |i| validation_token << chars[rand(chars.size-1)] }
20+
::Chef::Node.send(:include, Opscode::OpenSSL::Password)
2321

2422
set_unless[:bootstrap][:chef][:umask] = 0022
2523
set_unless[:bootstrap][:chef][:url_type] = "http"
@@ -31,6 +29,7 @@
3129
set_unless[:bootstrap][:chef][:server_port] = "4000"
3230
set_unless[:bootstrap][:chef][:webui_port] = "4040"
3331
set_unless[:bootstrap][:chef][:webui_enabled] = false
32+
set_unless[:bootstrap][:chef][:webui_admin_password] = secure_password
3433

3534
set_unless[:bootstrap][:chef][:server_version] = "0.8.0"
3635
set_unless[:bootstrap][:chef][:client_version] = "0.8.0"
@@ -50,4 +49,3 @@
5049
end
5150

5251
set_unless[:bootstrap][:chef][:server_fqdn] = domain ? "chef.#{domain}" : "chef"
53-
set_unless[:bootstrap][:chef][:server_token] = validation_token

‎bootstrap/metadata.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
supports os
1010
end
1111

12-
%w{ runit couchdb rabbitmq apache2 }.each do |cb|
12+
%w{ runit couchdb rabbitmq apache2 openssl }.each do |cb|
1313
depends cb
1414
end

‎bootstrap/recipes/server.rb‎

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
# limitations under the License.
2222
#
2323

24-
CHEF_08_GEMS_RELEASED = false
25-
2624
root_group = value_for_platform(
2725
"openbsd" => { "default" => "wheel" },
2826
"freebsd" => { "default" => "wheel" },
@@ -49,16 +47,26 @@
4947
Chef::Log.info("Unknown platform for CouchDB. Manual installation of CouchDB required.")
5048
end
5149

52-
if CHEF_08_GEMS_RELEASED
53-
%w{ chef-server chef-server-api chef-solr }.each do |gem|
54-
gem_package gem do
55-
version node[:bootstrap][:chef][:server_version]
56-
end
50+
%w{ chef-server chef-server-api chef-solr }.each do |gem|
51+
gem_package gem do
52+
version node[:bootstrap][:chef][:server_version]
53+
end
54+
end
55+
56+
if node[:bootstrap][:chef][:webui_enabled]
57+
gem_package "chef-server-webui" do
58+
version node[:bootstrap][:chef][:server_version]
5759
end
58-
if node[:bootstrap][:chef][:webui_enabled]
59-
gem_package "chef-server-webui" do
60-
version node[:bootstrap][:chef][:server_version]
61-
end
60+
61+
bash "Create WebUI SSL Certificate" do
62+
cwd "/etc/chef"
63+
code <<-EOH
64+
umask 077
65+
openssl genrsa 2048 > webui.key
66+
openssl req -subj "#{node[:chef][:server_ssl_req]}" -new -x509 -nodes -sha1 -days 3650 -key webui.key > webui.crt
67+
cat webui.key webui.crt > webui.pem
68+
EOH
69+
not_if { File.exists?("/etc/chef/webui.pem") }
6270
end
6371
end
6472

@@ -82,17 +90,6 @@
8290
)
8391
end
8492

85-
bash "Create WebUI SSL Certificate" do
86-
cwd "/etc/chef"
87-
code <<-EOH
88-
umask 077
89-
openssl genrsa 2048 > webui.key
90-
openssl req -subj "#{node[:chef][:server_ssl_req]}" -new -x509 -nodes -sha1 -days 3650 -key webui.key > webui.crt
91-
cat webui.key webui.crt > webui.pem
92-
EOH
93-
not_if { File.exists?("/etc/chef/webui.pem") }
94-
end
95-
9693
bash "Create Validation SSL Certificate" do
9794
cwd "/etc/chef"
9895
code <<-EOH
@@ -133,7 +130,7 @@
133130
service "chef-server" do
134131
restart_command "sv int chef-server"
135132
end
136-
runit_service "chef-server-webui"
133+
runit_service "chef-server-webui" if node[:bootstrap][:chef][:webui_enabled]
137134
when "init"
138135
show_time = "true"
139136

@@ -151,7 +148,7 @@
151148

152149
service "chef-server-webui" do
153150
action :nothing
154-
end
151+
end if node[:bootstrap][:chef][:webui_enabled]
155152

156153
Chef::Log.info("You specified service style 'init'.")
157154
Chef::Log.info("'init' scripts available in #{node[:languages][:ruby][:gems_dir]}/gems/chef-#{node[:bootstrap][:chef][:client_version]}/distro")

‎bootstrap/templates/default/server.rb.erb‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,15 @@ role_path "<%= @node[:bootstrap][:chef][:serve_path] %>/roles"
2828

2929
supportdir = "<%= @node[:bootstrap][:chef][:path] %>/support"
3030
validation_client_name "validator"
31-
web_ui_client_name "chef-webui"
3231
validation_key "/etc/chef/validation.key"
33-
web_ui_key "/etc/chef/webui.pem"
3432
client_key "/etc/chef/client.pem"
3533

34+
<% if @node[:bootstrap][:chef][:webui_enabled] -%>
35+
web_ui_client_name "chef-webui"
36+
web_ui_key "/etc/chef/webui.pem"
37+
web_ui_admin_default_password "<%= @node[:bootstrap][:chef][:webui_admin_password] %>"
38+
<% end -%>
39+
3640
solr_jetty_path File.join(supportdir, "solr", "jetty")
3741
solr_heap_size "250M"
3842
solr_data_path File.join(supportdir, "solr", "data")

0 commit comments

Comments
 (0)