Commit c6e01c8da2505355374bbae56e057550977c4b12

Authored by Antonio Terceiro
1 parent b20a64b5
Exists in master and in 90 other branches 3.x, add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup, backup_not_prod, cdtc_configuration, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev-lappis, dev_env_minimal, disable_email_dev, docs, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, performance, prezento, r3, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_backup_emails, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, stable-devel, support_docs, syslog, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

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
... ...