aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/templates/vhost_repository.conf
diff options
context:
space:
mode:
Diffstat (limited to 'modules/buildsystem/templates/vhost_repository.conf')
-rw-r--r--modules/buildsystem/templates/vhost_repository.conf101
1 files changed, 62 insertions, 39 deletions
diff --git a/modules/buildsystem/templates/vhost_repository.conf b/modules/buildsystem/templates/vhost_repository.conf
index 50d42b3b..e082ffca 100644
--- a/modules/buildsystem/templates/vhost_repository.conf
+++ b/modules/buildsystem/templates/vhost_repository.conf
@@ -1,50 +1,73 @@
-<%
-# FIXME: add a reverse lookup for IPv6 adresses
-# allowed hosts are: valstar, ecosse, jonund
-buildsystem_nodes = "2a02:2178:2:7::3/64 2a02:2178:2:7::4/64 2a02:2178:2:7::5/64"
-%>
-
+<%-
+mirror_root = scope.lookupvar('buildsystem::var::repository::mirror_root')
+mirror_reporoot = scope.lookupvar('buildsystem::var::repository::mirror_reporoot')
+bootstrap_reporoot = scope.lookupvar('buildsystem::var::repository::bootstrap_reporoot')
+distribdir = scope.lookupvar('buildsystem::var::repository::distribdir')
+repo_allow_from_ips = scope.lookupvar('buildsystem::var::distros::repo_allow_from_ips')
+repo_allow_from_domains = scope.lookupvar('buildsystem::var::distros::repo_allow_from_ips')
+distros = scope.lookupvar('buildsystem::var::distros::distros')
+-%>
<VirtualHost *:80>
- ServerName repository.<%= domain %>
+ ServerName <%= scope.lookupvar('buildsystem::var::repository::hostname') %>
DocumentRoot <%= mirror_root %>
- Alias /distrib/infra_1/ "/distrib/bootstrap/distrib/infra_1/"
- Alias /mandriva/ "/distrib/mandriva/"
- Alias /mageiatools/ "/distrib/mageiatools/"
- <Directory <%= mirror_root %>>
- Order deny,allow
- Deny from all
- Allow from localhost, 127.0.0.1
- Allow from <%= buildsystem_nodes %>
- Allow from .<%= domain %>
- Options Indexes FollowSymLinks
- </Directory>
+ # Some simple API to check existence of SRPMs for QA
+ RewriteEngine On
- <Directory /distrib/bootstrap/distrib/infra_1>
- Header append Cache-Control "public, must-revalidate"
- Order deny,allow
- Allow from all
- Options Indexes FollowSymLinks
- </Directory>
+ RewriteCond /distrib/bootstrap/distrib/$2/SRPMS/$3/$1s_testing/$4.src.rpm -f
+ RewriteRule ^/qa/checksrpm/(update|backport)/([1-9][0-9]*)/([a-z_]+)/([^/]+)$ http://repository.mageia.org/qa/checksrpm/found [L,R=302]
- <Directory /distrib/mandriva>
- Order deny,allow
- Deny from all
- Allow from localhost, 127.0.0.1
- Allow from <%= buildsystem_nodes %>
- Allow from .<%= domain %>
- Options Indexes FollowSymLinks
- </Directory>
-
- <Directory /distrib/mandriva/2010.1-mgaserv/>
- Order deny,allow
- Allow from all
+ RewriteRule ^/qa/checksrpm/ - [L,G]
+
+<%-
+ if repo_allow_from_ips != nil || repo_allow_from_domains != nil then
+ access_requires = [ 'all denied' ]
+ if repo_allow_from_ips != nil then
+ for allow in repo_allow_from_ips do
+ access_requires << 'ip ' + allow
+ end
+ end
+ if repo_allow_from_domains != nil then
+ for allow in repo_allow_from_domains do
+ access_requires << 'host ' + allow
+ end
+ end
+ else
+ access_requires = [ 'all granted' ]
+ end
+%>
+ Alias /bootstrap/ "<%= bootstrap_reporoot %>/"
+<%-
+ distros.keys.sort.each{|distroname|
+ distro = distros[distroname]
+ if distro['no_mirror'] -%>
+ Alias /<%= distribdir %>/<%= distroname %>/ "<%= bootstrap_reporoot %>/<%= distroname %>/"
+<%-
+ end
+ }
+-%>
+
+ <Directory <%= bootstrap_reporoot %>>
+ Header append Cache-Control "public, must-revalidate"
+<%-
+ for req in access_requires do
+-%>
+ Require <%= req %>
+<%-
+ end
+-%>
Options Indexes FollowSymLinks
</Directory>
- <Directory /distrib/mageiatools>
- Order deny,allow
- Allow from all
+ <Directory <%= mirror_root %>>
+ Header append Cache-Control "public, must-revalidate"
+<%-
+ for req in access_requires do
+-%>
+ Require <%= req %>
+<%-
+ end
+-%>
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>