Commit 1cf7f36aa176552f3861b7d2439dbfe835a3ee22

Authored by Luciano Prestes
1 parent 1c4bfc4d

Get private token of colab-admin and put on gitlab plugin configuration

Signed-off-by: Gustavo Jaruga  <darksshades@gmail.com>
Signed-off-by: Lucas Moura  <lucas.moura128@gmail.com>
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
cookbooks/colab/recipes/default.rb
@@ -53,11 +53,40 @@ template &#39;/etc/colab/settings.d/00-database.yaml&#39; do @@ -53,11 +53,40 @@ template &#39;/etc/colab/settings.d/00-database.yaml&#39; do
53 notifies :restart, 'service[colab]' 53 notifies :restart, 'service[colab]'
54 end 54 end
55 55
  56 +execute 'create token-admin' do
  57 + user = "admin-gitlab"
  58 + email = "admin-gitlab@admin.com"
  59 + password = SecureRandom.random_number.to_s
  60 +
  61 + command "echo \"from colab.accounts.models import User; User.objects.create_superuser(\'#{user}\', \'#{email}\', \'#{password}\')\" | colab-admin shell"
  62 +end
  63 +
  64 +execute 'admin-token' do
  65 + user = "admin-gitlab"
  66 + email = "admin-gitlab@admin.com"
  67 + password = SecureRandom.random_number.to_s
  68 +
  69 + command "sudo -u git RAILS_ENV=production bundle exec rails runner \"User.create(name: \'#{name}\', username: \'#{name}\', email: \'#{email}\', password: \'#{password}\', admin: \'true\')\""
  70 +
  71 + cwd '/usr/lib/gitlab'
  72 + user 'root'
  73 +end
  74 +
56 template '/etc/colab/settings.d/01-apps.yaml' do 75 template '/etc/colab/settings.d/01-apps.yaml' do
57 owner 'root' 76 owner 'root'
58 group 'colab' 77 group 'colab'
59 mode 0640 78 mode 0640
60 notifies :restart, 'service[colab]' 79 notifies :restart, 'service[colab]'
  80 +
  81 + get_private_token = lambda do
  82 + Dir.chdir '/usr/lib/gitlab' do
  83 + `sudo -u git RAILS_ENV=production bundle exec rails runner \"puts User.find_by_email(\'admin-gitlab@admin.com\').private_token\"`.strip
  84 + end
  85 + end
  86 +
  87 + variables(
  88 + :get_private_token => get_private_token
  89 + )
61 end 90 end
62 91
63 template '/etc/colab/settings.d/02-logging.yaml' do 92 template '/etc/colab/settings.d/02-logging.yaml' do
@@ -100,11 +129,3 @@ service &#39;colab&#39; do @@ -100,11 +129,3 @@ service &#39;colab&#39; do
100 action [:enable, :start] 129 action [:enable, :start]
101 supports :restart => true 130 supports :restart => true
102 end 131 end
103 -  
104 -execute 'create token-admin' do  
105 - user = "admin-gitlab"  
106 - email = "admin-gitlab@admin.com"  
107 - password = SecureRandom.random_number.to_s  
108 -  
109 - command "echo \"from colab.accounts.models import User; User.objects.create_superuser(\'#{user}\', \'#{email}\', \'#{password}\')\" | colab-admin shell"  
110 -end  
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/'
cookbooks/gitlab/recipes/default.rb
@@ -95,19 +95,3 @@ execute &#39;selinux-gitlab&#39; do @@ -95,19 +95,3 @@ execute &#39;selinux-gitlab&#39; do
95 command 'selinux-install-module /etc/selinux/local/gitlab.te' 95 command 'selinux-install-module /etc/selinux/local/gitlab.te'
96 action :nothing 96 action :nothing
97 end 97 end
98 -  
99 -execute 'admin-token' do  
100 - user = "admin-gitlab"  
101 - email = "admin-gitlab@admin.com"  
102 - password = SecureRandom.random_number.to_s  
103 -  
104 - command "bundle exec rails c production << EOF  
105 - user = User.create(name: \'#{name}\', username: \'#{name}\', email: \'#{email}\', password: \'#{password}\')  
106 - user.admin = true  
107 - user.save  
108 - exit  
109 - EOF"  
110 -  
111 - cwd '/usr/lib/gitlab'  
112 - user 'git'  
113 -end