diff --git a/roles/fedora-docs-old/proxy/files/fedora-docs-old.conf b/roles/fedora-docs-old/proxy/files/fedora-docs-old.conf index cc7bc8111f..0760a35953 100644 --- a/roles/fedora-docs-old/proxy/files/fedora-docs-old.conf +++ b/roles/fedora-docs-old/proxy/files/fedora-docs-old.conf @@ -17,3 +17,6 @@ FileETag MTime Size ExpiresActive On ExpiresDefault "access plus 30 minutes" + +RewriteEngine On +RewriteRule ^(.*)$ http://docs.fedoraproject.org/$1 [R=301,L] diff --git a/roles/fedora-docs/build/templates/docs-sync.j2 b/roles/fedora-docs/build/templates/docs-sync.j2 index 3f49b8e1f4..0a6d67a030 100755 --- a/roles/fedora-docs/build/templates/docs-sync.j2 +++ b/roles/fedora-docs/build/templates/docs-sync.j2 @@ -20,3 +20,23 @@ cd /srv/web/docs /usr/bin/git checkout -q prod {% endif %} /usr/bin/git pull -q --ff-only + +if [ ! -d /srv/web/docs-redirects ] +then + echo "/srv/web/docs-redirects missing" + cd /srv/web +{% if env == 'staging' %} + git clone --branch redirects-stg https://pagure.io/fedora-docs/fedora-docs-web.git docs-redirects +{% else %} + git clone --branch redirects https://pagure.io/fedora-docs/fedora-docs-web.git docs-redirects +{% endif %} +fi + +cd /srv/web/docs-redirects +/usr/bin/git reset -q --hard +{% if env == 'staging' %} +/usr/bin/git checkout -q redirects-stg +{% else %} +/usr/bin/git checkout -q redirects +{% endif %} +/usr/bin/git pull -q --ff-only diff --git a/roles/fedora-docs/proxy/files/docs-rsync.stg b/roles/fedora-docs/proxy/files/docs-rsync.stg new file mode 100755 index 0000000000..c2a3f165a4 --- /dev/null +++ b/roles/fedora-docs/proxy/files/docs-rsync.stg @@ -0,0 +1,11 @@ +#!/bin/sh + +/usr/bin/rsync -aSHPv --delete --exclude=.git/objects/ sundries01::docs/ /srv/web/docs.fedoraproject.org/ +/usr/bin/rsync -aSHPv --delete --exclude=.git/objects/ sundries01::docs-redirects/ /srv/web/docs-redirects/ + +# build the combined docs tree. +# See https://pagure.io/fedora-infrastructure/issue/7130 + +/usr/bin/rsync -aH /srv/web/docs-old.fedoraproject.org/public_html/ /srv/web/docs-combined/ +/usr/bin/rsync -aH /srv/web/docs-redirects/ /srv/web/docs-combined/ +/usr/bin/rsync -aH /srv/web/docs.fedoraproject.org/ /srv/web/docs-combined/ diff --git a/roles/fedora-docs/proxy/files/fedora-docs-old.conf.stg b/roles/fedora-docs/proxy/files/fedora-docs-old.conf.stg index b5de6d4c8b..e69de29bb2 100644 --- a/roles/fedora-docs/proxy/files/fedora-docs-old.conf.stg +++ b/roles/fedora-docs/proxy/files/fedora-docs-old.conf.stg @@ -1,124 +0,0 @@ -Redirect permanent "/af" "https://docs-old.fedoraproject.org/af" -Redirect permanent "/af_ZA" "https://docs-old.fedoraproject.org/af_ZA" -Redirect permanent "/aln-AL" "https://docs-old.fedoraproject.org/aln-AL" -Redirect permanent "/am" "https://docs-old.fedoraproject.org/am" -Redirect permanent "/ar-SA" "https://docs-old.fedoraproject.org/ar-SA" -Redirect permanent "/as-IN" "https://docs-old.fedoraproject.org/as-IN" -Redirect permanent "/ast-ES" "https://docs-old.fedoraproject.org/ast-ES" -Redirect permanent "/az" "https://docs-old.fedoraproject.org/az" -Redirect permanent "/bal-PK" "https://docs-old.fedoraproject.org/bal-PK" -Redirect permanent "/be" "https://docs-old.fedoraproject.org/be" -Redirect permanent "/bg-BG" "https://docs-old.fedoraproject.org/bg-BG" -Redirect permanent "/bn-BD" "https://docs-old.fedoraproject.org/bn-BD" -Redirect permanent "/bn-IN" "https://docs-old.fedoraproject.org/bn-IN" -Redirect permanent "/bo" "https://docs-old.fedoraproject.org/bo" -Redirect permanent "/br" "https://docs-old.fedoraproject.org/br" -Redirect permanent "/brx" "https://docs-old.fedoraproject.org/brx" -Redirect permanent "/bs-BA" "https://docs-old.fedoraproject.org/bs-BA" -Redirect permanent "/ca-ES" "https://docs-old.fedoraproject.org/ca-ES" -Redirect permanent "/cs_CZ" "https://docs-old.fedoraproject.org/cs_CZ" -Redirect permanent "/cs-CZ" "https://docs-old.fedoraproject.org/cs-CZ" -Redirect permanent "/cy" "https://docs-old.fedoraproject.org/cy" -Redirect permanent "/da-DK" "https://docs-old.fedoraproject.org/da-DK" -Redirect permanent "/de-CH" "https://docs-old.fedoraproject.org/de-CH" -Redirect permanent "/de-DE" "https://docs-old.fedoraproject.org/de-DE" -Redirect permanent "/dz" "https://docs-old.fedoraproject.org/dz" -Redirect permanent "/el-GR" "https://docs-old.fedoraproject.org/el-GR" -Redirect permanent "/en-GB" "https://docs-old.fedoraproject.org/en-GB" -Redirect permanent "/en_US" "https://docs-old.fedoraproject.org/en_US" -Redirect permanent "/en-US" "https://docs-old.fedoraproject.org/en-US" -Redirect permanent "/eo" "https://docs-old.fedoraproject.org/eo" -Redirect permanent "/es_ES" "https://docs-old.fedoraproject.org/es_ES" -Redirect permanent "/es-ES" "https://docs-old.fedoraproject.org/es-ES" -Redirect permanent "/et-EE" "https://docs-old.fedoraproject.org/et-EE" -Redirect permanent "/eu_ES" "https://docs-old.fedoraproject.org/eu_ES" -Redirect permanent "/eu-ES" "https://docs-old.fedoraproject.org/eu-ES" -Redirect permanent "/fa_IR" "https://docs-old.fedoraproject.org/fa_IR" -Redirect permanent "/fa-IR" "https://docs-old.fedoraproject.org/fa-IR" -Redirect permanent "/fi-FI" "https://docs-old.fedoraproject.org/fi-FI" -Redirect permanent "/fr-FR" "https://docs-old.fedoraproject.org/fr-FR" -Redirect permanent "/ga" "https://docs-old.fedoraproject.org/ga" -Redirect permanent "/gl-ES" "https://docs-old.fedoraproject.org/gl-ES" -Redirect permanent "/gu-IN" "https://docs-old.fedoraproject.org/gu-IN" -Redirect permanent "/he-IL" "https://docs-old.fedoraproject.org/he-IL" -Redirect permanent "/hi-IN" "https://docs-old.fedoraproject.org/hi-IN" -Redirect permanent "/hr_HR" "https://docs-old.fedoraproject.org/hr_HR" -Redirect permanent "/hr-HR" "https://docs-old.fedoraproject.org/hr-HR" -Redirect permanent "/hu-HU" "https://docs-old.fedoraproject.org/hu-HU" -Redirect permanent "/hy" "https://docs-old.fedoraproject.org/hy" -Redirect permanent "/ia" "https://docs-old.fedoraproject.org/ia" -Redirect permanent "/id-ID" "https://docs-old.fedoraproject.org/id-ID" -Redirect permanent "/ilo" "https://docs-old.fedoraproject.org/ilo" -Redirect permanent "/images" "https://docs-old.fedoraproject.org/images" -Redirect permanent "/is-IS" "https://docs-old.fedoraproject.org/is-IS" -Redirect permanent "/it_IT" "https://docs-old.fedoraproject.org/it_IT" -Redirect permanent "/it-IT" "https://docs-old.fedoraproject.org/it-IT" -Redirect permanent "/ja_JP" "https://docs-old.fedoraproject.org/ja_JP" -Redirect permanent "/ja-JP" "https://docs-old.fedoraproject.org/ja-JP" -Redirect permanent "/ka" "https://docs-old.fedoraproject.org/ka" -Redirect permanent "/kk" "https://docs-old.fedoraproject.org/kk" -Redirect permanent "/km" "https://docs-old.fedoraproject.org/km" -Redirect permanent "/kn-IN" "https://docs-old.fedoraproject.org/kn-IN" -Redirect permanent "/ko-KR" "https://docs-old.fedoraproject.org/ko-KR" -Redirect permanent "/ks" "https://docs-old.fedoraproject.org/ks" -Redirect permanent "/ku" "https://docs-old.fedoraproject.org/ku" -Redirect permanent "/ky" "https://docs-old.fedoraproject.org/ky" -Redirect permanent "/la" "https://docs-old.fedoraproject.org/la" -Redirect permanent "/lo" "https://docs-old.fedoraproject.org/lo" -Redirect permanent "/lt-LT" "https://docs-old.fedoraproject.org/lt-LT" -Redirect permanent "/lv-LT" "https://docs-old.fedoraproject.org/lv-LT" -Redirect permanent "/lv-LV" "https://docs-old.fedoraproject.org/lv-LV" -Redirect permanent "/mai-IN" "https://docs-old.fedoraproject.org/mai-IN" -Redirect permanent "/mg" "https://docs-old.fedoraproject.org/mg" -Redirect permanent "/mk" "https://docs-old.fedoraproject.org/mk" -Redirect permanent "/ml-IN" "https://docs-old.fedoraproject.org/ml-IN" -Redirect permanent "/mn" "https://docs-old.fedoraproject.org/mn" -Redirect permanent "/mr-IN" "https://docs-old.fedoraproject.org/mr-IN" -Redirect permanent "/ms_MY" "https://docs-old.fedoraproject.org/ms_MY" -Redirect permanent "/ms-MY" "https://docs-old.fedoraproject.org/ms-MY" -Redirect permanent "/my" "https://docs-old.fedoraproject.org/my" -Redirect permanent "/nb-NO" "https://docs-old.fedoraproject.org/nb-NO" -Redirect permanent "/nds-DE" "https://docs-old.fedoraproject.org/nds-DE" -Redirect permanent "/ne" "https://docs-old.fedoraproject.org/ne" -Redirect permanent "/nl-NL" "https://docs-old.fedoraproject.org/nl-NL" -Redirect permanent "/nn-NO" "https://docs-old.fedoraproject.org/nn-NO" -Redirect permanent "/no" "https://docs-old.fedoraproject.org/no" -Redirect permanent "/nso" "https://docs-old.fedoraproject.org/nso" -Redirect permanent "/oldcontrib" "https://docs-old.fedoraproject.org/oldcontrib" -Redirect permanent "/oldguides" "https://docs-old.fedoraproject.org/oldguides" -Redirect permanent "/oldmisc" "https://docs-old.fedoraproject.org/oldmisc" -Redirect permanent "/oldweb" "https://docs-old.fedoraproject.org/oldweb" -Redirect permanent "/or-IN" "https://docs-old.fedoraproject.org/or-IN" -Redirect permanent "/pa-IN" "https://docs-old.fedoraproject.org/pa-IN" -Redirect permanent "/pl-PL" "https://docs-old.fedoraproject.org/pl-PL" -Redirect permanent "/pt-BR" "https://docs-old.fedoraproject.org/pt-BR" -Redirect permanent "/pt-PT" "https://docs-old.fedoraproject.org/pt-PT" -Redirect permanent "/ro" "https://docs-old.fedoraproject.org/ro" -Redirect permanent "/ro-RO" "https://docs-old.fedoraproject.org/ro-RO" -Redirect permanent "/ru_RU" "https://docs-old.fedoraproject.org/ru_RU" -Redirect permanent "/ru-RU" "https://docs-old.fedoraproject.org/ru-RU" -Redirect permanent "/si-LK" "https://docs-old.fedoraproject.org/si-LK" -Redirect permanent "/sk-SK" "https://docs-old.fedoraproject.org/sk-SK" -Redirect permanent "/sl-SI" "https://docs-old.fedoraproject.org/sl-SI" -Redirect permanent "/sq-AL" "https://docs-old.fedoraproject.org/sq-AL" -Redirect permanent "/sr-Latn-RS" "https://docs-old.fedoraproject.org/sr-Latn-RS" -Redirect permanent "/sr-RS" "https://docs-old.fedoraproject.org/sr-RS" -Redirect permanent "/sv-SE" "https://docs-old.fedoraproject.org/sv-SE" -Redirect permanent "/ta_IN" "https://docs-old.fedoraproject.org/ta_IN" -Redirect permanent "/ta-IN" "https://docs-old.fedoraproject.org/ta-IN" -Redirect permanent "/te-IN" "https://docs-old.fedoraproject.org/te-IN" -Redirect permanent "/tg-TJ" "https://docs-old.fedoraproject.org/tg-TJ" -Redirect permanent "/th" "https://docs-old.fedoraproject.org/th" -Redirect permanent "/th-TH" "https://docs-old.fedoraproject.org/th-TH" -Redirect permanent "/tl" "https://docs-old.fedoraproject.org/tl" -Redirect permanent "/tr-TR" "https://docs-old.fedoraproject.org/tr-TR" -Redirect permanent "/uk_UA" "https://docs-old.fedoraproject.org/uk_UA" -Redirect permanent "/uk-UA" "https://docs-old.fedoraproject.org/uk-UA" -Redirect permanent "/ur-PK" "https://docs-old.fedoraproject.org/ur-PK" -Redirect permanent "/vi-VN" "https://docs-old.fedoraproject.org/vi-VN" -Redirect permanent "/wo" "https://docs-old.fedoraproject.org/wo" -Redirect permanent "/xh" "https://docs-old.fedoraproject.org/xh" -Redirect permanent "/zh-CN" "https://docs-old.fedoraproject.org/zh-CN" -Redirect permanent "/zh-HK" "https://docs-old.fedoraproject.org/zh-HK" -Redirect permanent "/zh-TW" "https://docs-old.fedoraproject.org/zh-TW" -Redirect permanent "/zu" "https://docs-old.fedoraproject.org/zu" diff --git a/roles/fedora-docs/proxy/files/fedora-docs.conf.stg b/roles/fedora-docs/proxy/files/fedora-docs.conf.stg index ebce64535e..5df922cc46 100644 --- a/roles/fedora-docs/proxy/files/fedora-docs.conf.stg +++ b/roles/fedora-docs/proxy/files/fedora-docs.conf.stg @@ -1,4 +1,4 @@ -DocumentRoot /srv/web/docs.fedoraproject.org/ +DocumentRoot /srv/web/docs-combined/ ErrorDocument 404 /_images/404.html AddType application/epub+zip .epub diff --git a/roles/fedora-docs/proxy/tasks/main.yml b/roles/fedora-docs/proxy/tasks/main.yml index 311b4feac5..6684a043de 100644 --- a/roles/fedora-docs/proxy/tasks/main.yml +++ b/roles/fedora-docs/proxy/tasks/main.yml @@ -4,6 +4,15 @@ tags: - fedora-docs - fedora-docs/proxy + when: env == "staging" + +- copy: > + src=docs-rsync dest=/usr/local/bin/docs-rsync.stg + owner=root group=root mode=0755 + tags: + - fedora-docs + - fedora-docs/proxy + when: env == "staging" - copy: > src=cron-docs-rsync dest=/etc/cron.d/docs-rsync diff --git a/roles/rsyncd/files/rsyncd.conf.sundries-stg b/roles/rsyncd/files/rsyncd.conf.sundries-stg index 659bc15b18..2686e9a010 100644 --- a/roles/rsyncd/files/rsyncd.conf.sundries-stg +++ b/roles/rsyncd/files/rsyncd.conf.sundries-stg @@ -213,3 +213,11 @@ uid = root gid = root read only = yes hosts allow = 10.5.126.0/255.255.255.0 192.168.0.0/255.255.0.0 10.5.128.0/255.255.255.0 + +[docs-redirects] +comment = Docs Site Redirects +path = /srv/web/docs-redirects +uid = root +gid = root +read only = yes +hosts allow = 10.5.126.0/255.255.255.0 192.168.0.0/255.255.0.0 10.5.128.0/255.255.255.0