Commit 0b8b46791cce1dc1cbb439a522766b612b347759

Authored by Jacob Vosmaer
2 parents 13f2a507 dcbb7259

Merge branch 'template_link_helper' into 'master'

Template Link Helper
files/gitlab-cookbooks/gitlab/definitions/template_symlink.rb 0 → 100644
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +#
  2 +# Copyright:: Copyright (c) 2014 GitLab.com
  3 +# License:: Apache License, Version 2.0
  4 +#
  5 +# Licensed under the Apache License, Version 2.0 (the "License");
  6 +# you may not use this file except in compliance with the License.
  7 +# You may obtain a copy of the License at
  8 +#
  9 +# http://www.apache.org/licenses/LICENSE-2.0
  10 +#
  11 +# Unless required by applicable law or agreed to in writing, software
  12 +# distributed under the License is distributed on an "AS IS" BASIS,
  13 +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14 +# See the License for the specific language governing permissions and
  15 +# limitations under the License.
  16 +#
  17 +
  18 +define :template_symlink, :link_from => nil, :source => nil, :owner => nil, :group => nil, :mode => nil, :variables => nil, :notifies => nil do
  19 + template params[:name] do
  20 + source params[:source]
  21 + owner params[:owner]
  22 + group params[:group]
  23 + mode params[:mode]
  24 + variables params[:variables]
  25 + notifies *params[:notifies] if params[:notifies]
  26 + end
  27 +
  28 + link params[:link_from] do
  29 + to params[:name]
  30 + end
  31 +end
files/gitlab-cookbooks/gitlab/recipes/gitlab-core.rb
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
16 # limitations under the License. 16 # limitations under the License.
17 # 17 #
18 18
  19 +gitlab_core_source_dir = "/opt/gitlab/embedded/service/gitlab-core"
19 gitlab_core_dir = node['gitlab']['gitlab-core']['dir'] 20 gitlab_core_dir = node['gitlab']['gitlab-core']['dir']
20 gitlab_core_etc_dir = File.join(gitlab_core_dir, "etc") 21 gitlab_core_etc_dir = File.join(gitlab_core_dir, "etc")
21 gitlab_core_working_dir = File.join(gitlab_core_dir, "working") 22 gitlab_core_working_dir = File.join(gitlab_core_dir, "working")
@@ -42,23 +43,17 @@ end @@ -42,23 +43,17 @@ end
42 43
43 should_notify = OmnibusHelper.should_notify?("gitlab-core") 44 should_notify = OmnibusHelper.should_notify?("gitlab-core")
44 45
45 -secret_token_config = File.join(gitlab_core_etc_dir, "secret")  
46 -  
47 -file secret_token_config do  
48 - content node['gitlab']['gitlab-core']['secret_token'] 46 +template_symlink File.join(gitlab_core_etc_dir, "secret") do
  47 + link_from File.join(gitlab_core_source_dir, ".secret")
  48 + source "secret_token.erb"
49 owner "root" 49 owner "root"
50 group "root" 50 group "root"
51 mode "0644" 51 mode "0644"
52 notifies :restart, 'service[gitlab-core]' if should_notify 52 notifies :restart, 'service[gitlab-core]' if should_notify
53 end 53 end
54 54
55 -link "/opt/gitlab/embedded/service/gitlab-core/.secret" do  
56 - to secret_token_config  
57 -end  
58 -  
59 -database_yml = File.join(gitlab_core_etc_dir, "database.yml")  
60 -  
61 -template database_yml do 55 +template_symlink File.join(gitlab_core_etc_dir, "database.yml") do
  56 + link_from File.join(gitlab_core_source_dir, "config/database.yml")
62 source "database.yml.postgresql.erb" 57 source "database.yml.postgresql.erb"
63 owner "root" 58 owner "root"
64 group "root" 59 group "root"
@@ -67,13 +62,8 @@ template database_yml do @@ -67,13 +62,8 @@ template database_yml do
67 notifies :restart, 'service[gitlab-core]' if should_notify 62 notifies :restart, 'service[gitlab-core]' if should_notify
68 end 63 end
69 64
70 -link "/opt/gitlab/embedded/service/gitlab-core/config/database.yml" do  
71 - to database_yml  
72 -end  
73 -  
74 -gitlab_yml = File.join(gitlab_core_etc_dir, "gitlab.yml")  
75 -  
76 -template gitlab_yml do 65 +template_symlink File.join(gitlab_core_etc_dir, "gitlab.yml") do
  66 + link_from File.join(gitlab_core_source_dir, "config/gitlab.yml")
77 source "gitlab.yml.erb" 67 source "gitlab.yml.erb"
78 owner "root" 68 owner "root"
79 group "root" 69 group "root"
@@ -82,13 +72,8 @@ template gitlab_yml do @@ -82,13 +72,8 @@ template gitlab_yml do
82 notifies :restart, 'service[gitlab-core]' if should_notify 72 notifies :restart, 'service[gitlab-core]' if should_notify
83 end 73 end
84 74
85 -link "/opt/gitlab/embedded/service/gitlab-core/config/gitlab.yml" do  
86 - to gitlab_yml  
87 -end  
88 -  
89 -rack_attack = File.join(gitlab_core_etc_dir, "rack_attack.rb")  
90 -  
91 -template rack_attack do 75 +template_symlink File.join(gitlab_core_etc_dir, "rack_attack.rb") do
  76 + link_from File.join(gitlab_core_source_dir, "config/initializers/rack_attack.rb")
92 source "rack_attack.rb.erb" 77 source "rack_attack.rb.erb"
93 owner "root" 78 owner "root"
94 group "root" 79 group "root"
@@ -97,10 +82,6 @@ template rack_attack do @@ -97,10 +82,6 @@ template rack_attack do
97 notifies :restart, 'service[gitlab-core]' if should_notify 82 notifies :restart, 'service[gitlab-core]' if should_notify
98 end 83 end
99 84
100 -link "/opt/gitlab/embedded/service/gitlab-core/config/initializers/rack_attack.rb" do  
101 - to rack_attack  
102 -end  
103 -  
104 directory node['gitlab']['gitlab-core']['satellites_path'] do 85 directory node['gitlab']['gitlab-core']['satellites_path'] do
105 owner node['gitlab']['user']['username'] 86 owner node['gitlab']['user']['username']
106 group node['gitlab']['user']['group'] 87 group node['gitlab']['user']['group']
files/gitlab-cookbooks/gitlab/recipes/gitlab-shell.rb
@@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
19 git_user = node['gitlab']['user']['username'] 19 git_user = node['gitlab']['user']['username']
20 git_group = node['gitlab']['user']['group'] 20 git_group = node['gitlab']['user']['group']
21 gitlab_shell_dir = "/opt/gitlab/embedded/service/gitlab-shell" 21 gitlab_shell_dir = "/opt/gitlab/embedded/service/gitlab-shell"
  22 +gitlab_shell_var_dir = "/var/opt/gitlab/gitlab-shell"
22 repositories_path = node['gitlab']['gitlab-core']['repositories_path'] 23 repositories_path = node['gitlab']['gitlab-core']['repositories_path']
23 ssh_dir = File.join(node['gitlab']['user']['home'], ".ssh") 24 ssh_dir = File.join(node['gitlab']['user']['home'], ".ssh")
24 log_directory = node['gitlab']['gitlab-shell']['log_directory'] 25 log_directory = node['gitlab']['gitlab-shell']['log_directory']
@@ -42,10 +43,15 @@ directory log_directory do @@ -42,10 +43,15 @@ directory log_directory do
42 recursive true 43 recursive true
43 end 44 end
44 45
45 -template File.join(gitlab_shell_dir, "config.yml") do  
46 - source "gitlab-shell-config.yml.erb" 46 +directory gitlab_shell_var_dir do
47 owner git_user 47 owner git_user
48 - group git_group 48 + mode '0700'
  49 + recursive true
  50 +end
  51 +
  52 +template_symlink File.join(gitlab_shell_var_dir, "config.yml") do
  53 + link_from File.join(gitlab_shell_dir, "config.yml")
  54 + source "gitlab-shell-config.yml.erb"
49 variables( 55 variables(
50 :user => git_user, 56 :user => git_user,
51 :api_url => node['gitlab']['gitlab-core']['internal_api_url'], 57 :api_url => node['gitlab']['gitlab-core']['internal_api_url'],
files/gitlab-cookbooks/gitlab/templates/default/secret_token.erb 0 → 100644
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +<%= node['gitlab']['gitlab-core']['secret_token'] %>