blob: 20b67781ed37dd3497ed7e665f41c91ac157fc9b [file] [log] [blame]
{%- from "devops_portal/map.jinja" import config with context -%}
{%- from "devops_portal/map.jinja" import services with context -%}
{%- from "devops_portal/map.jinja" import service_url with context -%}
{%- from "devops_portal/map.jinja" import service_url_dns with context -%}
daemon off;
worker_processes 1;
error_log /dev/stderr;
pid /var/run/nginx/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
sendfile on;
log_format upstreamlog '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time';
access_log /dev/stdout upstreamlog;
server {
listen 0.0.0.0:8000 default_server;
root /opt/devops-portal/;
gzip on;
gzip_min_length 1000;
gzip_types
text/plain
text/css
application/json
application/javascript
application/x-javascript;
location / {
if ($request_method = OPTIONS ) {
add_header Content-Length 0;
add_header Content-Type text/plain;
return 200;
}
try_files $uri /index.html;
}
{%- for service_name in services %}
{%- if config.service[service_name] is defined %}
{%- set service = config.service[service_name] %}
{%- if service.enabled|default(True) and service.configure_proxy|default(False) %}
{%- if service.resolve_hostname|default(False) %}
location /api/{{ service_name }}/ {
resolver 127.0.0.11;
set ${{ service.endpoint.address|replace("-", "_") }} {{ service.endpoint.address }};
rewrite ^/api/{{ service_name }}/(.*) /$1 break;
proxy_connect_timeout {{ service.proxy_connect_timeout|default(300) }};
proxy_send_timeout {{ service.proxy_send_timeout|default(300) }};
proxy_read_timeout {{ service.proxy_read_timeout|default(300) }};
send_timeout {{ service.send_timeout|default(300) }};
proxy_pass {{ service_url_dns(service.endpoint) }};
}
{%- else %}
location /api/{{ service_name }}/ {
proxy_connect_timeout {{ service.proxy_connect_timeout|default(300) }};
proxy_send_timeout {{ service.proxy_send_timeout|default(300) }};
proxy_read_timeout {{ service.proxy_read_timeout|default(300) }};
send_timeout {{ service.send_timeout|default(300) }};
proxy_pass {{ service_url(service.endpoint) }};
}
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
}
}