X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/7b9ec4b60ee39614d1d083d7220e76b07d2b275f..03804a4aeb75eaf29b5b5fa3c6ed3b222b7f58e4:/cookbooks/chef/recipes/server.rb diff --git a/cookbooks/chef/recipes/server.rb b/cookbooks/chef/recipes/server.rb index 2c33218c5..614eb81b4 100644 --- a/cookbooks/chef/recipes/server.rb +++ b/cookbooks/chef/recipes/server.rb @@ -19,20 +19,52 @@ include_recipe "apache::ssl" -service "chef-server-runsvdir" do - provider Chef::Provider::Service::Upstart - action [ :enable, :start ] - supports :status => true, :restart => true, :reload => true +chef_platform = case node[:platform_version] + when "12.10" then "12.04" + else node[:platform_version] + end + +chef_package = "chef-server_#{node[:chef][:server][:version]}_amd64.deb" + +directory "/var/cache/chef" do + owner "root" + group "root" + mode 0755 end -apache_module "alias" -apache_module "proxy_http" +Dir.glob("/var/cache/chef/chef-server_*.deb").each do |deb| + if deb != "/var/cache/chef/#{chef_package}" + file deb do + action :delete + backup false + end + end +end -execute "chef-server-reconfigure" do - action :nothing - command "chef-server-ctl reconfigure" - user "root" +remote_file "/var/cache/chef/#{chef_package}" do + source "https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/#{chef_platform}/x86_64/#{chef_package}" + owner "root" group "root" + mode 0644 + backup false +end + +dpkg_package "chef-erver" do + source "/var/cache/chef/#{chef_package}" + version node[:chef][:server][:version] + notifies :run, "execute[chef-server-reconfigure]" +end + +ruby_block "/opt/chef-server/embedded/service/chef-server-webui/app/controllers/status_controller.rb" do + block do + rc = Chef::Util::FileEdit.new("/opt/chef-server/embedded/service/chef-server-webui/app/controllers/status_controller.rb") + rc.search_file_delete(/&rows=20/) + rc.write_file + + if rc.file_edited? + resources(:execute => "chef-server-reconfigure").run_action(:run) + end + end end template "/etc/chef-server/chef-server.rb" do @@ -43,6 +75,29 @@ template "/etc/chef-server/chef-server.rb" do notifies :run, "execute[chef-server-reconfigure]" end +execute "chef-server-reconfigure" do + action :nothing + command "chef-server-ctl reconfigure" + user "root" + group "root" +end + +service "chef-server-runsvdir" do + provider Chef::Provider::Service::Upstart + action [ :enable, :start ] + supports :status => true, :restart => true, :reload => true +end + +apache_module "alias" +apache_module "proxy_http" + apache_site "chef.openstreetmap.org" do template "apache.erb" end + +template "/etc/cron.daily/chef-server-backup" do + source "server-backup.cron.erb" + owner "root" + group "root" + mode 0755 +end