X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/f3ec357c6cb5121fefda513fb35d79caa41745dd..605d99f67ad361a244d3ea699181aa14aca5d9ec:/cookbooks/chef/recipes/server.rb diff --git a/cookbooks/chef/recipes/server.rb b/cookbooks/chef/recipes/server.rb index 5cc28fa69..f965592a1 100644 --- a/cookbooks/chef/recipes/server.rb +++ b/cookbooks/chef/recipes/server.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: chef +# Cookbook:: chef # Recipe:: server # -# Copyright 2010, OpenStreetMap Foundation +# Copyright:: 2010, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,62 +17,42 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "apache" +include_recipe "munin" -chef_platform = case node[:platform_version] - when "12.10" then "12.04" - when "14.04" 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 - -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 - -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 +# cache_dir = Chef::Config[:file_cache_path] +# +# chef_version = node[:chef][:server][:version] +# chef_package = "chef-server-core_#{chef_version}-1_amd64.deb" +# +# Dir.glob("#{cache_dir}/chef-server-core_*.deb").each do |deb| +# next if deb == "#{cache_dir}/#{chef_package}" +# +# file deb do +# action :delete +# backup false +# end +# end +# +# remote_file "#{cache_dir}/#{chef_package}" do +# source "https://packages.chef.io/files/stable/chef-server/#{chef_version}/ubuntu/16.04/#{chef_package}" +# owner "root" +# group "root" +# mode 0644 +# backup false +# end +# +# dpkg_package "chef-server-core" do +# source "#{cache_dir}/#{chef_package}" +# version "#{chef_version}-1" +# notifies :run, "execute[chef-server-reconfigure]" +# end -template "/etc/chef-server/chef-server.rb" do +template "/etc/opscode/chef-server.rb" do source "server.rb.erb" owner "root" group "root" - mode 0644 + mode 0o640 notifies :run, "execute[chef-server-reconfigure]" end @@ -83,15 +63,33 @@ execute "chef-server-reconfigure" do group "root" end -service "chef-server-runsvdir" do - provider Chef::Provider::Service::Upstart - action [ :enable, :start ] - supports :status => true, :restart => true, :reload => true +execute "chef-server-restart" do + action :nothing + command "chef-server-ctl restart" + user "root" + group "root" +end + +systemd_service "chef-server" do + description "Chef server" + after "network.target" + exec_start "/opt/opscode/embedded/bin/runsvdir-start" +end + +service "chef-server" do + action [:enable, :start] + subscribes :restart, "systemd_service[chef-server]" end apache_module "alias" apache_module "proxy_http" +ssl_certificate "chef.openstreetmap.org" do + domains ["chef.openstreetmap.org", "chef.osm.org"] + notifies :reload, "service[apache2]" + notifies :run, "execute[chef-server-restart]" +end + apache_site "chef.openstreetmap.org" do template "apache.erb" end @@ -100,5 +98,7 @@ template "/etc/cron.daily/chef-server-backup" do source "server-backup.cron.erb" owner "root" group "root" - mode 0755 + mode 0o755 end + +munin_plugin "chef_status"