Commit 413d098ae73b365194a82e18035bdbd8a02d94e1
Exists in
master
and in
89 other branches
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
Showing
4 changed files
with
58 additions
and
1 deletions
Show diff stats
cookbooks/colab/recipes/default.rb
| @@ -53,11 +53,54 @@ template '/etc/colab/settings.d/00-database.yaml' do | @@ -53,11 +53,54 @@ template '/etc/colab/settings.d/00-database.yaml' do | ||
| 53 | notifies :restart, 'service[colab]' | 53 | notifies :restart, 'service[colab]' |
| 54 | end | 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 | template '/etc/colab/settings.d/01-apps.yaml' do | 89 | template '/etc/colab/settings.d/01-apps.yaml' do |
| 57 | owner 'root' | 90 | owner 'root' |
| 58 | group 'colab' | 91 | group 'colab' |
| 59 | mode 0640 | 92 | mode 0640 |
| 60 | notifies :restart, 'service[colab]' | 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 | end | 104 | end |
| 62 | 105 | ||
| 63 | template '/etc/colab/settings.d/02-logging.yaml' do | 106 | template '/etc/colab/settings.d/02-logging.yaml' do |
cookbooks/colab/templates/01-apps.yaml.erb
| @@ -2,5 +2,6 @@ | @@ -2,5 +2,6 @@ | ||
| 2 | PROXIED_APPS: | 2 | PROXIED_APPS: |
| 3 | gitlab: | 3 | gitlab: |
| 4 | upstream: 'http://<%= node['peers']['integration'] %>:81/gitlab/' | 4 | upstream: 'http://<%= node['peers']['integration'] %>:81/gitlab/' |
| 5 | + private_token: '<%= @get_private_token.call %>' | ||
| 5 | noosfero: | 6 | noosfero: |
| 6 | upstream: 'http://<%= node['peers']['social'] %>:80/social/' | 7 | upstream: 'http://<%= node['peers']['social'] %>:80/social/' |
| @@ -0,0 +1,13 @@ | @@ -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 | \ No newline at end of file | 14 | \ No newline at end of file |
roles/integration_server.rb
| @@ -8,8 +8,8 @@ run_list *[ | @@ -8,8 +8,8 @@ run_list *[ | ||
| 8 | 'recipe[mailman-api]', | 8 | 'recipe[mailman-api]', |
| 9 | 'recipe[mailman]', | 9 | 'recipe[mailman]', |
| 10 | 'recipe[mailman::webui]', | 10 | 'recipe[mailman::webui]', |
| 11 | + 'recipe[gitlab]', | ||
| 11 | 'recipe[colab]', | 12 | 'recipe[colab]', |
| 12 | 'recipe[colab::nginx]', | 13 | 'recipe[colab::nginx]', |
| 13 | - 'recipe[gitlab]', | ||
| 14 | 'recipe[backup]', | 14 | 'recipe[backup]', |
| 15 | ] | 15 | ] |