X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/098634e073c80dfde4038715bc683985b18c5184..0df4f2f9bbec37153bdb6c92a38ed324409fa6a7:/cookbooks/chef/recipes/server.rb diff --git a/cookbooks/chef/recipes/server.rb b/cookbooks/chef/recipes/server.rb index 54efa19e5..d5923ccb6 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,25 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "apache" +include_recipe "chef::knife" -# 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/22.04/chef-server-core_#{chef_version}-1_amd64.deb" # owner "root" # group "root" # mode 0644 @@ -45,8 +43,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 +52,7 @@ template "/etc/opscode/chef-server.rb" do source "server.rb.erb" owner "root" group "root" - mode 0644 + mode "640" notifies :run, "execute[chef-server-reconfigure]" end @@ -65,15 +63,33 @@ execute "chef-server-reconfigure" do group "root" end -service "private-chef-runsvdir" do - provider Chef::Provider::Service::Upstart +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] - supports :status => true, :restart => true, :reload => true + 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 @@ -82,12 +98,5 @@ template "/etc/cron.daily/chef-server-backup" do source "server-backup.cron.erb" owner "root" group "root" - mode 0755 -end - -template "/etc/logrotate.d/chef-server" do - source "logrotate.server.erb" - owner "root" - group "root" - mode 0644 + mode "755" end