From: Tom Hughes Date: Mon, 17 Sep 2018 18:12:48 +0000 (+0100) Subject: Add log rotation for dev apis X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/8704355db8617d920102bfcb89f59b88a238bc76 Add log rotation for dev apis --- diff --git a/cookbooks/dev/recipes/default.rb b/cookbooks/dev/recipes/default.rb index 999cc4ba3..5a2e7f86d 100644 --- a/cookbooks/dev/recipes/default.rb +++ b/cookbooks/dev/recipes/default.rb @@ -224,6 +224,7 @@ if node[:postgresql][:clusters][:"9.5/main"] database_name = details[:database] || "apis_#{name}" site_name = "#{name}.apis.dev.openstreetmap.org" site_directory = "/srv/#{name}.apis.dev.openstreetmap.org" + log_directory = "#{site_directory}/logs" rails_directory = "#{site_directory}/rails" cgimap_directory = "#{site_directory}/cgimap" @@ -250,6 +251,12 @@ if node[:postgresql][:clusters][:"9.5/main"] mode 0o755 end + directory log_directory do + owner "apis" + group "apis" + mode 0o755 + end + rails_port site_name do ruby node[:passenger][:ruby_version] directory rails_directory @@ -260,6 +267,7 @@ if node[:postgresql][:clusters][:"9.5/main"] database_port node[:postgresql][:clusters][:"9.5/main"][:port] database_name database_name database_username "apis" + log_path "#{log_directory}/rails.log" memcache_servers ["127.0.0.1"] csp_enforce true run_migrations true @@ -319,7 +327,7 @@ if node[:postgresql][:clusters][:"9.5/main"] variables :cgimap_port => cgimap_port, :database_port => node[:postgresql][:clusters][:"9.5/main"][:port], :database_name => database_name, - :rails_directory => rails_directory + :log_directory => log_directory notifies :restart, "service[cgimap@#{name}]" end @@ -342,8 +350,22 @@ if node[:postgresql][:clusters][:"9.5/main"] :cgimap_port => cgimap_port end + template "/etc/logrotate.d/apis-#{name}" do + source "logrotate.apis.erb" + owner "root" + group "root" + mode 0o644 + variables :name => name, + :log_directory => log_directory, + :rails_directory => rails_directory + end + cgimap_port += 1 else + file "/etc/logrotate.d/apis-#{name}" do + action :delete + end + apache_site site_name do action [:delete] end diff --git a/cookbooks/dev/templates/default/cgimap.environment.erb b/cookbooks/dev/templates/default/cgimap.environment.erb index 7fb1efde2..b9f71ee7a 100644 --- a/cookbooks/dev/templates/default/cgimap.environment.erb +++ b/cookbooks/dev/templates/default/cgimap.environment.erb @@ -4,7 +4,7 @@ CGIMAP_PORT="<%= @cgimap_port %>" CGIMAP_DBPORT="<%= @database_port %>" CGIMAP_DBNAME="<%= @database_name %>" CGIMAP_USERNAME="apis" -CGIMAP_LOGFILE="<%= @rails_directory %>/log/cgimap.log" +CGIMAP_LOGFILE="<%= @log_directory %>/cgimap.log" CGIMAP_MEMCACHE="127.0.0.1" CGIMAP_RATELIMIT="204800" CGIMAP_MAXDEBT="250" diff --git a/cookbooks/dev/templates/default/logrotate.apis.erb b/cookbooks/dev/templates/default/logrotate.apis.erb new file mode 100644 index 000000000..2b5b74641 --- /dev/null +++ b/cookbooks/dev/templates/default/logrotate.apis.erb @@ -0,0 +1,16 @@ +# DO NOT EDIT - This file is being maintained by Chef + +<%= @log_directory %>/*.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 0660 rails rails + sharedscripts + postrotate + PASSENGER_INSTANCE_REGISTRY_DIR=<%= node[:passenger][:instance_registry_dir] %> /usr/bin/passenger-config restart-app --ignore-app-not-running <%= @rails_directory %> > /dev/null + /bin/systemctl try-reload-or-restart cgimap@<%= @name %> + endscript +}