blob: 0f7ef00b5934456dd28cb5f047015830a02accc6 [file] [log] [blame]
{%- from "nginx/map.jinja" import server with context -%}
stream {
{% for stream_name, stream_item in server.stream.iteritems() %}
upstream {{ stream_name }}_upstream {
{%- if stream_item.least_conn is defined %}
least_conn;
{%- endif %}
{%- if stream_item.least_time is defined %}
least_time {{ stream_item.get('least_time', 'connect') }};
{%- endif %}
{%- if stream_item.hash is defined %}
hash {{ stream_item.get('hash', '$remote_addr') }};
{%- endif %}
{% for backend_name, backend_item in stream_item.get('backend', {}).iteritems() %}
server {{ backend_item.get('address', '127.0.0.1') }}:{{ backend_item.get('port', '31337') }} {{ backend_item.get('opts', '') }};
{%- endfor %}
}
{% set host = stream_item.get('host', {}) %}
server {
{% if host.bind is defined %}
listen {{ host.get('bind') }}:{{ host.get('port', '31337') }} {{ host.get('protocol', '') }};
{%- else %}
listen {{ host.get('port', '31337') }} {{ host.get('protocol', '') }};
{%- endif %}
proxy_pass {{ stream_name }}_upstream;
}
{% endfor %}
}