Commit 413d098ae73b365194a82e18035bdbd8a02d94e1

Authored by Sergio Oliveira
2 parents dcbacf46 2718f61c

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