Commit c6e01c8da2505355374bbae56e057550977c4b12
1 parent
b20a64b5
Exists in
master
and in
90 other branches
colab fully working
Showing
6 changed files
with
65 additions
and
1 deletions
Show diff stats
config/roles/integration_server.rb
@@ -3,4 +3,4 @@ description "Application that manages user authentication, visual integration an | @@ -3,4 +3,4 @@ description "Application that manages user authentication, visual integration an | ||
3 | 3 | ||
4 | # TODO colab and mailman-api should be able to run in separate hosts at some | 4 | # TODO colab and mailman-api should be able to run in separate hosts at some |
5 | # point in the future | 5 | # point in the future |
6 | -run_list 'recipe[mailman-api]', 'recipe[colab]' | 6 | +run_list 'recipe[mailman-api]', 'recipe[colab]', 'recipe[basics::nginx]', 'recipe[colab::nginx]' |
@@ -0,0 +1,29 @@ | @@ -0,0 +1,29 @@ | ||
1 | +upstream colab { | ||
2 | + server 127.0.0.1:8001 fail_timeout=10s; | ||
3 | +} | ||
4 | + | ||
5 | +server { | ||
6 | + listen *:80; | ||
7 | + | ||
8 | + server_name <%= node['config']['external_hostname'] %> localhost; | ||
9 | + | ||
10 | + access_log /var/log/nginx/colab.access.log; | ||
11 | + error_log /var/log/nginx/colab.error.log; | ||
12 | + | ||
13 | + location / { | ||
14 | + root /usr/share/nginx/colab; | ||
15 | + try_files $uri @colab-app; | ||
16 | + } | ||
17 | + | ||
18 | + location @colab-app { | ||
19 | + proxy_pass http://colab; | ||
20 | + proxy_read_timeout 90; | ||
21 | + proxy_connect_timeout 90; | ||
22 | + proxy_redirect off; | ||
23 | + proxy_set_header Host $host; | ||
24 | + proxy_set_header X-Real-IP $remote_addr; | ||
25 | + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
26 | + } | ||
27 | +} | ||
28 | + | ||
29 | +# vim: ft=nginx |
test/colab_test.sh
@@ -16,4 +16,14 @@ test_colab_responds() { | @@ -16,4 +16,14 @@ test_colab_responds() { | ||
16 | assertTrue 'colab responds' 'run_on integration curl --fail http://localhost:8001' | 16 | assertTrue 'colab responds' 'run_on integration curl --fail http://localhost:8001' |
17 | } | 17 | } |
18 | 18 | ||
19 | +test_nginx_responds() { | ||
20 | + assertTrue 'nginx reponds' 'run_on integration curl --fail http://localhost' | ||
21 | +} | ||
22 | + | ||
23 | +test_nginx_virtualhost() { | ||
24 | + local ip="$(grep integration: nodes.yaml | cut -d : -f 2)" | ||
25 | + local title="$(curl --silent --header 'Host: beta.softwarepublico.gov.br' http://$ip/dashboard | grep '<title>' | sed -e 's/^\s*//')" | ||
26 | + assertEquals "<title>Home - Colab</title>" "$title" | ||
27 | +} | ||
28 | + | ||
19 | . shunit2 | 29 | . shunit2 |