]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/stateofthemap/recipes/default.rb
stateofthemap: add reasonable expiry headers
[chef.git] / cookbooks / stateofthemap / recipes / default.rb
index 8c4904d61ed1894750e581ac4b667bb54949d3a3..01c4bc91000d84b27ef6d4eb4d9b6e702522df00 100644 (file)
@@ -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.
@@ -165,7 +165,7 @@ end
 wordpress_plugin "2010.stateofthemap.org-sitepress-multilingual-cms" do
   plugin "sitepress-multilingual-cms"
   site "2010.stateofthemap.org"
-  repository "https://chef.openstreetmap.org/private/sitepress-multilingual-cms.git"
+  repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git"
 end
 
 wordpress_plugin "2010.stateofthemap.org-wp-sticky" do
@@ -206,7 +206,7 @@ end
 wordpress_plugin "2011.stateofthemap.org-sitepress-multilingual-cms" do
   plugin "sitepress-multilingual-cms"
   site "2011.stateofthemap.org"
-  repository "https://chef.openstreetmap.org/private/sitepress-multilingual-cms.git"
+  repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git"
 end
 
 wordpress_plugin "2011.stateofthemap.org-wp-sticky" do
@@ -252,7 +252,7 @@ end
 wordpress_plugin "2012.stateofthemap.org-sitepress-multilingual-cms" do
   plugin "sitepress-multilingual-cms"
   site "2012.stateofthemap.org"
-  repository "https://chef.openstreetmap.org/private/sitepress-multilingual-cms.git"
+  repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git"
 end
 
 wordpress_plugin "2012.stateofthemap.org-wp-sticky" do
@@ -270,7 +270,7 @@ end
   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,13 +281,26 @@ end
   end
 end
 
-%w[2016 2017 2018].each do |year|
+package %w[
+  ruby
+  ruby-dev
+  zlib1g-dev
+]
+
+apache_module "expires"
+apache_module "rewrite"
+
+gem_package "bundler" do
+  version "1.17.3"
+end
+
+%w[2016 2017 2018 2019 2020].each do |year|
   git "/srv/#{year}.stateofthemap.org" do
     action :sync
     repository "git://github.com/openstreetmap/stateofthemap-#{year}.git"
     user "root"
     group "root"
-    notifies :run, "execute[/srv/#{year}.stateofthemap.org]"
+    notifies :run, "execute[/srv/#{year}.stateofthemap.org/Gemfile]"
   end
 
   directory "/srv/#{year}.stateofthemap.org/_site" do
@@ -296,16 +309,34 @@ end
     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 0o755
+    owner "nobody"
+    group "nogroup"
+  end
+
+  execute "/srv/#{year}.stateofthemap.org/Gemfile" do
+    action :nothing
+    command "bundle install --deployment"
+    cwd "/srv/#{year}.stateofthemap.org"
+    user "root"
+    group "root"
+    notifies :run, "execute[/srv/#{year}.stateofthemap.org]"
+    only_if { ::File.exist?("/srv/#{year}.stateofthemap.org/Gemfile") }
+  end
+
   execute "/srv/#{year}.stateofthemap.org" do
     action :nothing
-    command "jekyll build --trace"
+    command "bundle exec jekyll build --trace --baseurl=https://#{year}.stateofthemap.org"
     cwd "/srv/#{year}.stateofthemap.org"
     user "nobody"
     group "nogroup"
   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