X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/ab47927c016597f8602b81dcdc168ad5c335389d..07840ceab6077ffa7c498daeda4ecbd591c3bc40:/cookbooks/blogs/recipes/default.rb diff --git a/cookbooks/blogs/recipes/default.rb b/cookbooks/blogs/recipes/default.rb index 165befb5e..0fb2cc7aa 100644 --- a/cookbooks/blogs/recipes/default.rb +++ b/cookbooks/blogs/recipes/default.rb @@ -20,29 +20,16 @@ include_recipe "accounts" include_recipe "apache" include_recipe "git" - -ruby_version = if node[:lsb][:release].to_f < 20.04 - "2.5" - else - "2.7" - end +include_recipe "ruby" package %W[ - ruby#{ruby_version} - ruby#{ruby_version}-dev make gcc g++ libsqlite3-dev + sqlite3 ] -gem_package "bundler#{ruby_version}" do - package_name "bundler" - version "~> 2.1.4" - gem_binary "gem#{ruby_version}" - options "--format-executable" -end - directory "/srv/blogs.openstreetmap.org" do owner "blogs" group "blogs" @@ -55,24 +42,24 @@ git "/srv/blogs.openstreetmap.org" do depth 1 user "blogs" group "blogs" - notifies :run, "execute[/srv/blogs.openstreetmap.org/Gemfile]", :immediately end -execute "/srv/blogs.openstreetmap.org/Gemfile" do +bundle_install "/srv/blogs.openstreetmap.org" do action :nothing - command "bundle#{ruby_version} install --deployment" - cwd "/srv/blogs.openstreetmap.org" + options "--deployment --without development test" + environment "BUNDLE_PATH" => "vendor/bundle" user "blogs" group "blogs" - notifies :run, "execute[/srv/blogs.openstreetmap.org]", :immediately + subscribes :run, "git[/srv/blogs.openstreetmap.org]", :immediately end -execute "/srv/blogs.openstreetmap.org" do +bundle_exec "/srv/blogs.openstreetmap.org" do action :nothing - command "bundle#{ruby_version} exec pluto build -t osm -o build" - cwd "/srv/blogs.openstreetmap.org" + command "pluto build -t osm -o build" + environment "BUNDLE_PATH" => "vendor/bundle" user "blogs" group "blogs" + subscribes :run, "git[/srv/blogs.openstreetmap.org]", :immediately end ssl_certificate "blogs.openstreetmap.org" do @@ -91,12 +78,29 @@ template "/usr/local/bin/blogs-update" do owner "root" group "root" mode "0755" - variables :ruby_version => ruby_version end -cron_d "blogs" do - minute "*/30" +systemd_service "blogs-update" do + description "Update blog aggregator" + exec_start "/usr/local/bin/blogs-update" user "blogs" - command "/usr/local/bin/blogs-update" - mailto "admins@openstreetmap.org" + sandbox :enable_network => true + read_write_paths "/srv/blogs.openstreetmap.org" +end + +systemd_timer "blogs-update" do + description "Update blog aggregator" + on_boot_sec "15m" + on_unit_inactive_sec "30m" +end + +service "blogs-update.timer" do + action [:enable, :start] +end + +template "/etc/cron.daily/blogs-backup" do + source "backup.cron.erb" + owner "root" + group "root" + mode "0755" end