blob: 2cf13ebac82dd70f6367621379e9661e4300db7a [file] [log] [blame]
server {
listen 80;
server_name universe.marathon.mesos;
access_log /dev/stdout;
error_log /dev/stdout;
gzip_static on; # nginx will automatically search for a .gz version of a file and serve it if it exists
set $dcos_release_version 1.6.1;
set $serve_json false;
if ($http_accept ~ ".*application/vnd\.dcos\.universe\.repo\+json;charset=utf-8;version=v3.*") {
# The Accept header contains the v3 repo schema
set $serve_json true;
set $universe_version v3;
}
if ($http_accept ~ ".*application/vnd\.dcos\.universe\.repo\+json;charset=utf-8;version=v4.*") {
# The Accept header contains the v4 repo schema
set $serve_json true;
set $universe_version v4;
}
if ($http_user_agent ~ ".*dcos\/1\.8.*") {
set $dcos_release_version 1.8;
}
if ($http_user_agent ~ ".*dcos\/1\.9.*") {
set $dcos_release_version 1.9;
}
if ($http_user_agent ~ ".*dcos\/1\.10.*") {
set $dcos_release_version 1.10;
}
if ($http_user_agent ~ ".*dcos\/1\.11.*") {
set $dcos_release_version 1.11;
}
location = /repo-1.7 {
types {
"application/vnd.dcos.universe.repo+json;charset=utf-8;version=v3" json;
application/zip zip;
}
set $compound_if "";
if ($serve_json = true) {
set $compound_if "${compound_if}json";
}
if ($dcos_release_version != "1.7") {
set $compound_if "${compound_if}notoneseven";
}
if ($compound_if ~ "jsonnotoneseven") {
rewrite ^/repo-1.7$ /repo-empty-v3.json break;
}
rewrite ^/repo-1.7$ /repo-up-to-1.7.zip break;
}
location = /repo {
types {
application/zip zip;
}
if ($universe_version = v3) {
rewrite ^/repo$ /v3;
}
if ($universe_version = v4) {
rewrite ^/repo$ /v4;
}
rewrite ^/repo$ /repo-up-to-$dcos_release_version.zip break;
}
location = /v3 {
internal;
types {
"application/vnd.dcos.universe.repo+json;charset=utf-8;version=v3" json;
}
rewrite ^/v3$ /repo-up-to-$dcos_release_version.json break;
}
location = /v4 {
internal;
types {
"application/vnd.dcos.universe.repo+json;charset=utf-8;version=v4" json;
}
rewrite ^/v4$ /repo-up-to-$dcos_release_version.json break;
}
}