Merge branch '20840-api-deprecate-notice' refs #20840
[arvados.git] / tools / salt-install / config_examples / multi_host / aws / pillars / nginx_balancer_configuration.sls
index 92ad3af2e8381de829980eda56789d8331122344..a3a3d405f1de5bd2ac4600989d1f8325ce10ea9d 100644 (file)
@@ -6,12 +6,24 @@
 {%- import_yaml "ssl_key_encrypted.sls" as ssl_key_encrypted_pillar %}
 {%- set domain = "__DOMAIN__" %}
 {%- 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':
@@ -20,7 +32,11 @@ nginx:
           '__CLUSTER_INT_CIDR__': 0
         upstream controller_upstream:
         {%- for backend in balancer_backends %}
+          {%- if disabled_controller == "" or not backend.startswith(disabled_controller) %}
           'server {{ backend }}:80': ''
+          {%- else %}
+          'server {{ backend }}:80 down': ''
+          {% endif %}
         {%- endfor %}
 
   ### SNIPPETS