diff --git a/playbooks/include/proxies-fedora-web.yml b/playbooks/include/proxies-fedora-web.yml index c82a540bb5..2170e4288d 100644 --- a/playbooks/include/proxies-fedora-web.yml +++ b/playbooks/include/proxies-fedora-web.yml @@ -31,6 +31,10 @@ website: fedoramagazine.org - role: fedora-web/getfedora website: getfedora.org + - role: fedora-web/labs + website: labs.fedoraproject.org + - role: fedora-web/arm + website: arm.fedoraproject.org # Some other static content, not strictly part of "fedora-web" goes below here - role: fedora-docs/proxy diff --git a/playbooks/include/proxies-websites.yml b/playbooks/include/proxies-websites.yml index 46f9db7c64..504fcaae4a 100644 --- a/playbooks/include/proxies-websites.yml +++ b/playbooks/include/proxies-websites.yml @@ -179,6 +179,18 @@ - spins-test.fedoraproject.org cert_name: "{{wildcard_cert_name}}" + - role: httpd/website + name: labs.fedoraproject.org + server_aliases: + - labs.stg.fedoraproject.org + cert_name: "{{wildcard_cert_name}}" + + - role: httpd/website + name: arm.fedoraproject.org + server_aliases: + - arm.stg.fedoraproject.org + cert_name: "{{wildcard_cert_name}}" + - role: httpd/website name: boot.fedoraproject.org server_aliases: [boot.stg.fedoraproject.org] diff --git a/roles/fedora-web/arm/files/arm.conf b/roles/fedora-web/arm/files/arm.conf new file mode 100644 index 0000000000..aa8f7ac630 --- /dev/null +++ b/roles/fedora-web/arm/files/arm.conf @@ -0,0 +1,9 @@ +DocumentRoot /srv/web/arm.fedoraproject.org +Alias /favicon.ico /srv/web/fedoraproject.org/static/images/favicon.ico + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript + +FileETag MTime Size + +ExpiresActive On +ExpiresDefault "access plus 5 days" diff --git a/roles/fedora-web/arm/files/cron-sync-spins b/roles/fedora-web/arm/files/cron-sync-spins new file mode 100644 index 0000000000..64f723b66c --- /dev/null +++ b/roles/fedora-web/arm/files/cron-sync-spins @@ -0,0 +1 @@ +25 * * * * root /usr/bin/rsync --delete -a --no-owner --no-group bapp02::arm.fedoraproject.org/ /srv/web/arm.fedoraproject.org/ diff --git a/roles/fedora-web/arm/files/languages.conf b/roles/fedora-web/arm/files/languages.conf new file mode 100644 index 0000000000..1786596653 --- /dev/null +++ b/roles/fedora-web/arm/files/languages.conf @@ -0,0 +1,144 @@ +# Define the correct MIME type for specific languages +AddType text/html .bn +AddType text/html .el +AddType text/html .nb +AddType text/html .pl +AddType text/html .tr +AddType text/html .es + +AddLanguage af .af +AddLanguage ar .ar +AddLanguage as .as +AddLanguage ast .ast +AddLanguage bal .bal +AddLanguage bg .bg +AddLanguage bn .bn +AddLanguage bn-in .bn_IN +AddLanguage br .br +AddLanguage ca .ca +AddLanguage cs .cs +AddLanguage da .da +AddLanguage de .de +AddLanguage de-ch .de_CH +AddLanguage el .el +AddLanguage en .en +AddLanguage en-gb .en_GB +AddLanguage es .es +AddLanguage eu .eu +AddLanguage fa .fa +AddLanguage fi .fi +AddLanguage fr .fr +AddLanguage gl .gl +AddLanguage gu .gu +AddLanguage he .he +AddLanguage hi .hi +AddLanguage hu .hu +AddLanguage ia .ia +AddLanguage id .id +AddLanguage is .is +AddLanguage it .it +AddLanguage ja .ja +AddLanguage ka .ka +AddLanguage kn .kn +AddLanguage ko .ko +AddLanguage lv .lv +AddLanguage ml .ml +AddLanguage mr .mr +AddLanguage nb .nb +AddLanguage nl .nl +AddLanguage or .or +AddLanguage pa .pa +AddLanguage pl .pl +AddLanguage pt .pt +AddLanguage pt-br .pt_BR +AddLanguage ro .ro +AddLanguage ru .ru +AddLanguage sk .sk +AddLanguage sq .sq +AddLanguage sr .sr +AddLanguage sv .sv +AddLanguage ta .ta +AddLanguage te .te +AddLanguage tg .tg +AddLanguage th .th +AddLanguage tr .tr +AddLanguage uk .uk +AddLanguage vi .vi +AddLanguage zh-cn .zh_CN +AddLanguage zh-tw .zh_TW + +LanguagePriority en +ForceLanguagePriority Prefer Fallback + +AddDefaultCharset utf-8 + +RewriteEngine on + +RewriteCond %{QUERY_STRING} ^lang=(af|ar|as|ast|bal|bg|bn|bn_IN|br|ca|cs|da|de|de_CH|el|en|en_GB|es|eu|fa|fi|fr|gl|gu|he|hi|hu|ia|id|is|it|ja|ka|kn|ko|lv|ml|mr|nb|nl|or|pa|pl|pt|pt_BR|ro|ru|sk|sq|sr|sv|ta|te|tg|th|tr|uk|vi|zh_CN|zh_TW)$ +RewriteRule ^(?:/(?:af|ar|as|ast|bal|bg|bn|bn_IN|br|ca|cs|da|de|de_CH|el|en|en_GB|es|eu|fa|fi|fr|gl|gu|he|hi|hu|ia|id|is|it|ja|ka|kn|ko|lv|ml|mr|nb|nl|or|pa|pl|pt|pt_BR|ro|ru|sk|sq|sr|sv|ta|te|tg|th|tr|uk|vi|zh_CN|zh_TW))?(/.*)$ /%1$1? [R=301] +AliasMatch ^(?:/(?:af|ar|as|ast|bal|bg|bn|bn_IN|br|ca|cs|da|de|de_CH|el|en|en_GB|es|eu|fa|fi|fr|gl|gu|he|hi|hu|ia|id|is|it|ja|ka|kn|ko|lv|ml|mr|nb|nl|or|pa|pl|pt|pt_BR|ro|ru|sk|sq|sr|sv|ta|te|tg|th|tr|uk|vi|zh_CN|zh_TW))(/.*)?$ /srv/web/spins.fedoraproject.org$1 + + + Options MultiViews + + SetEnvIf Request_URI ^/af/ prefer-language=af + SetEnvIf Request_URI ^/ar/ prefer-language=ar + SetEnvIf Request_URI ^/as/ prefer-language=as + SetEnvIf Request_URI ^/ast/ prefer-language=ast + SetEnvIf Request_URI ^/bal/ prefer-language=bal + SetEnvIf Request_URI ^/bg/ prefer-language=bg + SetEnvIf Request_URI ^/bn/ prefer-language=bn + SetEnvIf Request_URI ^/bn_IN/ prefer-language=bn-in + SetEnvIf Request_URI ^/br/ prefer-language=br + SetEnvIf Request_URI ^/ca/ prefer-language=ca + SetEnvIf Request_URI ^/cs/ prefer-language=cs + SetEnvIf Request_URI ^/da/ prefer-language=da + SetEnvIf Request_URI ^/de/ prefer-language=de + SetEnvIf Request_URI ^/de_CH/ prefer-language=de-ch + SetEnvIf Request_URI ^/el/ prefer-language=el + SetEnvIf Request_URI ^/en/ prefer-language=en + SetEnvIf Request_URI ^/en_GB/ prefer-language=en-gb + SetEnvIf Request_URI ^/es/ prefer-language=es + SetEnvIf Request_URI ^/eu/ prefer-language=eu + SetEnvIf Request_URI ^/fa/ prefer-language=fa + SetEnvIf Request_URI ^/fi/ prefer-language=fi + SetEnvIf Request_URI ^/fr/ prefer-language=fr + SetEnvIf Request_URI ^/gl/ prefer-language=gl + SetEnvIf Request_URI ^/gu/ prefer-language=gu + SetEnvIf Request_URI ^/he/ prefer-language=he + SetEnvIf Request_URI ^/hi/ prefer-language=hi + SetEnvIf Request_URI ^/hu/ prefer-language=hu + SetEnvIf Request_URI ^/ia/ prefer-language=ia + SetEnvIf Request_URI ^/id/ prefer-language=id + SetEnvIf Request_URI ^/is/ prefer-language=is + SetEnvIf Request_URI ^/it/ prefer-language=it + SetEnvIf Request_URI ^/ja/ prefer-language=ja + SetEnvIf Request_URI ^/ka/ prefer-language=ka + SetEnvIf Request_URI ^/kn/ prefer-language=kn + SetEnvIf Request_URI ^/ko/ prefer-language=ko + SetEnvIf Request_URI ^/lv/ prefer-language=lv + SetEnvIf Request_URI ^/ml/ prefer-language=ml + SetEnvIf Request_URI ^/mr/ prefer-language=mr + SetEnvIf Request_URI ^/nb/ prefer-language=nb + SetEnvIf Request_URI ^/nl/ prefer-language=nl + SetEnvIf Request_URI ^/or/ prefer-language=or + SetEnvIf Request_URI ^/pa/ prefer-language=pa + SetEnvIf Request_URI ^/pl/ prefer-language=pl + SetEnvIf Request_URI ^/pt/ prefer-language=pt + SetEnvIf Request_URI ^/pt_BR/ prefer-language=pt-br + SetEnvIf Request_URI ^/ro/ prefer-language=ro + SetEnvIf Request_URI ^/ru/ prefer-language=ru + SetEnvIf Request_URI ^/sk/ prefer-language=sk + SetEnvIf Request_URI ^/sq/ prefer-language=sq + SetEnvIf Request_URI ^/sr/ prefer-language=sr + SetEnvIf Request_URI ^/sv/ prefer-language=sv + SetEnvIf Request_URI ^/ta/ prefer-language=ta + SetEnvIf Request_URI ^/te/ prefer-language=te + SetEnvIf Request_URI ^/tg/ prefer-language=tg + SetEnvIf Request_URI ^/th/ prefer-language=th + SetEnvIf Request_URI ^/tr/ prefer-language=tr + SetEnvIf Request_URI ^/uk/ prefer-language=uk + SetEnvIf Request_URI ^/vi/ prefer-language=vi + SetEnvIf Request_URI ^/zh_CN/ prefer-language=zh-cn + SetEnvIf Request_URI ^/zh_TW/ prefer-language=zh-tw + diff --git a/roles/fedora-web/arm/tasks/main.yml b/roles/fedora-web/arm/tasks/main.yml new file mode 100644 index 0000000000..ee5224adb9 --- /dev/null +++ b/roles/fedora-web/arm/tasks/main.yml @@ -0,0 +1,18 @@ +- name: Copy in the sync-arm cronjob + copy: src=cron-sync-arm dest=/etc/cron.d/sync-arm + tags: + - fedora-web + - fedora-web/arm + +- name: Copy some config files for {{website}} + copy: > + src={{item}} dest=/etc/httpd/conf.d/{{website}}/{{item}} + owner=root group=root mode=0644 + with_items: + - arm.conf + - languages.conf + notify: + - restart httpd + tags: + - fedora-web + - fedora-web/arm diff --git a/roles/fedora-web/labs/files/cron-sync-spins b/roles/fedora-web/labs/files/cron-sync-spins new file mode 100644 index 0000000000..18b2dd06e0 --- /dev/null +++ b/roles/fedora-web/labs/files/cron-sync-spins @@ -0,0 +1 @@ +25 * * * * root /usr/bin/rsync --delete -a --no-owner --no-group bapp02::labs.fedoraproject.org/ /srv/web/labs.fedoraproject.org/ diff --git a/roles/fedora-web/labs/files/labs.conf b/roles/fedora-web/labs/files/labs.conf new file mode 100644 index 0000000000..b4254ea508 --- /dev/null +++ b/roles/fedora-web/labs/files/labs.conf @@ -0,0 +1,9 @@ +DocumentRoot /srv/web/labs.fedoraproject.org +Alias /favicon.ico /srv/web/fedoraproject.org/static/images/favicon.ico + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript + +FileETag MTime Size + +ExpiresActive On +ExpiresDefault "access plus 5 days" diff --git a/roles/fedora-web/labs/files/languages.conf b/roles/fedora-web/labs/files/languages.conf new file mode 100644 index 0000000000..1786596653 --- /dev/null +++ b/roles/fedora-web/labs/files/languages.conf @@ -0,0 +1,144 @@ +# Define the correct MIME type for specific languages +AddType text/html .bn +AddType text/html .el +AddType text/html .nb +AddType text/html .pl +AddType text/html .tr +AddType text/html .es + +AddLanguage af .af +AddLanguage ar .ar +AddLanguage as .as +AddLanguage ast .ast +AddLanguage bal .bal +AddLanguage bg .bg +AddLanguage bn .bn +AddLanguage bn-in .bn_IN +AddLanguage br .br +AddLanguage ca .ca +AddLanguage cs .cs +AddLanguage da .da +AddLanguage de .de +AddLanguage de-ch .de_CH +AddLanguage el .el +AddLanguage en .en +AddLanguage en-gb .en_GB +AddLanguage es .es +AddLanguage eu .eu +AddLanguage fa .fa +AddLanguage fi .fi +AddLanguage fr .fr +AddLanguage gl .gl +AddLanguage gu .gu +AddLanguage he .he +AddLanguage hi .hi +AddLanguage hu .hu +AddLanguage ia .ia +AddLanguage id .id +AddLanguage is .is +AddLanguage it .it +AddLanguage ja .ja +AddLanguage ka .ka +AddLanguage kn .kn +AddLanguage ko .ko +AddLanguage lv .lv +AddLanguage ml .ml +AddLanguage mr .mr +AddLanguage nb .nb +AddLanguage nl .nl +AddLanguage or .or +AddLanguage pa .pa +AddLanguage pl .pl +AddLanguage pt .pt +AddLanguage pt-br .pt_BR +AddLanguage ro .ro +AddLanguage ru .ru +AddLanguage sk .sk +AddLanguage sq .sq +AddLanguage sr .sr +AddLanguage sv .sv +AddLanguage ta .ta +AddLanguage te .te +AddLanguage tg .tg +AddLanguage th .th +AddLanguage tr .tr +AddLanguage uk .uk +AddLanguage vi .vi +AddLanguage zh-cn .zh_CN +AddLanguage zh-tw .zh_TW + +LanguagePriority en +ForceLanguagePriority Prefer Fallback + +AddDefaultCharset utf-8 + +RewriteEngine on + +RewriteCond %{QUERY_STRING} ^lang=(af|ar|as|ast|bal|bg|bn|bn_IN|br|ca|cs|da|de|de_CH|el|en|en_GB|es|eu|fa|fi|fr|gl|gu|he|hi|hu|ia|id|is|it|ja|ka|kn|ko|lv|ml|mr|nb|nl|or|pa|pl|pt|pt_BR|ro|ru|sk|sq|sr|sv|ta|te|tg|th|tr|uk|vi|zh_CN|zh_TW)$ +RewriteRule ^(?:/(?:af|ar|as|ast|bal|bg|bn|bn_IN|br|ca|cs|da|de|de_CH|el|en|en_GB|es|eu|fa|fi|fr|gl|gu|he|hi|hu|ia|id|is|it|ja|ka|kn|ko|lv|ml|mr|nb|nl|or|pa|pl|pt|pt_BR|ro|ru|sk|sq|sr|sv|ta|te|tg|th|tr|uk|vi|zh_CN|zh_TW))?(/.*)$ /%1$1? [R=301] +AliasMatch ^(?:/(?:af|ar|as|ast|bal|bg|bn|bn_IN|br|ca|cs|da|de|de_CH|el|en|en_GB|es|eu|fa|fi|fr|gl|gu|he|hi|hu|ia|id|is|it|ja|ka|kn|ko|lv|ml|mr|nb|nl|or|pa|pl|pt|pt_BR|ro|ru|sk|sq|sr|sv|ta|te|tg|th|tr|uk|vi|zh_CN|zh_TW))(/.*)?$ /srv/web/spins.fedoraproject.org$1 + + + Options MultiViews + + SetEnvIf Request_URI ^/af/ prefer-language=af + SetEnvIf Request_URI ^/ar/ prefer-language=ar + SetEnvIf Request_URI ^/as/ prefer-language=as + SetEnvIf Request_URI ^/ast/ prefer-language=ast + SetEnvIf Request_URI ^/bal/ prefer-language=bal + SetEnvIf Request_URI ^/bg/ prefer-language=bg + SetEnvIf Request_URI ^/bn/ prefer-language=bn + SetEnvIf Request_URI ^/bn_IN/ prefer-language=bn-in + SetEnvIf Request_URI ^/br/ prefer-language=br + SetEnvIf Request_URI ^/ca/ prefer-language=ca + SetEnvIf Request_URI ^/cs/ prefer-language=cs + SetEnvIf Request_URI ^/da/ prefer-language=da + SetEnvIf Request_URI ^/de/ prefer-language=de + SetEnvIf Request_URI ^/de_CH/ prefer-language=de-ch + SetEnvIf Request_URI ^/el/ prefer-language=el + SetEnvIf Request_URI ^/en/ prefer-language=en + SetEnvIf Request_URI ^/en_GB/ prefer-language=en-gb + SetEnvIf Request_URI ^/es/ prefer-language=es + SetEnvIf Request_URI ^/eu/ prefer-language=eu + SetEnvIf Request_URI ^/fa/ prefer-language=fa + SetEnvIf Request_URI ^/fi/ prefer-language=fi + SetEnvIf Request_URI ^/fr/ prefer-language=fr + SetEnvIf Request_URI ^/gl/ prefer-language=gl + SetEnvIf Request_URI ^/gu/ prefer-language=gu + SetEnvIf Request_URI ^/he/ prefer-language=he + SetEnvIf Request_URI ^/hi/ prefer-language=hi + SetEnvIf Request_URI ^/hu/ prefer-language=hu + SetEnvIf Request_URI ^/ia/ prefer-language=ia + SetEnvIf Request_URI ^/id/ prefer-language=id + SetEnvIf Request_URI ^/is/ prefer-language=is + SetEnvIf Request_URI ^/it/ prefer-language=it + SetEnvIf Request_URI ^/ja/ prefer-language=ja + SetEnvIf Request_URI ^/ka/ prefer-language=ka + SetEnvIf Request_URI ^/kn/ prefer-language=kn + SetEnvIf Request_URI ^/ko/ prefer-language=ko + SetEnvIf Request_URI ^/lv/ prefer-language=lv + SetEnvIf Request_URI ^/ml/ prefer-language=ml + SetEnvIf Request_URI ^/mr/ prefer-language=mr + SetEnvIf Request_URI ^/nb/ prefer-language=nb + SetEnvIf Request_URI ^/nl/ prefer-language=nl + SetEnvIf Request_URI ^/or/ prefer-language=or + SetEnvIf Request_URI ^/pa/ prefer-language=pa + SetEnvIf Request_URI ^/pl/ prefer-language=pl + SetEnvIf Request_URI ^/pt/ prefer-language=pt + SetEnvIf Request_URI ^/pt_BR/ prefer-language=pt-br + SetEnvIf Request_URI ^/ro/ prefer-language=ro + SetEnvIf Request_URI ^/ru/ prefer-language=ru + SetEnvIf Request_URI ^/sk/ prefer-language=sk + SetEnvIf Request_URI ^/sq/ prefer-language=sq + SetEnvIf Request_URI ^/sr/ prefer-language=sr + SetEnvIf Request_URI ^/sv/ prefer-language=sv + SetEnvIf Request_URI ^/ta/ prefer-language=ta + SetEnvIf Request_URI ^/te/ prefer-language=te + SetEnvIf Request_URI ^/tg/ prefer-language=tg + SetEnvIf Request_URI ^/th/ prefer-language=th + SetEnvIf Request_URI ^/tr/ prefer-language=tr + SetEnvIf Request_URI ^/uk/ prefer-language=uk + SetEnvIf Request_URI ^/vi/ prefer-language=vi + SetEnvIf Request_URI ^/zh_CN/ prefer-language=zh-cn + SetEnvIf Request_URI ^/zh_TW/ prefer-language=zh-tw + diff --git a/roles/fedora-web/labs/tasks/main.yml b/roles/fedora-web/labs/tasks/main.yml new file mode 100644 index 0000000000..89f5d3e912 --- /dev/null +++ b/roles/fedora-web/labs/tasks/main.yml @@ -0,0 +1,18 @@ +- name: Copy in the sync-labs cronjob + copy: src=cron-sync-labs dest=/etc/cron.d/sync-labs + tags: + - fedora-web + - fedora-web/labs + +- name: Copy some config files for {{website}} + copy: > + src={{item}} dest=/etc/httpd/conf.d/{{website}}/{{item}} + owner=root group=root mode=0644 + with_items: + - labs.conf + - languages.conf + notify: + - restart httpd + tags: + - fedora-web + - fedora-web/labs