Commit c76528182f3a9a3465ec0d2b560ac3d3d50858e1
Exists in
master
and in
2 other branches
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
Showing
3 changed files
with
25 additions
and
2 deletions
Show diff stats
files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
... | ... | @@ -19,6 +19,7 @@ |
19 | 19 | gitlab_rails_source_dir = "/opt/gitlab/embedded/service/gitlab-rails" |
20 | 20 | gitlab_rails_dir = node['gitlab']['gitlab-rails']['dir'] |
21 | 21 | gitlab_rails_etc_dir = File.join(gitlab_rails_dir, "etc") |
22 | +gitlab_rails_env_dir = File.join(gitlab_rails_etc_dir, "env") | |
22 | 23 | gitlab_rails_working_dir = File.join(gitlab_rails_dir, "working") |
23 | 24 | gitlab_rails_tmp_dir = File.join(gitlab_rails_dir, "tmp") |
24 | 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 | 28 | [ |
28 | 29 | gitlab_rails_dir, |
29 | 30 | gitlab_rails_etc_dir, |
31 | + gitlab_rails_env_dir, | |
30 | 32 | gitlab_rails_working_dir, |
31 | 33 | gitlab_rails_tmp_dir, |
32 | 34 | gitlab_rails_public_uploads_dir, |
... | ... | @@ -146,6 +148,27 @@ directory node['gitlab']['gitlab-rails']['satellites_path'] do |
146 | 148 | recursive true |
147 | 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 | 172 | # replace empty directories in the Git repo with symlinks to /var/opt/gitlab |
150 | 173 | { |
151 | 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 | |
5 | 5 | exec 2>&1 |
6 | 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 | 65 | function start_unicorn_master |
66 | 66 | { |
67 | 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 | 71 | function trap_signals | ... | ... |