Commit c76528182f3a9a3465ec0d2b560ac3d3d50858e1

Authored by Jacob Vosmaer
2 parents 13bba17f a828fe83

Merge branch 'env' of https://gitlab.com/portman.chris/omnibus-gitlab

Conflicts:
	files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb
	files/gitlab-cookbooks/gitlab/templates/default/sv-unicorn-run.erb
files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
@@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
19 gitlab_rails_source_dir = "/opt/gitlab/embedded/service/gitlab-rails" 19 gitlab_rails_source_dir = "/opt/gitlab/embedded/service/gitlab-rails"
20 gitlab_rails_dir = node['gitlab']['gitlab-rails']['dir'] 20 gitlab_rails_dir = node['gitlab']['gitlab-rails']['dir']
21 gitlab_rails_etc_dir = File.join(gitlab_rails_dir, "etc") 21 gitlab_rails_etc_dir = File.join(gitlab_rails_dir, "etc")
  22 +gitlab_rails_env_dir = File.join(gitlab_rails_etc_dir, "env")
22 gitlab_rails_working_dir = File.join(gitlab_rails_dir, "working") 23 gitlab_rails_working_dir = File.join(gitlab_rails_dir, "working")
23 gitlab_rails_tmp_dir = File.join(gitlab_rails_dir, "tmp") 24 gitlab_rails_tmp_dir = File.join(gitlab_rails_dir, "tmp")
24 gitlab_rails_public_uploads_dir = node['gitlab']['gitlab-rails']['uploads_directory'] 25 gitlab_rails_public_uploads_dir = node['gitlab']['gitlab-rails']['uploads_directory']
@@ -27,6 +28,7 @@ gitlab_rails_log_dir = node['gitlab']['gitlab-rails']['log_directory'] @@ -27,6 +28,7 @@ gitlab_rails_log_dir = node['gitlab']['gitlab-rails']['log_directory']
27 [ 28 [
28 gitlab_rails_dir, 29 gitlab_rails_dir,
29 gitlab_rails_etc_dir, 30 gitlab_rails_etc_dir,
  31 + gitlab_rails_env_dir,
30 gitlab_rails_working_dir, 32 gitlab_rails_working_dir,
31 gitlab_rails_tmp_dir, 33 gitlab_rails_tmp_dir,
32 gitlab_rails_public_uploads_dir, 34 gitlab_rails_public_uploads_dir,
@@ -146,6 +148,27 @@ directory node['gitlab']['gitlab-rails']['satellites_path'] do @@ -146,6 +148,27 @@ directory node['gitlab']['gitlab-rails']['satellites_path'] do
146 recursive true 148 recursive true
147 end 149 end
148 150
  151 +env_vars = node['gitlab']['gitlab-rails']['env'] || {}
  152 +env_vars.each do |key, value|
  153 + file File.join(gitlab_rails_env_dir, key) do
  154 + owner node['gitlab']['user']['username']
  155 + group node['gitlab']['user']['group']
  156 + mode "0600"
  157 + content value
  158 + notifies :restart, "service[unicorn]"
  159 + notifies :restart, "service[sidekiq]"
  160 + end
  161 +end
  162 +
  163 +deleted_env_vars = Dir.entries(gitlab_rails_env_dir) - env_vars.keys - %w{. ..}
  164 +deleted_env_vars.each do |deleted_var|
  165 + file deleted_var do
  166 + action :delete
  167 + notifies :restart, "service[unicorn]"
  168 + notifies :restart, "service[sidekiq]"
  169 + end
  170 +end
  171 +
149 # replace empty directories in the Git repo with symlinks to /var/opt/gitlab 172 # replace empty directories in the Git repo with symlinks to /var/opt/gitlab
150 { 173 {
151 "/opt/gitlab/embedded/service/gitlab-rails/tmp" => gitlab_rails_tmp_dir, 174 "/opt/gitlab/embedded/service/gitlab-rails/tmp" => gitlab_rails_tmp_dir,
files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb
@@ -4,4 +4,4 @@ cd <%= node['gitlab']['gitlab-rails']['dir'] %>/working @@ -4,4 +4,4 @@ cd <%= node['gitlab']['gitlab-rails']['dir'] %>/working
4 4
5 exec 2>&1 5 exec 2>&1
6 <%= render("mount_point_check.erb") %> 6 <%= render("mount_point_check.erb") %>
7 -exec chpst -P -U <%= node['gitlab']['user']['username'] %> -u <%= node['gitlab']['user']['username'] %> /usr/bin/env BUNDLE_GEMFILE=/opt/gitlab/embedded/service/gitlab-rails/Gemfile HOME="<%= node['gitlab']['user']['home'] %>" /opt/gitlab/embedded/bin/bundle exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e <%= node['gitlab']['gitlab-rails']['environment'] %> -r /opt/gitlab/embedded/service/gitlab-rails 7 +exec chpst -e <%= node['gitlab']['gitlab-rails']['dir'] %>/etc/env -P -U <%= node['gitlab']['user']['username'] %> -u <%= node['gitlab']['user']['username'] %> /usr/bin/env BUNDLE_GEMFILE=/opt/gitlab/embedded/service/gitlab-rails/Gemfile HOME="<%= node['gitlab']['user']['home'] %>" /opt/gitlab/embedded/bin/bundle exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e <%= node['gitlab']['gitlab-rails']['environment'] %> -r /opt/gitlab/embedded/service/gitlab-rails
files/gitlab-cookbooks/gitlab/templates/default/sv-unicorn-run.erb
@@ -65,7 +65,7 @@ function is_unicorn @@ -65,7 +65,7 @@ function is_unicorn
65 function start_unicorn_master 65 function start_unicorn_master
66 { 66 {
67 <%= render("mount_point_check.erb") %> 67 <%= render("mount_point_check.erb") %>
68 - chpst -P -U <%= node['gitlab']['user']['username'] %> -u <%= node['gitlab']['user']['username'] %> /usr/bin/env HOME="<%= node['gitlab']['user']['home'] %>" /opt/gitlab/embedded/bin/bundle exec unicorn -D -E <%= node['gitlab']['gitlab-rails']['environment'] %> -c <%= File.join(node['gitlab']['gitlab-rails']['dir'], "etc", "unicorn.rb") %> /opt/gitlab/embedded/service/gitlab-rails/config.ru 68 + chpst -e <%= node['gitlab']['gitlab-rails']['dir'] %>/etc/env -P -U <%= node['gitlab']['user']['username'] %> -u <%= node['gitlab']['user']['username'] %> /usr/bin/env HOME="<%= node['gitlab']['user']['home'] %>" /opt/gitlab/embedded/bin/bundle exec unicorn -D -E <%= node['gitlab']['gitlab-rails']['environment'] %> -c <%= File.join(node['gitlab']['gitlab-rails']['dir'], "etc", "unicorn.rb") %> /opt/gitlab/embedded/service/gitlab-rails/config.ru
69 } 69 }
70 70
71 function trap_signals 71 function trap_signals