Commit 413d098ae73b365194a82e18035bdbd8a02d94e1

Authored by Sergio Oliveira
2 parents dcbacf46 2718f61c
Exists in master and in 89 other branches 3.x, add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, 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

Merge branch 'gitlab_private_token' into 'master'

Gitlab private token

Create admin user in colab and gitlab to get the private token to import data from gitlab to the colab.

See merge request !27
cookbooks/colab/recipes/default.rb
... ... @@ -53,11 +53,54 @@ template '/etc/colab/settings.d/00-database.yaml' do
53 53 notifies :restart, 'service[colab]'
54 54 end
55 55  
  56 +template '/tmp/admin-gitlab.json' do
  57 +
  58 + password = SecureRandom.random_number.to_s
  59 +
  60 + variables(
  61 + :password => password
  62 + )
  63 +end
  64 +
  65 +execute 'create-admin-token-colab' do
  66 + command "colab-admin loaddata admin-gitlab.json"
  67 +
  68 + cwd '/tmp'
  69 + user 'root'
  70 +end
  71 +
  72 +execute 'create-admin-token-gitlab' do
  73 + user = "admin-gitlab"
  74 + email = "admin-gitlab@example.com"
  75 + password = SecureRandom.random_number.to_s
  76 +
  77 + command "RAILS_ENV=production bundle exec rails runner \"User.create(name: \'#{user}\', username: \'#{user}\', email: \'#{email}\', password: \'#{password}\', admin: \'true\')\""
  78 +
  79 + user_exist = Dir.chdir '/usr/lib/gitlab' do
  80 + `RAILS_ENV=production bundle exec rails runner \"puts User.find_by_email(\'admin-gitlab@example.com\').nil?\"`.strip
  81 + end
  82 +
  83 + not_if {user_exist == "false"}
  84 +
  85 + cwd '/usr/lib/gitlab'
  86 + user 'git'
  87 +end
  88 +
56 89 template '/etc/colab/settings.d/01-apps.yaml' do
57 90 owner 'root'
58 91 group 'colab'
59 92 mode 0640
60 93 notifies :restart, 'service[colab]'
  94 +
  95 + get_private_token = lambda do
  96 + Dir.chdir '/usr/lib/gitlab' do
  97 + `sudo -u git RAILS_ENV=production bundle exec rails runner \"puts User.find_by_email(\'admin-gitlab@example.com\').private_token\"`.strip
  98 + end
  99 + end
  100 +
  101 + variables(
  102 + :get_private_token => get_private_token
  103 + )
61 104 end
62 105  
63 106 template '/etc/colab/settings.d/02-logging.yaml' do
... ...
cookbooks/colab/templates/01-apps.yaml.erb
... ... @@ -2,5 +2,6 @@
2 2 PROXIED_APPS:
3 3 gitlab:
4 4 upstream: 'http://<%= node['peers']['integration'] %>:81/gitlab/'
  5 + private_token: '<%= @get_private_token.call %>'
5 6 noosfero:
6 7 upstream: 'http://<%= node['peers']['social'] %>:80/social/'
... ...
cookbooks/colab/templates/admin-gitlab.json.erb 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +[
  2 + {
  3 + "model": "accounts.user",
  4 + "fields": {
  5 + "username": "admin-gitlab",
  6 + "first_name": "Admin",
  7 + "last_name": "Gitlab",
  8 + "email": "admin-gitlab@admin.com",
  9 + "password": "<%= @password %>",
  10 + "modified": "2015-06-11 14:22:00.332432+00"
  11 + }
  12 + }
  13 +]
0 14 \ No newline at end of file
... ...
roles/integration_server.rb
... ... @@ -8,8 +8,8 @@ run_list *[
8 8 'recipe[mailman-api]',
9 9 'recipe[mailman]',
10 10 'recipe[mailman::webui]',
  11 + 'recipe[gitlab]',
11 12 'recipe[colab]',
12 13 'recipe[colab::nginx]',
13   - 'recipe[gitlab]',
14 14 'recipe[backup]',
15 15 ]
... ...