]> git.openstreetmap.org Git - chef.git/commitdiff
Switch 2 new switch2osm.org site
authorGrant Slater <git@firefishy.com>
Wed, 27 Nov 2019 22:42:36 +0000 (22:42 +0000)
committerGrant Slater <git@firefishy.com>
Wed, 27 Nov 2019 22:42:36 +0000 (22:42 +0000)
cookbooks/switch2osm/recipes/default.rb
cookbooks/switch2osm/templates/default/apache.erb [new file with mode: 0644]
cookbooks/switch2osm/templates/default/backup.cron.erb [deleted file]

index 00fcd95fb0a15c008efeb94ff4e873c0fb380159..366b288d3b21dce97409d672afc09f79a38e15c7 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+include_recipe "apache"
+include_recipe "git"
 
-include_recipe "wordpress"
+package %w[
+  ruby
+  ruby-dev
+  zlib1g-dev
+]
 
-passwords = data_bag_item("switch2osm", "passwords")
-
-wordpress_site "switch2osm.org" do
-  aliases ["www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
-  directory "/srv/switch2osm.org"
-  database_name "switch2osm-blog"
-  database_user "switch2osm-user"
-  database_password passwords["switch2osm-user"]
-end
-
-wordpress_theme "switch2osm.org-picolight" do
-  theme "picolight"
-  site "switch2osm.org"
-  repository "git://github.com/Firefishy/picolight-s2o.git"
-  revision "master"
-end
-
-wordpress_plugin "switch2osm.org-sitepress-multilingual-cms" do
-  plugin "sitepress-multilingual-cms"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git"
+gem_package "bundler" do
+  version "1.17.3"
 end
 
-wordpress_plugin "switch2osm.org-wpml-cms-nav" do
-  plugin "wpml-cms-nav"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/wpml-cms-nav.git"
+git "/srv/switch2osm.org" do
+  action :sync
+  repository "https://github.com/switch2osm/switch2osm.github.io.git"
+  user "root"
+  group "root"
+  notifies :run, "execute[/srv/switch2osm.org/Gemfile]"
 end
 
-wordpress_plugin "switch2osm.org-wpml-sticky-links" do
-  plugin "wpml-sticky-links"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/wpml-sticky-links.git"
+directory "/srv/switch2osm.org/_site" do
+  mode 0o755
+  owner "nobody"
+  group "nogroup"
 end
 
-wordpress_plugin "switch2osm.org-wpml-string-translation" do
-  plugin "wpml-string-translation"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/wpml-string-translation.git"
+# Workaround https://github.com/jekyll/jekyll/issues/7804
+# by creating a .jekyll-cache folder
+directory "/srv/switch2osm.org/.jekyll-cache" do
+  mode 0o755
+  owner "nobody"
+  group "nogroup"
 end
 
-wordpress_plugin "switch2osm.org-wpml-translation-analytics" do
-  plugin "wpml-translation-analytics"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/wpml-translation-analytics.git"
+execute "/srv/switch2osm.org/Gemfile" do
+  action :nothing
+  command "bundle install --deployment"
+  cwd "/srv/switch2osm.org"
+  user "root"
+  group "root"
+  notifies :run, "execute[/srv/switch2osm.org]"
 end
 
-wordpress_plugin "switch2osm.org-wpml-translation-management" do
-  plugin "wpml-translation-management"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/wpml-translation-management.git"
+execute "/srv/switch2osm.org" do
+  action :nothing
+  command "bundle exec jekyll build --trace --baseurl=https://switch2osm.org"
+  cwd "/srv/switch2osm.org"
+  user "nobody"
+  group "nogroup"
 end
 
-wordpress_plugin "switch2osm.org-wpml-xliff" do
-  plugin "wpml-xliff"
-  site "switch2osm.org"
-  repository "https://git.openstreetmap.org/private/wpml-xliff.git"
+ssl_certificate "switch2osm.org" do
+  domains ["switch2osm.org",
+           "www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
+  notifies :reload, "service[apache2]"
 end
 
-template "/etc/cron.daily/switch2osm-backup" do
-  source "backup.cron.erb"
-  owner "root"
-  group "root"
-  mode 0o750
-  variables :passwords => passwords
+apache_site "switch2osm.org" do
+  template "apache.erb"
+  directory "/srv/switch2osm.org/_site"
 end
diff --git a/cookbooks/switch2osm/templates/default/apache.erb b/cookbooks/switch2osm/templates/default/apache.erb
new file mode 100644 (file)
index 0000000..2deada1
--- /dev/null
@@ -0,0 +1,36 @@
+# DO NOT EDIT - This file is being maintained by Chef
+
+<VirtualHost *:443>
+   ServerName <%= @name %>
+   ServerAlias www.switch2osm.org
+   ServerAlias switch2osm.com
+   ServerAlias www.switch2osm.com
+   ServerAdmin webmaster@openstreetmap.org
+
+   CustomLog /var/log/apache2/<%= @name %>-access.log combined
+   ErrorLog /var/log/apache2/<%= @name %>-error.log
+
+   SSLEngine on
+   SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
+   SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
+
+   DocumentRoot <%= @directory %>
+</VirtualHost>
+
+<VirtualHost *:80>
+   ServerName <%= @name %>
+   ServerAlias www.switch2osm.org
+   ServerAlias switch2osm.com
+   ServerAlias www.switch2osm.com
+   ServerAdmin webmaster@openstreetmap.org
+
+   CustomLog /var/log/apache2/<%= @name %>-access.log combined
+   ErrorLog /var/log/apache2/<%= @name %>-error.log
+
+   RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
+   RedirectPermanent / https://<%= @name %>/
+</VirtualHost>
+
+<Directory <%= @directory %>>
+   Require all granted
+</Directory>
diff --git a/cookbooks/switch2osm/templates/default/backup.cron.erb b/cookbooks/switch2osm/templates/default/backup.cron.erb
deleted file mode 100644 (file)
index 54717f4..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# DO NOT EDIT - This file is being maintained by Chef
-
-T=$(mktemp -d -t -p /var/tmp switch2osm.XXXXXXXXXX)
-D=$(date +%Y-%m-%d)
-B=switch2osm-$D.tar.gz
-
-mkdir $T/switch2osm-$D
-echo '[mysqldump]' > $T/mysqldump.opts
-echo 'user=switch2osm-user' >> $T/mysqldump.opts
-echo 'password=<%= @passwords["switch2osm-user"] %>' >> $T/mysqldump.opts
-mysqldump --defaults-file=$T/mysqldump.opts --opt switch2osm-blog > $T/switch2osm-$D/switch2osm-blog.sql
-ln -s /srv/switch2osm.org $T/switch2osm-$D/www
-
-export GZIP="--rsyncable -9"
-
-nice tar --create --gzip --dereference --directory=$T --file=$T/$B switch2osm-$D
-nice rsync --preallocate --fuzzy $T/$B backup::backup
-
-rm -rf $T