Skip to content

Commit 5af574c

Browse files
author
tosih
committed
Update nginx ingress proxy configuration to allow for multiple upstreams.
1 parent e03fe3f commit 5af574c

2 files changed

Lines changed: 39 additions & 15 deletions

File tree

ansible/group_vars/alpha-ingress-proxy.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,35 @@ volume_mounts:
2424

2525
services:
2626
- name: api
27-
ports: ["{{ api_port }}"]
27+
upstreams:
28+
- name: base
29+
route: "/"
30+
port: "{{ api_port }}"
2831
- name: drake
29-
ports: ["{{ drake_port }}"]
32+
upstreams:
33+
- name: base
34+
route: "/"
35+
port: "{{ drake_port }}"
3036
- name: optimus
31-
ports: ["{{ optimus_port }}"]
37+
upstreams:
38+
- name: base
39+
route: "/"
40+
port: "{{ optimus_port }}"
3241
- name: apisock
33-
ports: ["{{ api_port }}"]
42+
upstreams:
43+
- name: base
44+
route: "/"
45+
port: "{{ api_port }}"
3446
- name: eru
35-
ports: ["{{ eru_http_port }}","{{ eru_graphql_port }}"]
47+
upstreams:
48+
- name: base
49+
route: "/"
50+
port: "{{ eru_http_port }}"
51+
- name: graphql
52+
route: "/graphql"
53+
port: "{{ eru_graphql_port }}"
3654
- name: egret
37-
ports: ["{{ egret_port }}"]
55+
upstreams:
56+
- name: base
57+
route: "/"
58+
port: "{{ egret_port }}"

ansible/roles/runnable-domain-proxy/templates/sites-enabled.tmpl

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,21 @@ data:
6363
'' close;
6464
}
6565

66-
upstream {{ service.name }} {
67-
{% for port in service.ports %}
68-
server {{ service.name }}:{{ port }} max_fails=0 fail_timeout=1s;
69-
{% endfor %}
66+
{% for upstream in service.upstreams %}
67+
upstream {{ service.name }}_{{ upstream.name }} {
68+
server {{ service.name }}:{{ upstream.port }} max_fails=0 fail_timeout=1s;
7069
}
70+
{% endfor %}
7171

7272
server {
7373
listen 80;
7474
client_max_body_size 5g;
7575
server_name {{ service.name }}.{{ domain }};
7676
access_log /var/log/nginx/{{ service.name }}.access.log;
7777

78-
location / {
79-
proxy_pass http://{{ service.name }};
78+
{% for upstream in service.upstreams %}
79+
location {{ upstream.route }} {
80+
proxy_pass http://{{ service.name }}_{{ upstream.name }};
8081
proxy_http_version 1.1;
8182
proxy_set_header upgrade $http_upgrade;
8283
proxy_set_header connection $connection_upgrade;
@@ -88,6 +89,7 @@ data:
8889
proxy_set_header x-forwarded-protocol $scheme;
8990
proxy_set_header x-forwarded-proto $scheme;
9091
}
92+
{% endfor %}
9193
}
9294

9395
server {
@@ -114,19 +116,20 @@ data:
114116
resolver kube-dns.kube-system.svc.cluster.local valid=5s;
115117
resolver_timeout 5s;
116118

117-
location / {
118-
proxy_pass http://{{ service.name }};
119+
{% for upstream in service.upstreams %}
120+
location {{ upstream.route }} {
121+
proxy_pass http://{{ service.name }}_{{ upstream.name }};
119122
proxy_http_version 1.1;
120123
proxy_set_header upgrade $http_upgrade;
121124
proxy_set_header connection $connection_upgrade;
122125

123-
124126
proxy_set_header Host $http_host;
125127
proxy_set_header x-forwarded-host $http_host;
126128
proxy_set_header x-real-ip $remote_addr;
127129
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
128130
proxy_set_header x-forwarded-protocol $scheme;
129131
proxy_set_header x-forwarded-proto $scheme;
130132
}
133+
{% endfor %}
131134
}
132135
{% endfor %}

0 commit comments

Comments
 (0)