X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/e7010845d454267f8b658d6c00fe3180042bb164..f6f2f9e52a1f7c2c13027779da1a3b7f49ff2763:/cookbooks/stateofthemap/recipes/default.rb diff --git a/cookbooks/stateofthemap/recipes/default.rb b/cookbooks/stateofthemap/recipes/default.rb index 1c1c5fdc8..06d3eed87 100644 --- a/cookbooks/stateofthemap/recipes/default.rb +++ b/cookbooks/stateofthemap/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: stateofthemap +# Cookbook:: stateofthemap # Recipe:: default # -# Copyright 2013, OpenStreetMap Foundation +# Copyright:: 2013, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ # limitations under the License. # +include_recipe "ruby" include_recipe "wordpress" passwords = data_bag_item("stateofthemap", "passwords") @@ -25,6 +26,7 @@ git "/srv/stateofthemap.org" do action :sync repository "https://git.openstreetmap.org/public/stateofthemap.git" revision "chooser" + depth 1 user "root" group "root" end @@ -44,7 +46,7 @@ end directory "/srv/2007.stateofthemap.org" do owner "wordpress" group "wordpress" - mode 0o755 + mode "755" end wordpress_site "2007.stateofthemap.org" do @@ -54,6 +56,7 @@ wordpress_site "2007.stateofthemap.org" do database_user "sotm2007" database_password passwords["sotm2007"] database_prefix "wp_sotm_" + fpm_prometheus_port 12007 end wordpress_theme "2007.stateofthemap.org-refreshwp-11" do @@ -63,15 +66,15 @@ wordpress_theme "2007.stateofthemap.org-refreshwp-11" do revision "theme-2007" end -wordpress_plugin "2007.stateofthemap.org-geopress" do - plugin "geopress" - site "2007.stateofthemap.org" -end +# wordpress_plugin "2007.stateofthemap.org-geopress" do +# plugin "geopress" +# site "2007.stateofthemap.org" +# end directory "/srv/2008.stateofthemap.org" do owner "wordpress" group "wordpress" - mode 0o755 + mode "755" end wordpress_site "2008.stateofthemap.org" do @@ -81,6 +84,7 @@ wordpress_site "2008.stateofthemap.org" do database_user "sotm2008" database_password passwords["sotm2008"] database_prefix "wp_sotm08_" + fpm_prometheus_port 12008 end wordpress_theme "2008.stateofthemap.org-refreshwp-11" do @@ -90,21 +94,22 @@ wordpress_theme "2008.stateofthemap.org-refreshwp-11" do revision "theme-2008" end -wordpress_plugin "2008.stateofthemap.org-geopress" do - plugin "geopress" - site "2008.stateofthemap.org" -end +# wordpress_plugin "2008.stateofthemap.org-geopress" do +# plugin "geopress" +# site "2008.stateofthemap.org" +# end directory "/srv/2009.stateofthemap.org" do owner "wordpress" group "wordpress" - mode 0o755 + mode "755" end git "/srv/2009.stateofthemap.org" do action :sync repository "https://git.openstreetmap.org/public/stateofthemap.git" revision "resources-2009" + depth 1 user "wordpress" group "wordpress" end @@ -118,6 +123,7 @@ wordpress_site "2009.stateofthemap.org" do urls "/register" => "/srv/2009.stateofthemap.org/register", "/register-pro-user" => "/srv/2009.stateofthemap.org/register-pro-user", "/podcasts" => "/srv/2009.stateofthemap.org/podcasts" + fpm_prometheus_port 12009 end wordpress_theme "2009.stateofthemap.org-aerodrome" do @@ -127,21 +133,22 @@ wordpress_theme "2009.stateofthemap.org-aerodrome" do revision "theme-2009" end -wordpress_plugin "2009.stateofthemap.org-wp-sticky" do - plugin "wp-sticky" - site "2009.stateofthemap.org" -end +# wordpress_plugin "2009.stateofthemap.org-wp-sticky" do +# plugin "wp-sticky" +# site "2009.stateofthemap.org" +# end directory "/srv/2010.stateofthemap.org" do owner "wordpress" group "wordpress" - mode 0o755 + mode "755" end git "/srv/2010.stateofthemap.org" do action :sync repository "https://git.openstreetmap.org/public/stateofthemap.git" revision "resources-2010" + depth 1 user "wordpress" group "wordpress" end @@ -153,6 +160,7 @@ wordpress_site "2010.stateofthemap.org" do database_user "sotm2010" database_password passwords["sotm2010"] urls "/register" => "/srv/2010.stateofthemap.org/register" + fpm_prometheus_port 12010 end wordpress_theme "2010.stateofthemap.org-aerodrome" do @@ -166,23 +174,26 @@ wordpress_plugin "2010.stateofthemap.org-sitepress-multilingual-cms" do plugin "sitepress-multilingual-cms" site "2010.stateofthemap.org" repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git" + revision "master" + not_if { kitchen? } end -wordpress_plugin "2010.stateofthemap.org-wp-sticky" do - plugin "wp-sticky" - site "2010.stateofthemap.org" -end +# wordpress_plugin "2010.stateofthemap.org-wp-sticky" do +# plugin "wp-sticky" +# site "2010.stateofthemap.org" +# end directory "/srv/2011.stateofthemap.org" do owner "wordpress" group "wordpress" - mode 0o755 + mode "755" end git "/srv/2011.stateofthemap.org" do action :sync repository "https://git.openstreetmap.org/public/stateofthemap.git" revision "resources-2011" + depth 1 user "wordpress" group "wordpress" end @@ -194,6 +205,7 @@ wordpress_site "2011.stateofthemap.org" do database_user "sotm2011" database_password passwords["sotm2011"] urls "/register" => "/srv/2011.stateofthemap.org/register" + fpm_prometheus_port 12011 end wordpress_theme "2011.stateofthemap.org-aerodrome" do @@ -207,23 +219,26 @@ wordpress_plugin "2011.stateofthemap.org-sitepress-multilingual-cms" do plugin "sitepress-multilingual-cms" site "2011.stateofthemap.org" repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git" + revision "master" + not_if { kitchen? } end -wordpress_plugin "2011.stateofthemap.org-wp-sticky" do - plugin "wp-sticky" - site "2011.stateofthemap.org" -end +# wordpress_plugin "2011.stateofthemap.org-wp-sticky" do +# plugin "wp-sticky" +# site "2011.stateofthemap.org" +# end directory "/srv/2012.stateofthemap.org" do owner "wordpress" group "wordpress" - mode 0o755 + mode "755" end git "/srv/2012.stateofthemap.org" do action :sync repository "https://git.openstreetmap.org/public/stateofthemap.git" revision "resources-2012" + depth 1 user "wordpress" group "wordpress" end @@ -235,6 +250,7 @@ wordpress_site "2012.stateofthemap.org" do database_user "sotm2012" database_password passwords["sotm2012"] urls "/register" => "/srv/2012.stateofthemap.org/register" + fpm_prometheus_port 12012 end wordpress_theme "2012.stateofthemap.org-aerodrome" do @@ -253,24 +269,27 @@ wordpress_plugin "2012.stateofthemap.org-sitepress-multilingual-cms" do plugin "sitepress-multilingual-cms" site "2012.stateofthemap.org" repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git" + revision "master" + not_if { kitchen? } end -wordpress_plugin "2012.stateofthemap.org-wp-sticky" do - plugin "wp-sticky" - site "2012.stateofthemap.org" -end +# wordpress_plugin "2012.stateofthemap.org-wp-sticky" do +# plugin "wp-sticky" +# site "2012.stateofthemap.org" +# end %w[2013].each do |year| git "/srv/#{year}.stateofthemap.org" do action :sync repository "https://git.openstreetmap.org/public/stateofthemap.git" revision "site-#{year}" + depth 1 user "root" group "root" end ssl_certificate "#{year}.stateofthemap.org" do - domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com"] + domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com", "#{year}.sotm.org"] notifies :reload, "service[apache2]" end @@ -281,33 +300,61 @@ end end end -gem_package "jekyll" +package %w[ + gcc + g++ + make + libssl-dev + zlib1g-dev + pkg-config +] + +apache_module "expires" +apache_module "rewrite" -%w[2016 2017 2018 2019].each do |year| +%w[2016 2017 2018 2019 2020 2021 2022].each do |year| git "/srv/#{year}.stateofthemap.org" do action :sync - repository "git://github.com/openstreetmap/stateofthemap-#{year}.git" + repository "https://github.com/openstreetmap/stateofthemap-#{year}.git" + depth 1 user "root" group "root" - notifies :run, "execute[/srv/#{year}.stateofthemap.org]" + notifies :run, "bundle_install[/srv/#{year}.stateofthemap.org]" end directory "/srv/#{year}.stateofthemap.org/_site" do - mode 0o755 + mode "755" + owner "nobody" + group "nogroup" + end + + # Workaround https://github.com/jekyll/jekyll/issues/7804 + # by creating a .jekyll-cache folder + directory "/srv/#{year}.stateofthemap.org/.jekyll-cache" do + mode "755" owner "nobody" group "nogroup" end - execute "/srv/#{year}.stateofthemap.org" do + bundle_install "/srv/#{year}.stateofthemap.org" do + action :nothing + options "--deployment --jobs #{node[:cpu][:total]}" + user "root" + group "root" + notifies :run, "bundle_exec[/srv/#{year}.stateofthemap.org]" + only_if { ::File.exist?("/srv/#{year}.stateofthemap.org/Gemfile") } + end + + bundle_exec "/srv/#{year}.stateofthemap.org" do action :nothing - command "jekyll build --trace" - cwd "/srv/#{year}.stateofthemap.org" + command "jekyll build --trace --baseurl=https://#{year}.stateofthemap.org" user "nobody" group "nogroup" + environment "LANG" => "C.UTF-8" end ssl_certificate "#{year}.stateofthemap.org" do - domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com"] + domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com", "#{year}.sotm.org"] notifies :reload, "service[apache2]" end @@ -322,6 +369,6 @@ template "/etc/cron.daily/sotm-backup" do source "backup.cron.erb" owner "root" group "root" - mode 0o750 + mode "750" variables :passwords => passwords end