X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/19aeb7bfffb852ab8be005c004b1ef8e555a5b77..1bc8da5f3a3bfd6c3f0ba374f12d489d13831460:/cookbooks/blogs/recipes/default.rb diff --git a/cookbooks/blogs/recipes/default.rb b/cookbooks/blogs/recipes/default.rb index e67716638..0fb2cc7aa 100644 --- a/cookbooks/blogs/recipes/default.rb +++ b/cookbooks/blogs/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: blogs +# Cookbook:: blogs # Recipe:: default # -# Copyright 2016, OpenStreetMap Foundation +# Copyright:: 2016, 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,63 +17,90 @@ # limitations under the License. # +include_recipe "accounts" include_recipe "apache" include_recipe "git" +include_recipe "ruby" -package %w[ - ruby - ruby-dev +package %W[ make gcc + g++ libsqlite3-dev + sqlite3 ] -gem_package "bundler" - directory "/srv/blogs.openstreetmap.org" do owner "blogs" group "blogs" - mode 0o755 + mode "755" end git "/srv/blogs.openstreetmap.org" do action :sync - repository "git://github.com/gravitystorm/blogs.osm.org.git" + repository "https://github.com/gravitystorm/blogs.osm.org.git" + depth 1 user "blogs" group "blogs" - notifies :run, "execute[/srv/blogs.openstreetmap.org/Gemfile]", :immediate end -execute "/srv/blogs.openstreetmap.org/Gemfile" do +bundle_install "/srv/blogs.openstreetmap.org" do action :nothing - command "bundle install" - cwd "/srv/blogs.openstreetmap.org" - user "root" - group "root" - notifies :run, "execute[/srv/blogs.openstreetmap.org]", :immediate + options "--deployment --without development test" + environment "BUNDLE_PATH" => "vendor/bundle" + user "blogs" + group "blogs" + 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 "/usr/local/bin/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 - domains "blogs.openstreetmap.org" + domains ["blogs.openstreetmap.org", "blogs.osm.org"] notifies :reload, "service[apache2]" end apache_site "blogs.openstreetmap.org" do template "apache.erb" directory "/srv/blogs.openstreetmap.org/build" + variables :aliases => ["blogs.osm.org"] +end + +template "/usr/local/bin/blogs-update" do + source "blogs-update.erb" + owner "root" + group "root" + mode "0755" +end + +systemd_service "blogs-update" do + description "Update blog aggregator" + exec_start "/usr/local/bin/blogs-update" + user "blogs" + 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.d/blogs" do - source "cron.erb" +template "/etc/cron.daily/blogs-backup" do + source "backup.cron.erb" owner "root" group "root" - mode "0644" + mode "0755" end