X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/1cc095a1c46080f889538a014324abd6b179380e..8c985adf9ae56cb9bb8b950c97da6f3ad392fa61:/cookbooks/web/recipes/rails.rb diff --git a/cookbooks/web/recipes/rails.rb b/cookbooks/web/recipes/rails.rb index 59e9abfb8..e021f1925 100644 --- a/cookbooks/web/recipes/rails.rb +++ b/cookbooks/web/recipes/rails.rb @@ -24,6 +24,7 @@ include_recipe "geoipupdate" include_recipe "munin" include_recipe "nodejs" include_recipe "passenger" +include_recipe "ruby" include_recipe "tools" include_recipe "web::base" @@ -49,10 +50,9 @@ template "/etc/cron.hourly/passenger" do mode "755" end -ruby_version = node[:passenger][:ruby_version] rails_directory = "#{node[:web][:base_directory]}/rails" -piwik = data_bag_item("web", "piwik") +matomo = data_bag_item("web", "matomo") storage = { "avatars" => { @@ -100,7 +100,6 @@ db_host = if node[:web][:status] == "database_readonly" end rails_port "www.openstreetmap.org" do - ruby ruby_version directory rails_directory user "rails" group "rails" @@ -121,9 +120,9 @@ rails_port "www.openstreetmap.org" do id_application web_passwords["id_application"] oauth_key web_passwords["oauth_key"] oauth_application web_passwords["oauth_application"] - piwik_configuration "location" => piwik[:location], - "site" => piwik[:site], - "goals" => piwik[:goals].to_hash + matomo_configuration "location" => matomo[:location], + "site" => matomo[:site], + "goals" => matomo[:goals].to_hash google_auth_id "651529786092-6c5ahcu0tpp95emiec8uibg11asmk34t.apps.googleusercontent.com" google_auth_secret web_passwords["google_auth_secret"] google_openid_realm "https://www.openstreetmap.org" @@ -150,26 +149,15 @@ rails_port "www.openstreetmap.org" do overpass_url "https://query.openstreetmap.org/query-features" end -gem_package "bundler#{ruby_version}" do - package_name "bundler" - gem_binary "gem#{ruby_version}" - options "--format-executable" -end - -bundle = if File.exist?("/usr/bin/bundle#{ruby_version}") - "/usr/bin/bundle#{ruby_version}" - else - "/usr/local/bin/bundle#{ruby_version}" - end - systemd_service "rails-jobs@" do description "Rails job queue runner" type "simple" - environment "RAILS_ENV" => "production", "QUEUE" => "%I" + environment "RAILS_ENV" => "production", "QUEUE" => "%I", "SLEEP_DELAY" => "60" user "rails" working_directory rails_directory - exec_start "#{bundle} exec rake jobs:work" + exec_start "#{node[:ruby][:bundle]} exec rails jobs:work" restart "on-failure" + nice 10 private_tmp true private_devices true protect_system "full" @@ -186,8 +174,13 @@ template "/usr/local/bin/cleanup-rails-assets" do mode "755" end -gem_package "apachelogregex" -gem_package "file-tail" +gem_package "apachelogregex" do + gem_binary node[:ruby][:gem] +end + +gem_package "file-tail" do + gem_binary node[:ruby][:gem] +end template "/usr/local/bin/api-statistics" do source "api-statistics.erb" @@ -201,6 +194,7 @@ systemd_service "api-statistics" do user "rails" group "adm" exec_start "/usr/local/bin/api-statistics" + nice 10 private_tmp true private_devices true private_network true @@ -217,7 +211,9 @@ service "api-statistics" do subscribes :restart, "systemd_service[api-statistics]" end -gem_package "hpricot" +gem_package "hpricot" do + gem_binary node[:ruby][:gem] +end munin_plugin "api_calls_status" munin_plugin "api_calls_num"