X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/a68415b8f2bf106b6ea5948b0605c897b516ef4f..fe35ced7aa3bbd7fa83b0384dce16e90e0097337:/cookbooks/chef/recipes/server.rb diff --git a/cookbooks/chef/recipes/server.rb b/cookbooks/chef/recipes/server.rb index 7a5f8fa5d..48fbfd747 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,27 +17,26 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "apache" +include_recipe "chef::knife" +include_recipe "munin" -# chef_package = "chef-server-core_#{node[:chef][:server][:version]}_amd64.deb" +# cache_dir = Chef::Config[:file_cache_path] # -# directory "/var/cache/chef" do -# owner "root" -# group "root" -# mode 0755 -# end +# 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}" # -# Dir.glob("/var/cache/chef/chef-server-core_*.deb").each do |deb| -# next if deb == "/var/cache/chef/#{chef_package}" - # file deb do # action :delete # backup false # end # end # -# remote_file "/var/cache/chef/#{chef_package}" do -# source "https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/#{node[:lsb][:codename]}/#{chef_package}" +# remote_file "#{cache_dir}/#{chef_package}" do +# source "https://packages.chef.io/files/stable/chef-server/#{chef_version}/ubuntu/20.04/chef-server-core_#{chef_version}-1_amd64.deb" # owner "root" # group "root" # mode 0644 @@ -45,8 +44,8 @@ include_recipe "apache::ssl" # end # # dpkg_package "chef-server-core" do -# source "/var/cache/chef/#{chef_package}" -# version node[:chef][:server][:version] +# source "#{cache_dir}/#{chef_package}" +# version "#{chef_version}-1" # notifies :run, "execute[chef-server-reconfigure]" # end @@ -54,7 +53,7 @@ template "/etc/opscode/chef-server.rb" do source "server.rb.erb" owner "root" group "root" - mode 0o644 + mode "640" notifies :run, "execute[chef-server-reconfigure]" end @@ -65,6 +64,13 @@ execute "chef-server-reconfigure" do group "root" end +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" @@ -73,11 +79,18 @@ 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 @@ -86,14 +99,7 @@ template "/etc/cron.daily/chef-server-backup" do source "server-backup.cron.erb" owner "root" group "root" - mode 0o755 -end - -template "/etc/logrotate.d/chef-server" do - source "logrotate.server.erb" - owner "root" - group "root" - mode 0o644 + mode "755" end munin_plugin "chef_status"