Deploy jekyll based stateofthemap sites on ridley
authorTom Hughes <tom@compton.nu>
Mon, 13 Nov 2017 21:33:26 +0000 (21:33 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 13 Nov 2017 21:35:39 +0000 (21:35 +0000)
cookbooks/stateofthemap/recipes/default.rb
cookbooks/stateofthemap/templates/default/apache.jekyll.erb [new file with mode: 0644]

index b05dd8d..f093638 100644 (file)
@@ -266,6 +266,41 @@ wordpress_plugin "2012.stateofthemap.org-wp-sticky" do
   site "2012.stateofthemap.org"
 end
 
+%w[2016 2017 2018].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]"
+  end
+
+  directory "/srv/#{year}.stateofthemap.org/_site" do
+    mode 0o755
+    owner "nobody"
+    group "nogroup"
+  end
+
+  execute "/srv/#{year}.stateofthemap.org" do
+    action :nothing
+    command "jekyll build --trace"
+    cwd "/srv/#{year}.stateofthemap.org"
+    user "nobody"
+    group "nogroup"
+  end
+
+  ssl_certificate "#{year}.stateofthemap.org" do
+    domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com"]
+    notifies :reload, "service[apache2]"
+  end
+
+  apache_site "#{year}.stateofthemap.org" do
+    template "apache.jekyll.erb"
+    directory "/srv/#{year}.stateofthemap.org/_site"
+    variables :year => year
+  end
+end
+
 template "/etc/cron.daily/sotm-backup" do
   source "backup.cron.erb"
   owner "root"
diff --git a/cookbooks/stateofthemap/templates/default/apache.jekyll.erb b/cookbooks/stateofthemap/templates/default/apache.jekyll.erb
new file mode 100644 (file)
index 0000000..4010ce4
--- /dev/null
@@ -0,0 +1,45 @@
+# DO NOT EDIT - This file is being maintained by Chef
+
+<VirtualHost *:80>
+        ServerName <%= @year %>.stateofthemap.org
+        ServerAlias <%= @year %>.stateofthemap.com
+        ServerAdmin webmaster@openstreetmap.org
+
+        CustomLog /var/log/apache2/<%= @year %>.stateofthemap.org-access.log combined
+        ErrorLog /var/log/apache2/<%= @year %>.stateofthemap.org-error.log
+
+        RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
+        RedirectPermanent / https://<%= @year %>.stateofthemap.org/
+</VirtualHost>
+
+<VirtualHost *:443>
+        ServerName <%= @year %>.stateofthemap.com
+        ServerAdmin webmaster@openstreetmap.org
+
+        CustomLog /var/log/apache2/<%= @year %>.stateofthemap.org-access.log combined
+        ErrorLog /var/log/apache2/<%= @year %>.stateofthemap.org-error.log
+
+        SSLEngine on
+        SSLCertificateFile /etc/ssl/certs/<%= @year %>.stateofthemap.org.pem
+        SSLCertificateKeyFile /etc/ssl/private/<%= @year %>.stateofthemap.org.key
+
+        RedirectPermanent / https://<%= @year %>.stateofthemap.org/
+</VirtualHost>
+
+<VirtualHost *:443>
+        ServerName <%= @year %>.stateofthemap.org
+        ServerAdmin webmaster@openstreetmap.org
+
+        CustomLog /var/log/apache2/<%= @year %>.stateofthemap.org-access.log combined
+        ErrorLog /var/log/apache2/<%= @year %>.stateofthemap.org-error.log
+
+        SSLEngine on
+        SSLCertificateFile /etc/ssl/certs/<%= @year %>.stateofthemap.org.pem
+        SSLCertificateKeyFile /etc/ssl/private/<%= @year %>.stateofthemap.org.key
+
+        DocumentRoot /srv/<%= @year %>.stateofthemap.org/_site
+</VirtualHost>
+
+<Directory /srv/<%= @year %>.stateofthemap.org/_site>
+        Require all granted
+</Directory>