Skip to content

Commit 6311cd4

Browse files
author
Bryan Kendall
committed
refactored proxied services to new role
1 parent a835a5c commit 6311cd4

10 files changed

Lines changed: 107 additions & 197 deletions

File tree

ansible/eru.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
- { role: notify, tags: [ notify ] }
1111
- { role: builder, tags: [ build ] }
1212
- role: container_start
13-
14-
- hosts: socket-server-proxy
15-
vars_files:
16-
- group_vars/alpha-eru.yml
17-
roles:
18-
- role: eru
13+
- role: nginx-proxied-service
14+
nginx_host: "{{ groups['api-socket-proxy'][0] }}"
15+
target_ip_address: "{{ groups['eru'][0].ansible_default_ipv4.address }}"
16+
templates: [ 11-eru-server.conf ]

ansible/roles/eru/tasks/main.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
---
2+
# these are pretty hacky, but it should work
3+
# Get port information from the hosted service
4+
- name: get eru ports
5+
when: "{{ name }} == eru"
6+
tags: [ configure_proxy, deploy ]
7+
become: true
8+
shell: |
9+
for c in $(docker ps | awk '/eru/{ print $1 }'); do
10+
docker port $c 5501 | cut -d ':' -f 2
11+
docker port $c 5502 | cut -d ':' -f 2
12+
done
13+
args:
14+
executable: /bin/bash
15+
register: target_ports
16+
17+
- name: get socket server ports
18+
when: "{{ name }} == api-socket-server"
19+
tags: [ configure_proxy, deploy ]
20+
become: true
21+
shell: |
22+
for c in $(docker ps | awk '/api-socket-server/{ print $1 }'); do
23+
docker port $c 80 | cut -d ':' -f 2
24+
done
25+
args:
26+
executable: /bin/bash
27+
register: target_ports
28+
29+
# everything from this point on is deligated to the nginx host
30+
31+
- name: print target ports
32+
delegate_to: "{{ nginx_host }}"
33+
tags: [ configure_proxy, deploy ]
34+
debug:
35+
msg: ports -- {{ target_ports }}
36+
37+
- name: print target IP address
38+
delegate_to: "{{ nginx_host }}"
39+
tags: [ configure_proxy, deploy ]
40+
debug:
41+
msg: ip -- {{ target_ip_address }}
42+
43+
- name: assert nginx config directory
44+
delegate_to: "{{ nginx_host }}"
45+
tags: [ configure_proxy, deploy ]
46+
become: yes
47+
file:
48+
state: directory
49+
dest: /etc/nginx
50+
51+
- name: assert nginx sites-available directory
52+
delegate_to: "{{ nginx_host }}"
53+
tags: [ configure_proxy, deploy ]
54+
become: yes
55+
file:
56+
state: directory
57+
dest: /etc/nginx/sites-available
58+
59+
- name: assert nginx sites-enable directory
60+
delegate_to: "{{ nginx_host }}"
61+
tags: [ configure_proxy, deploy ]
62+
become: yes
63+
file:
64+
state: directory
65+
dest: /etc/nginx/sites-enable
66+
67+
- name: put configuration in place
68+
delegate_to: "{{ nginx_host }}"
69+
tags: [ configure_proxy, deploy ]
70+
become: yes
71+
template:
72+
src: "{{ item }}"
73+
dest: /etc/nginx/sites-available/{{ item }}
74+
with_items: "{{ templates }}"
75+
76+
- name: link configuration to enable
77+
delegate_to: "{{ nginx_host }}"
78+
tags: [ configure_proxy, deploy ]
79+
become: yes
80+
file:
81+
state: link
82+
dest: /etc/nginx/sites-enabled/{{ item }}
83+
src: /etc/nginx/sites-available/{{ item }}
84+
with_items: "{{ templates }}"
85+
86+
- name: reload nginx
87+
delegate_to: "{{ nginx_host }}"
88+
tags: [ configure_proxy, deploy ]
89+
become: yes
90+
shell: >
91+
docker ps |
92+
awk '/nginx/{ print $1 }' |
93+
xargs -n 1 docker kill --signal SIGHUP
94+
args:
95+
executable: /bin/bash

ansible/roles/socket-proxy/templates/00-nginx-status.conf renamed to ansible/roles/nginx-proxied-service/templates/00-nginx-status.conf

File renamed without changes.

ansible/roles/socket-proxy/templates/01-socket-server.conf renamed to ansible/roles/nginx-proxied-service/templates/01-socket-server.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ map $http_upgrade $connection_upgrade {
55

66
upstream socketserver {
77
sticky;
8-
{% for port in ports.stdout_lines -%}
9-
server {{ socket_server_hostname }}:{{ port }};
8+
{% for port in target_ports.stdout_lines -%}
9+
server {{ target_ip_address }}:{{ port }};
1010
{% endfor %}
1111
}
1212

ansible/roles/eru/templates/11-eru-server.conf renamed to ansible/roles/nginx-proxied-service/templates/11-eru-server.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ server {
3535

3636
location / {
3737
expires 300;
38-
proxy_pass http://{{ eru_server_hostname }}:{{ ports.stdout_lines[0] | trim }};
38+
proxy_pass http://{{ target_ip_address }}:{{ target_ports.stdout_lines[0] | trim }};
3939
proxy_set_header Host $host;
4040
proxy_set_header x-real-ip $remote_addr;
4141
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
@@ -44,7 +44,7 @@ server {
4444
}
4545

4646
location /graphql {
47-
proxy_pass http://{{ eru_server_hostname }}:{{ ports.stdout_lines[1] | trim }};
47+
proxy_pass http://{{ target_ip_address }}:{{ target_ports.stdout_lines[1] | trim }};
4848
proxy_set_header Host $host;
4949
proxy_set_header x-real-ip $remote_addr;
5050
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;

ansible/roles/socket-proxy/files/nginx.conf

Lines changed: 0 additions & 74 deletions
This file was deleted.

ansible/roles/socket-proxy/handlers/main.yml

Lines changed: 0 additions & 7 deletions
This file was deleted.

ansible/roles/socket-proxy/tasks/main.yml

Lines changed: 0 additions & 50 deletions
This file was deleted.

ansible/socket-server.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@
2222
- { role: tls-client, tls_service: mongodb, tags: [ tls ] }
2323
- { role: datadog, tags: [ datadog ] }
2424
- { role: container_start, number_of_containers: 8 }
25-
26-
- hosts: socket-server-proxy
27-
vars_files:
28-
- group_vars/alpha-proxy-socket-server.yml
29-
roles:
30-
- role: socket-proxy
31-
- role: container_restart
25+
- role: nginx-proxied-service
26+
nginx_host: "{{ groups['api-socket-proxy'][0] }}"
27+
target_ip_address: "{{ groups['socket-server'][0].ansible_default_ipv4.address }}"
28+
templates: [ 01-socket-server.conf ]

0 commit comments

Comments
 (0)