2 # Copyright (C) The Arvados Authors. All rights reserved.
4 # SPDX-License-Identifier: AGPL-3.0
6 {%- import_yaml "ssl_key_encrypted.sls" as ssl_key_encrypted_pillar %}
15 'geo $external_client':
18 '__CLUSTER_INT_CIDR__': 0
19 upstream controller_upstream:
20 - server: 'localhost:8003 fail_timeout=10s'
26 arvados_controller_default.conf:
31 - server_name: __CLUSTER__.__DOMAIN__
34 - location /.well-known:
37 - return: '301 https://$host$request_uri'
39 arvados_controller_ssl.conf:
46 - server_name: __CLUSTER__.__DOMAIN__
48 - __CONTROLLER_EXT_SSL_PORT__ http2 ssl
49 - index: index.html index.htm
51 - proxy_pass: 'http://controller_upstream'
52 - proxy_read_timeout: 300
53 - proxy_connect_timeout: 90
54 - proxy_redirect: 'off'
55 - proxy_set_header: X-Forwarded-Proto https
56 - proxy_set_header: 'Host $http_host'
57 - proxy_set_header: 'X-Real-IP $remote_addr'
58 - proxy_set_header: 'X-Forwarded-For $proxy_add_x_forwarded_for'
59 - proxy_set_header: 'X-External-Client $external_client'
60 - proxy_set_header: 'Upgrade $http_upgrade'
61 - proxy_set_header: 'Connection "upgrade"'
62 - proxy_max_temp_file_size: 0
63 - proxy_request_buffering: 'off'
64 - proxy_buffering: 'off'
65 - proxy_http_version: '1.1'
66 - include: snippets/ssl_hardening_default.conf
67 - ssl_certificate: __CERT_PEM__
68 - ssl_certificate_key: __CERT_KEY__
69 {%- if ssl_key_encrypted_pillar.ssl_key_encrypted.enabled %}
70 - ssl_password_file: {{ '/run/arvados/' | path_join(ssl_key_encrypted_pillar.ssl_key_encrypted.privkey_password_filename) }}
72 - access_log: /var/log/nginx/controller.__CLUSTER__.__DOMAIN__.access.log combined
73 - error_log: /var/log/nginx/controller.__CLUSTER__.__DOMAIN__.error.log
74 - client_max_body_size: 128m