Freezebreak request: add getfedora.org to proxies (take 2)

Kevin Fenzi kevin at scrye.com
Sat Nov 22 17:30:54 UTC 2014


So, I reworked this a bit. 

* Only enable in stg for now. We can enable in prod later. Thinking
  about it, I don't think we want to disrupt prod until we have the
  certs. Also, we may want to at first make prod redirect or something
  until we go 'live' 

* Drop the ssl bits for now until we have a ssl cert.

+1s for the revised commit below?

kevin
--
diff --git a/manifests/services/proxy.pp b/manifests/services/proxy.pp
index a039768..d85cb3d 100644
--- a/manifests/services/proxy.pp
+++ b/manifests/services/proxy.pp
@@ -711,6 +711,15 @@ if $puppetEnvironment == 'staging'{
         website  => "id.stg.fedoraproject.org",
         proxyurl => "http://localhost:10020",
     }
+
+    httpd::website { "getfedora.org":
+        ips            => $fpo_ips,
+        server_aliases => [ "stg.getfedora.org" ],
+    }
+
+    fedora-web::getfedora::proxy { "getfedora.org":
+        website => "getfedora.org"
+    }
 }
 
     datagrepper::proxy { "apps.fedoraproject.org/datagrepper":
diff --git a/modules/fedora-web/files/getfedora-languages.conf
b/modules/fedora-web/files/getfedora-languages.conf index
e69de29..c770e7e 100644 ---
a/modules/fedora-web/files/getfedora-languages.conf +++
b/modules/fedora-web/files/getfedora-languages.conf @@ -0,0 +1,143 @@
+# 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
+ 
+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/getfedora.org$1
+ +<Directory /srv/web/getfedora.org>
+  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
+</Directory>
diff --git a/modules/fedora-web/files/getfedora.org.conf
b/modules/fedora-web/files/getfedora.org.conf index e69de29..7fc238f
100644 --- a/modules/fedora-web/files/getfedora.org.conf
+++ b/modules/fedora-web/files/getfedora.org.conf
@@ -0,0 +1,9 @@
+DocumentRoot /srv/web/getfedora.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/modules/fedora-web/files/syncStatic.sh.stg
b/modules/fedora-web/files/syncStatic.sh.stg index 873c53f..b91b249
100644 --- a/modules/fedora-web/files/syncStatic.sh.stg
+++ b/modules/fedora-web/files/syncStatic.sh.stg
@@ -49,7 +49,6 @@ cd /srv/web/fedora-web
 
 /usr/bin/git pull -q --ff-only || exit 1
 build fedoraproject.org
-build spins.fedoraproject.org
 
 pushd mirrors.fedoraproject.org > /dev/null
 rsync -qa --delete-after
--delay-updates . /srv/web/mirrors.fedoraproject.org/ @@ -66,3 +65,6 @@
build boot.fedoraproject.org build fedoracommunity.org
 build start.fedoraproject.org
 build fudcon.fedoraproject.org
+/usr/bin/git checkout -q getfedora || exit 1
+build getfedora.org
+build spins.fedoraproject.org
diff --git a/modules/fedora-web/manifests/init.pp
b/modules/fedora-web/manifests/init.pp index f7c4fb8..928d09a 100644
--- a/modules/fedora-web/manifests/init.pp
+++ b/modules/fedora-web/manifests/init.pp
@@ -22,6 +22,7 @@ class fedora-web::build {
         "/srv/web/mirrors.fedoraproject.org",
         "/srv/web/fedoracommunity.org",
         "/srv/web/fudcon.fedoraproject.org",
+        "/srv/web/getfedora.org",
     ]:
         owner  => "apache",
         group  => "apache",
@@ -75,6 +76,7 @@ class fedora-web::build {
             File["/srv/web/mirrors.fedoraproject.org"],
             File["/srv/web/fedoracommunity.org"],
             File["/srv/web/fudcon.fedoraproject.org"],
+            File["/srv/web/getfedora.org"],
         ],
     }
 }
@@ -276,6 +278,34 @@ define fedora-web::spins::proxy($website) {
     }
 }
 
+define fedora-web::getfedora::proxy($website) {
+    include httpd::base
+
+    cron { "sync-getfedora-web":
+        command => "/usr/bin/rsync --delete -a --no-owner --no-group
bapp02::getfedora.org/ /srv/web/getfedora.org/",
+        user    => "root",
+        minute  => 25,
+    }
+
+    file { "/etc/httpd/conf.d/$website/getfedora.org.conf":
+        owner   => "root",
+        group   => "root",
+        mode    => 0644,
+        source  => "puppet:///fedora-web/getfedora.org.conf",
+        notify  => Service["httpd"],
+        require => Httpd::Website[$website],
+    }
+
+    file { "/etc/httpd/conf.d/$website/languages.conf":
+        owner   => "root",
+        group   => "root",
+        mode    => 0644,
+        source  => "puppet:///fedora-web/getfedora-languages.conf",
+        notify  => Service["httpd"],
+        require => Httpd::Website[$website],
+    }
+}
+
 define fedora-web::boot::proxy($website) {
     include httpd::base
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.fedoraproject.org/pipermail/infrastructure/attachments/20141122/05107a8f/attachment.sig>


More information about the infrastructure mailing list