From 9800d0239b925fee88eb79e5c39f55ab5f54e172 Mon Sep 17 00:00:00 2001
From: Giancarlo Razzolini <grazzolini@archlinux.org>
Date: Fri, 13 Jan 2017 15:41:25 -0200
Subject: [PATCH] roles/archweb: Create domain redirects for the domains that
 point to specific archweb sub urls.

---
 roles/archweb/defaults/main.yml         | 6 +++++-
 roles/archweb/templates/nginx.d.conf.j2 | 8 +++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/roles/archweb/defaults/main.yml b/roles/archweb/defaults/main.yml
index 867f4ff59..de99e7e9b 100644
--- a/roles/archweb/defaults/main.yml
+++ b/roles/archweb/defaults/main.yml
@@ -1,7 +1,11 @@
 ---
 archweb_dir: '/srv/http/archweb'
 archweb_domain: 'www.archlinux.org'
-archweb_alternate_domains: ['archlinux.org']
+archweb_alternate_domains: ['archlinux.org', 'master-key.archlinux.org', 'dev.archlinux.org', 'packages.archlinux.org']
+archweb_domains_redirects:
+        'master-key.archlinux.org': '/master-keys'
+        'dev.archlinux.org': '/'
+        'packages.archlinux.org': '/packages'
 archweb_site: true
 archweb_mirrorcheck: false
 archweb_mirrorresolv: false
diff --git a/roles/archweb/templates/nginx.d.conf.j2 b/roles/archweb/templates/nginx.d.conf.j2
index 10a363a54..060ae1920 100644
--- a/roles/archweb/templates/nginx.d.conf.j2
+++ b/roles/archweb/templates/nginx.d.conf.j2
@@ -1,3 +1,4 @@
+
 upstream archweb {
     server unix:///run/uwsgi/archweb.sock;
 }
@@ -32,7 +33,12 @@ server {
     ssl_trusted_certificate /etc/letsencrypt/live/{{ archweb_domain }}/chain.pem;
 
     location / {
-        rewrite ^(.*) https://{{ archweb_domain }}$1 permanent;
+        rewrite ^(.*) https://{{ archweb_domain }}
+        {%- if archweb_domains_redirects -%}
+            {{ archweb_domains_redirects[domain]|default('$1') }}
+        {%- else -%}
+           $1
+        {%- endif %} permanent;
     }
 }
 {% endfor %}
-- 
GitLab