From ca91e26c0c3941b95e6d11eecf0ac3c1975d2e35 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Sat, 4 Aug 2018 15:36:46 +0100 Subject: [PATCH] Teach dns cookbook about site aliases --- cookbooks/dns/recipes/default.rb | 3 +- cookbooks/dns/templates/default/apache.erb | 56 +++++++++++++++------- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/cookbooks/dns/recipes/default.rb b/cookbooks/dns/recipes/default.rb index 8a1f42ea8..a78d1d5fc 100644 --- a/cookbooks/dns/recipes/default.rb +++ b/cookbooks/dns/recipes/default.rb @@ -73,13 +73,14 @@ template "/srv/dns.openstreetmap.org/html/index.html" do end ssl_certificate "dns.openstreetmap.org" do - domains "dns.openstreetmap.org" + domains ["dns.openstreetmap.org", "dns.osm.org"] notifies :reload, "service[apache2]" end apache_site "dns.openstreetmap.org" do template "apache.erb" directory "/srv/dns.openstreetmap.org" + variables :aliases => ["dns.osm.org"] end template "/usr/local/bin/dns-update" do diff --git a/cookbooks/dns/templates/default/apache.erb b/cookbooks/dns/templates/default/apache.erb index fd555e886..0021d3e82 100644 --- a/cookbooks/dns/templates/default/apache.erb +++ b/cookbooks/dns/templates/default/apache.erb @@ -1,35 +1,57 @@ # DO NOT EDIT - This file is being maintained by Chef - ServerName <%= @name %> - ServerAdmin webmaster@openstreetmap.org + ServerName <%= @name %> +<% @aliases.each do |alias_name| -%> + ServerAlias <%= alias_name %> +<% end -%> + ServerAdmin webmaster@openstreetmap.org - CustomLog /var/log/apache2/<%= @name %>-access.log combined - ErrorLog /var/log/apache2/<%= @name %>-error.log + 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 %>/ + RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/ + RedirectPermanent / https://<%= @name %>/ +<% unless @aliases.empty? -%> - ServerName <%= @name %> - ServerAdmin webmaster@openstreetmap.org + ServerName <%= @aliases.first %> +<% @aliases.drop(1).each do |alias_name| -%> + ServerAlias <%= alias_name %> +<% end -%> + ServerAdmin webmaster@openstreetmap.org - SSLEngine on - SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem - SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key + SSLEngine on + SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem + SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key - CustomLog /var/log/apache2/<%= @name %>-access.log combined - ErrorLog /var/log/apache2/<%= @name %>-error.log + CustomLog /var/log/apache2/<%= @name %>-access.log combined + ErrorLog /var/log/apache2/<%= @name %>-error.log - DocumentRoot <%= @directory %>/html - Alias /json/ /var/lib/dns/json/ + RedirectPermanent / https://<%= @name %>/ + +<% end -%> + + + ServerName <%= @name %> + ServerAdmin webmaster@openstreetmap.org + + SSLEngine on + SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem + SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key + + CustomLog /var/log/apache2/<%= @name %>-access.log combined + ErrorLog /var/log/apache2/<%= @name %>-error.log + + DocumentRoot <%= @directory %>/html + Alias /json/ /var/lib/dns/json/ /html> - Require all granted + Require all granted - Require all granted + Require all granted -- 2.43.2