Teach dns cookbook about site aliases
authorGrant Slater <git@firefishy.com>
Sat, 4 Aug 2018 14:36:46 +0000 (15:36 +0100)
committerGrant Slater <git@firefishy.com>
Sat, 4 Aug 2018 14:36:46 +0000 (15:36 +0100)
cookbooks/dns/recipes/default.rb
cookbooks/dns/templates/default/apache.erb

index 8a1f42e..a78d1d5 100644 (file)
@@ -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
index fd555e8..0021d3e 100644 (file)
@@ -1,35 +1,57 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
 <VirtualHost *:80>
-       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 %>/
 </VirtualHost>
+<% unless @aliases.empty? -%>
 
 <VirtualHost *:443>
-       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 %>/
+</VirtualHost>
+<% end -%>
+
+<VirtualHost *:443>
+  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/
 </VirtualHost>
 
 <Directory <%= @directory %>/html>
-       Require all granted
+  Require all granted
 </Directory>
 
 <Directory /var/lib/dns/json>
-       Require all granted
+  Require all granted
 </Directory>