Commit c6e01c8da2505355374bbae56e057550977c4b12

Authored by Antonio Terceiro
1 parent b20a64b5

colab fully working

config/roles/integration_server.rb
... ... @@ -3,4 +3,4 @@ description "Application that manages user authentication, visual integration an
3 3  
4 4 # TODO colab and mailman-api should be able to run in separate hosts at some
5 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]'
... ...
cookbooks/basics/files/default/nginx.repo 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +# nginx.repo
  2 +
  3 +[nginx]
  4 +name=nginx repo
  5 +baseurl=http://nginx.org/packages/centos/7/$basearch/
  6 +gpgcheck=0
  7 +enabled=1
... ...
cookbooks/basics/recipes/nginx.rb 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +cookbook_file '/etc/yum.repos.d/nginx.repo' do
  2 + owner 'root'
  3 + group 'root'
  4 + mode 0644
  5 +end
  6 +
  7 +package 'nginx'
  8 +
  9 +service 'nginx' do
  10 + action :start
  11 + supports :restart => true
  12 +end
... ...
cookbooks/colab/recipes/nginx.rb 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +template '/etc/nginx/conf.d/colab.conf' do
  2 + owner 'root'
  3 + group 'root'
  4 + mode 0644
  5 + notifies :restart, 'service[nginx]'
  6 +end
... ...
cookbooks/colab/templates/colab.conf.erb 0 → 100644
... ... @@ -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 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 29 . shunit2
... ...