{%- import_yaml "ssl_key_encrypted.sls" as ssl_key_encrypted_pillar %}
{%- set domain = "__DOMAIN__" %}
-{%- set enable_balancer = ("__ENABLE_BALANCER__"|to_bool) %}
-{%- set balancer_backends = "__BALANCER_BACKENDS__".split(",") if enable_balancer else [] %}
+{%- set balancer_backends = "__CONTROLLER_NODES__".split(",") %}
+{%- set controller_nr = balancer_backends|length %}
+{%- set disabled_controller = "__DISABLED_CONTROLLER__" %}
+{%- set max_reqs = ("__CONTROLLER_MAX_QUEUED_REQUESTS__" or 128)|int %}
### NGINX
nginx:
### SERVER
server:
config:
+ {%- if max_reqs != "" %}
+ worker_rlimit_nofile: {{ (max_reqs|int * 3 * controller_nr)|round|int }}
+ events:
+ worker_connections: {{ (max_reqs|int * 3 * controller_nr)|round|int }}
+ {%- else %}
+ worker_rlimit_nofile: 4096
+ events:
+ worker_connections: 1024
+ {%- endif %}
### STREAMS
http:
'geo $external_client':
'__CLUSTER_INT_CIDR__': 0
upstream controller_upstream:
{%- for backend in balancer_backends %}
- 'server {{ backend }}.{{ domain }}:80': ''
+ {%- if disabled_controller == "" or not backend.startswith(disabled_controller) %}
+ 'server {{ backend }}:80': ''
+ {%- else %}
+ 'server {{ backend }}:80 down': ''
+ {% endif %}
{%- endfor %}
### SNIPPETS