X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/76dbcee2db85d6d95dc270e8c30878c041ede526..4ed87e86c638523d093bc97b32715c4c6a41a70d:/cookbooks/chef/recipes/server.rb diff --git a/cookbooks/chef/recipes/server.rb b/cookbooks/chef/recipes/server.rb index fc0a6ac6c..cd54cf426 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,16 +17,45 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "apache" +include_recipe "chef::knife" +include_recipe "munin" -service "chef-server-runsvdir" do - provider Chef::Provider::Service::Upstart - action [ :enable, :start ] - supports :status => true, :restart => true, :reload => true -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 -apache_module "alias" -apache_module "proxy_http" +template "/etc/opscode/chef-server.rb" do + source "server.rb.erb" + owner "root" + group "root" + mode "640" + notifies :run, "execute[chef-server-reconfigure]" +end execute "chef-server-reconfigure" do action :nothing @@ -35,12 +64,31 @@ execute "chef-server-reconfigure" do group "root" end -template "/etc/chef-server/chef-server.rb" do - source "server.rb.erb" - owner "root" +execute "chef-server-restart" do + action :nothing + command "chef-server-ctl restart" + user "root" group "root" - mode 0644 - notifies :run, "execute[chef-server-reconfigure]" +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 @@ -51,17 +99,7 @@ template "/etc/cron.daily/chef-server-backup" do source "server-backup.cron.erb" owner "root" group "root" - mode 0755 + mode "755" 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 +munin_plugin "chef_status"