X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/7b058886e60a6ee9ac09bc07a3bfd3ed048a40a0..3f0ba848d29f5ef34badab8a835cf938ab338f21:/cookbooks/web/resources/rails_port.rb diff --git a/cookbooks/web/resources/rails_port.rb b/cookbooks/web/resources/rails_port.rb index d7f2e012d..8da12cc53 100644 --- a/cookbooks/web/resources/rails_port.rb +++ b/cookbooks/web/resources/rails_port.rb @@ -8,7 +8,7 @@ # 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, @@ -28,7 +28,7 @@ property :ruby, String, :default => "2.3" property :directory, String property :user, String property :group, String -property :repository, String, :default => "git://git.openstreetmap.org/rails.git" +property :repository, String, :default => "https://git.openstreetmap.org/public/rails.git" property :revision, String, :default => "live" property :run_migrations, [TrueClass, FalseClass], :default => false property :email_from, String, :default => "OpenStreetMap " @@ -65,6 +65,7 @@ property :mapquest_key, String property :mapzen_valhalla_key, String property :thunderforest_key, String property :totp_key, String +property :csp_enforce, [TrueClass, FalseClass], :default => false property :csp_report_url, String property :piwik_configuration, Hash @@ -85,22 +86,30 @@ action :create do libxml2-dev libxslt1-dev libmemcached-dev + libffi-dev + ] + + package %w[ + pngcrush + advancecomp + optipng + pngquant + jhead + jpegoptim + gifsicle + libjpeg-turbo-progs ] gem_package "bundler#{new_resource.ruby}" do package_name "bundler" - version "1.3.5" + version "1.16.2" gem_binary "gem#{new_resource.ruby}" options "--format-executable" end - file "/usr/lib/ruby/1.8/rack.rb" do - action :delete - end - - declare_resource :directory, "/usr/lib/ruby/1.8/rack" do - action :delete - recursive true + gem_package "bundler#{new_resource.ruby}" do + package_name "pkg-config" + gem_binary "gem#{new_resource.ruby}" end declare_resource :directory, rails_directory do @@ -154,7 +163,7 @@ action :create do line.gsub!(/^( *)support_email:.*$/, "\\1support_email: \"support@openstreetmap.org\"") if new_resource.email_from - line.gsub!(/^( *)email_from:.*$/, "\\1email_from: \"#{email_from}\"") + line.gsub!(/^( *)email_from:.*$/, "\\1email_from: \"#{new_resource.email_from}\"") end line.gsub!(/^( *)email_return_path:.*$/, "\\1email_return_path: \"bounces@openstreetmap.org\"") @@ -252,6 +261,10 @@ action :create do line.gsub!(/^( *)#totp_key:.*$/, "\\1totp_key: \"#{new_resource.totp_key}\"") end + if new_resource.csp_enforce + line.gsub!(/^( *)csp_enforce:.*$/, "\\1csp_enforce: \"#{new_resource.csp_enforce}\"") + end + if new_resource.csp_report_url line.gsub!(/^( *)#csp_report_url:.*$/, "\\1csp_report_url: \"#{new_resource.csp_report_url}\"") end @@ -321,32 +334,9 @@ action :create do action :nothing end - execute "#{rails_directory}/lib/quad_tile/extconf.rb" do - command "ruby extconf.rb" - cwd "#{rails_directory}/lib/quad_tile" - user new_resource.user - group new_resource.group - not_if do - ::File.exist?("#{rails_directory}/lib/quad_tile/quad_tile_so.so") && - ::File.mtime("#{rails_directory}/lib/quad_tile/quad_tile_so.so") >= ::File.mtime("#{rails_directory}/lib/quad_tile/extconf.rb") && - ::File.mtime("#{rails_directory}/lib/quad_tile/quad_tile_so.so") >= ::File.mtime("#{rails_directory}/lib/quad_tile/quad_tile.c") && - ::File.mtime("#{rails_directory}/lib/quad_tile/quad_tile_so.so") >= ::File.mtime("#{rails_directory}/lib/quad_tile/quad_tile.h") - end - notifies :run, "execute[#{rails_directory}/lib/quad_tile/Makefile]" - end - - execute "#{rails_directory}/lib/quad_tile/Makefile" do - action :nothing - command "make" - cwd "#{rails_directory}/lib/quad_tile" - user new_resource.user - group new_resource.group - notifies :run, "execute[#{rails_directory}]" - end - execute rails_directory do action :nothing - command "passenger-config restart-app --ignore-app-not-running #{rails_directory}" + command "passenger-config restart-app --ignore-app-not-running --ignore-passenger-not-running #{rails_directory}" user "root" group "root" only_if { ::File.exist?("/usr/bin/passenger-config") } @@ -365,7 +355,7 @@ end action :restart do execute rails_directory do action :run - command "passenger-config restart-app --ignore-app-not-running #{rails_directory}" + command "passenger-config restart-app --ignore-app-not-running --ignore-passenger-not-running #{rails_directory}" user "root" group "root" end