remove double slashes on metadata.ftp-master.debian.org
[mirror/dsa-puppet.git] / modules / roles / templates / static-mirroring / vhost / static-vhosts-simple.erb
index e917765..738ad3a 100644 (file)
 </Macro>
 
 <Macro vstatic-vhost-extra-metadata.ftp-master.debian.org>
+       # Rewrite away double slashes
+       RewriteEngine on
+       RewriteCond %{THE_REQUEST} //
+       RewriteRule ^.*$ $0 [R=302,L,NE]
+
        AddDefaultCharset utf-8
        <LocationMatch "/changelogs/(main|contrib|non-free)">
                ForceType text/plain
 
        AddOutputFilter INCLUDES .xhtml
 </Macro>
+
+
+<Macro vstatic-vhost-extra-lintian.debian.org>
+       AddDefaultCharset utf-8
+
+       <Directory /srv/static.debian.org/mirrors/lintian.debian.org/cur>
+               Require all granted
+
+               # These three lines makes apache serve
+               # "lintian.log.gz" as a text/plain with encoding gzip
+               # making it easier to view the log in the browser.
+               RemoveType .gz
+               AddEncoding x-gzip .gz
+               AddType text/plain .log
+
+               <IfModule mod_userdir.c>
+                       AddOutputFilterByType DEFLATE image/svg+xml
+                       AddOutputFilterByType DEFLATE text/plain
+               </IfModule>
+       </Directory>
+
+       <Directory /srv/static.debian.org/mirrors/lintian.debian.org/cur/resources>
+               # Cache these for a year (3600 * 24 * 365.25)
+               # Files in here will change name if their content change
+               Header set Cache-Control "max-age=31557600, public"
+       </Directory>
+
+       RewriteEngine on
+       RewriteMap source-map txt:/srv/static.debian.org/mirrors/lintian.debian.org/cur/lookup-tables/source-packages
+
+       # Re-direct from the "old" locations to the new ones
+       RewriteRule ^/reports/T(.*)\.html$ /tags/$1.html [L,R=permanent]
+       RewriteRule ^/reports/(.*)$ /$1 [L,R=permanent]
+
+       # Map source packages to reports (this mapping is re-written once per lintian run,
+       # serve it as a 302 rather than a permanent redirect)
+       # Version-less request
+       RewriteRule ^/source/([a-z0-9-]+)/?$ /${source-map:$1} [L,R,NE]
+       # Versioned request
+       RewriteRule ^/source/([a-z0-9-]+)/([a-zA-Z0-9.+:~-]+)$ /${source-map:$1/$2} [L,R,NE]
+</Macro>
+
 <%=
 
 def vhost(lines, sn, kwargs={})
@@ -77,7 +124,10 @@ def vhost(lines, sn, kwargs={})
 
                lines << "Use prepare-static-vhost #{sn}"
 
-               if kwargs[:ssl]
+               if kwargs[:ssl] and kwargs[:ssl_optional]
+                       lines << "Use static-vhost-plain-#{sn}"
+                       lines << "Use static-vhost-ssl-#{sn}"
+               elsif kwargs[:ssl]
                        lines << "Use common-dsa-vhost-https-redirect #{sn}"
                        lines << "Use static-vhost-ssl-#{sn}"
                else
@@ -92,44 +142,47 @@ def vhost(lines, sn, kwargs={})
 end
 
 lines = []
-vhost(lines, "mozilla.debian.net")
-vhost(lines, "backports.debian.org", :ssl => true)
-vhost(lines, "incoming.debian.org")
-vhost(lines, "incoming.ports.debian.org")
-vhost(lines, "debdeltas.debian.net")
-vhost(lines, "news.debian.net"         , :ssl => true)
-vhost(lines, "debaday.debian.net"      , :ssl => true)
-vhost(lines, "timeline.debian.net"     , :ssl => true)
-vhost(lines, "network-test.debian.org" , :extra => true)
-vhost(lines, "blends.debian.org"       , :ssl => true)
-vhost(lines, "wnpp-by-tags.debian.net" , :ssl => true)
-vhost(lines, "security-team.debian.org", :ssl => true)
-vhost(lines, "d-i.debian.org"      , :ssl => true)
-vhost(lines, "appstream.debian.org", :ssl => true)
-vhost(lines, "dsa.debian.org"      , :ssl => true)
-vhost(lines, "rtc.debian.org"      , :ssl => true)
-vhost(lines, "onion.debian.org"    , :ssl => true)
-
-vhost(lines, "bits.debian.org"     , :ssl => true, :extra => true)
-vhost(lines, "micronews.debian.net", :ssl => true)
+vhost(lines, "mozilla.debian.net"            , :ssl => true, :ssl_optional => true)
+vhost(lines, "backports.debian.org"          , :ssl => true)
+vhost(lines, "incoming.debian.org"           , :ssl => true, :ssl_optional => true)
+vhost(lines, "incoming.ports.debian.org"     , :ssl => true, :ssl_optional => true)
+vhost(lines, "debdeltas.debian.net"          , :ssl => true, :ssl_optional => true)
+vhost(lines, "news.debian.net"               , :ssl => true)
+vhost(lines, "bootstrap.debian.net"          , :ssl => true)
+vhost(lines, "debaday.debian.net"            , :ssl => true)
+vhost(lines, "timeline.debian.net"           , :ssl => true)
+vhost(lines, "network-test.debian.org"       , :extra => true)
+vhost(lines, "blends.debian.org"             , :ssl => true)
+vhost(lines, "wnpp-by-tags.debian.net"       , :ssl => true)
+vhost(lines, "security-team.debian.org"      , :ssl => true)
+vhost(lines, "d-i.debian.org"                , :ssl => true)
+vhost(lines, "appstream.debian.org"          , :ssl => true)
+vhost(lines, "dsa.debian.org"                , :ssl => true)
+vhost(lines, "rtc.debian.org"                , :ssl => true)
+vhost(lines, "onion.debian.org"              , :ssl => true)
+
+vhost(lines, "bits.debian.org"               , :ssl => true, :extra => true)
+vhost(lines, "micronews.debian.org"          , :ssl => true)
 vhost(lines, "metadata.ftp-master.debian.org", :extra => true)
 
-vhost(lines, "10years.debconf.org" , :ssl => true)
-vhost(lines, "debconf0.debconf.org", :ssl => true)
-vhost(lines, "debconf1.debconf.org", :ssl => true)
-vhost(lines, "debconf2.debconf.org", :ssl => true)
-vhost(lines, "debconf3.debconf.org", :ssl => true)
-vhost(lines, "debconf4.debconf.org", :ssl => true)
-vhost(lines, "debconf5.debconf.org", :ssl => true)
-vhost(lines, "debconf6.debconf.org", :ssl => true)
-vhost(lines, "debconf7.debconf.org", :ssl => true)
-vhost(lines, "es.debconf.org"      , :ssl => true)
-vhost(lines, "fr.debconf.org"      , :ssl => true)
-vhost(lines, "miniconf10.debconf.org" , :ssl => true)
-
-vhost(lines, "deb.debian.org", :extra => true)
-vhost(lines, "release.debian.org", :ssl => true, :extra => true)
-vhost(lines, "www.ports.debian.org", :ssl => true, :extra => true)
+vhost(lines, "10years.debconf.org"           , :ssl => true)
+vhost(lines, "debconf0.debconf.org"          , :ssl => true)
+vhost(lines, "debconf1.debconf.org"          , :ssl => true)
+vhost(lines, "debconf2.debconf.org"          , :ssl => true)
+vhost(lines, "debconf3.debconf.org"          , :ssl => true)
+vhost(lines, "debconf4.debconf.org"          , :ssl => true)
+vhost(lines, "debconf5.debconf.org"          , :ssl => true)
+vhost(lines, "debconf6.debconf.org"          , :ssl => true)
+vhost(lines, "debconf7.debconf.org"          , :ssl => true)
+vhost(lines, "debconf16.debconf.org"         , :ssl => true)
+vhost(lines, "es.debconf.org"                , :ssl => true)
+vhost(lines, "fr.debconf.org"                , :ssl => true)
+vhost(lines, "miniconf10.debconf.org"        , :ssl => true)
+
+vhost(lines, "deb.debian.org"                , :extra => true)
+vhost(lines, "release.debian.org"            , :ssl => true, :extra => true)
+vhost(lines, "www.ports.debian.org"          , :ssl => true, :extra => true)
+vhost(lines, "lintian.debian.org"            , :ssl => true, :extra => true)
 
 lines.join("\n")
 -%>