Sasi Olin 08cea7
{% set workers = salt['pillar.get']('profile:matrix:workers') %}
Sasi Olin 08cea7
Sasi Olin 08cea7
{% for app, types in workers.items() %}
Sasi Olin f0a978
{% for type in types %}
Sasi Olin 08cea7
Sasi Olin 08cea7
upstream {{ app }}_{{ loop.index }} {
Sasi Olin 08cea7
    {{ type.get('upstream_balancing') }}
Sasi Olin 6725c7
    {%- for worker, port in type.get('workers').items() %}
Sasi Olin 08cea7
    server 127.0.0.1:{{ port }}; # {{ worker }}
Sasi Olin 08cea7
    {%- endfor %}
Sasi Olin 08cea7
}
Sasi Olin 08cea7
Sasi Olin 4e2f5d
{%- for uri in type.get('rest') %}
Sasi Olin 08cea7
location ~ {{ uri }} {
Sasi Olin 08cea7
    proxy_pass http://{{ app }}_{{ loop.index }}$request_uri;
Sasi Olin 08cea7
    proxy_set_header X-Forwarded-For $remote_addr;
Sasi Olin 08cea7
    proxy_set_header Host $host;
Sasi Olin 08cea7
}
Sasi Olin 08cea7
{% endfor %}
Sasi Olin 08cea7
Sasi Olin 08cea7
{% endfor %}
Sasi Olin 08cea7
{% endfor %}