X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/d8439642056edc49b5259bbf3c9744a1a68c41a6..53a51b1f4d048aa2e860ce99aeb27331afe7bd56:/cookbooks/blogs/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/blogs/recipes/default.rb b/cookbooks/blogs/recipes/default.rb index c2a4a1c4c..165befb5e 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,62 +17,86 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "accounts" +include_recipe "apache" include_recipe "git" -package "ruby" -package "ruby-dev" -package "make" -package "gcc" -package "libsqlite3-dev" +ruby_version = if node[:lsb][:release].to_f < 20.04 + "2.5" + else + "2.7" + end -gem_package "bundler" +package %W[ + ruby#{ruby_version} + ruby#{ruby_version}-dev + make + gcc + g++ + libsqlite3-dev +] + +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" - 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 + notifies :run, "execute[/srv/blogs.openstreetmap.org/Gemfile]", :immediately end execute "/srv/blogs.openstreetmap.org/Gemfile" do action :nothing - command "bundle install" + command "bundle#{ruby_version} install --deployment" cwd "/srv/blogs.openstreetmap.org" - user "root" - group "root" - notifies :run, "execute[/srv/blogs.openstreetmap.org]", :immediate + user "blogs" + group "blogs" + notifies :run, "execute[/srv/blogs.openstreetmap.org]", :immediately end execute "/srv/blogs.openstreetmap.org" do action :nothing - command "/usr/local/bin/pluto build -t osm -o build" + command "bundle#{ruby_version} exec pluto build -t osm -o build" cwd "/srv/blogs.openstreetmap.org" user "blogs" group "blogs" end ssl_certificate "blogs.openstreetmap.org" do - domains "blogs.openstreetmap.org" - fallback_certificate "openstreetmap" + 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 "/etc/cron.d/blogs" do - source "cron.erb" +template "/usr/local/bin/blogs-update" do + source "blogs-update.erb" owner "root" group "root" - mode "0644" + mode "0755" + variables :ruby_version => ruby_version +end + +cron_d "blogs" do + minute "*/30" + user "blogs" + command "/usr/local/bin/blogs-update" + mailto "admins@openstreetmap.org" end