Commit 8f9dec2883060b6a1610d64b9488efe7859963c8

Authored by Riyad Preukschas
1 parent 76329a46

Fix check.rake to use the new user and group settings

lib/tasks/gitlab/check.rake
... ... @@ -169,7 +169,7 @@ namespace :gitlab do
169 169 else
170 170 puts "no".red
171 171 try_fixing_it(
172   - "sudo -u gitlab -H bundle exec rake db:migrate"
  172 + sudo_gitlab("bundle exec rake db:migrate")
173 173 )
174 174 fix_and_rerun
175 175 end
... ... @@ -194,7 +194,7 @@ namespace :gitlab do
194 194 else
195 195 puts "no".red
196 196 try_fixing_it(
197   - "sudo -u gitlab -H bundle exec rake gitlab:satellites:create",
  197 + sudo_gitlab("bundle exec rake gitlab:satellites:create"),
198 198 "If necessary, remove the tmp/repo_satellites directory ...",
199 199 "... and rerun the above command"
200 200 )
... ... @@ -269,7 +269,8 @@ namespace :gitlab do
269 269 ########################
270 270  
271 271 def check_gitlab_git_config
272   - print "Git configured for gitlab user? ... "
  272 + gitlab_user = Gitlab.config.gitlab.user
  273 + print "Git configured for #{gitlab_user} user? ... "
273 274  
274 275 options = {
275 276 "user.name" => "GitLab",
... ... @@ -284,8 +285,8 @@ namespace :gitlab do
284 285 else
285 286 puts "no".red
286 287 try_fixing_it(
287   - "sudo -u gitlab -H git config --global user.name \"#{options["user.name"]}\"",
288   - "sudo -u gitlab -H git config --global user.email \"#{options["user.email"]}\""
  288 + sudo_gitlab("git config --global user.name \"#{options["user.name"]}\""),
  289 + sudo_gitlab("git config --global user.email \"#{options["user.email"]}\"")
289 290 )
290 291 for_more_information(
291 292 see_installation_guide_section "GitLab"
... ... @@ -296,15 +297,15 @@ namespace :gitlab do
296 297  
297 298 def check_gitlab_in_git_group
298 299 gitlab_user = Gitlab.config.gitlab.user
299   - gitolite_group = Gitlab.config.gitolite.group
300   - print "gitlab user '#{gitlab_user}' has git group '#{gitolite_group}'? ... "
  300 + gitolite_owner_group = Gitlab.config.gitolite.owner_group
  301 + print "#{gitlab_user} user is in #{gitolite_owner_group} group? ... "
301 302  
302   - if run_and_match("id -rnG", /^#{gitolite_group}\W|\W#{gitolite_group}\W|\W#{gitolite_group}$/)
  303 + if run_and_match("id -rnG", /^#{gitolite_owner_group}\W|\W#{gitolite_owner_group}\W|\W#{gitolite_owner_group}$/)
303 304 puts "yes".green
304 305 else
305 306 puts "no".red
306 307 try_fixing_it(
307   - "sudo usermod -a -G #{gitolite_group} #{gitlab_user}"
  308 + "sudo usermod -a -G #{gitolite_owner_group} #{gitlab_user}"
308 309 )
309 310 for_more_information(
310 311 see_installation_guide_section "System Users"
... ... @@ -519,7 +520,8 @@ namespace :gitlab do
519 520  
520 521 def check_dot_gitolite_user_and_group
521 522 gitolite_ssh_user = Gitlab.config.gitolite.ssh_user
522   - print "Config directory owned by #{gitolite_ssh_user}:#{gitolite_ssh_user} ... "
  523 + gitolite_owner_group = Gitlab.config.gitolite.owner_group
  524 + print "Config directory owned by #{gitolite_ssh_user}:#{gitolite_owner_group} ... "
523 525  
524 526 gitolite_config_path = File.join(gitolite_user_home, ".gitolite")
525 527 unless File.exists?(gitolite_config_path)
... ... @@ -528,12 +530,12 @@ namespace :gitlab do
528 530 end
529 531  
530 532 if File.stat(gitolite_config_path).uid == uid_for(gitolite_ssh_user) &&
531   - File.stat(gitolite_config_path).gid == gid_for(gitolite_ssh_user)
  533 + File.stat(gitolite_config_path).gid == gid_for(gitolite_owner_group)
532 534 puts "yes".green
533 535 else
534 536 puts "no".red
535 537 try_fixing_it(
536   - "sudo chown -R #{gitolite_ssh_user}:#{gitolite_ssh_user} #{gitolite_config_path}"
  538 + "sudo chown -R #{gitolite_ssh_user}:#{gitolite_owner_group} #{gitolite_config_path}"
537 539 )
538 540 for_more_information(
539 541 see_installation_guide_section "Gitolite"
... ... @@ -738,7 +740,8 @@ namespace :gitlab do
738 740  
739 741 def check_repo_base_user_and_group
740 742 gitolite_ssh_user = Gitlab.config.gitolite.ssh_user
741   - print "Repo base owned by #{gitolite_ssh_user}:#{gitolite_ssh_user}? ... "
  743 + gitolite_owner_group = Gitlab.config.gitolite.owner_group
  744 + print "Repo base owned by #{gitolite_ssh_user}:#{gitolite_owner_group}? ... "
742 745  
743 746 repo_base_path = Gitlab.config.gitolite.repos_path
744 747 unless File.exists?(repo_base_path)
... ... @@ -747,12 +750,12 @@ namespace :gitlab do
747 750 end
748 751  
749 752 if File.stat(repo_base_path).uid == uid_for(gitolite_ssh_user) &&
750   - File.stat(repo_base_path).gid == gid_for(gitolite_ssh_user)
  753 + File.stat(repo_base_path).gid == gid_for(gitolite_owner_group)
751 754 puts "yes".green
752 755 else
753 756 puts "no".red
754 757 try_fixing_it(
755   - "sudo chown -R #{gitolite_ssh_user}:#{gitolite_ssh_user} #{repo_base_path}"
  758 + "sudo chown -R #{gitolite_ssh_user}:#{gitolite_owner_group} #{repo_base_path}"
756 759 )
757 760 for_more_information(
758 761 see_installation_guide_section "Gitolite"
... ... @@ -786,7 +789,7 @@ namespace :gitlab do
786 789 else
787 790 puts "wrong or missing".red
788 791 try_fixing_it(
789   - "sudo -u gitlab -H bundle exec rake gitlab:gitolite:update_repos"
  792 + sudo_gitlab("bundle exec rake gitlab:gitolite:update_repos")
790 793 )
791 794 for_more_information(
792 795 "doc/raketasks/maintenance.md"
... ... @@ -892,7 +895,7 @@ namespace :gitlab do
892 895 else
893 896 puts "no".red
894 897 try_fixing_it(
895   - "sudo -u gitlab -H bundle exec rake sidekiq:start"
  898 + sudo_gitlab("bundle exec rake sidekiq:start")
896 899 )
897 900 for_more_information(
898 901 see_installation_guide_section("Install Init Script"),
... ... @@ -934,6 +937,11 @@ namespace :gitlab do
934 937 "doc/install/installation.md in section \"#{section}\""
935 938 end
936 939  
  940 + def sudo_gitlab(command)
  941 + gitlab_user = Gitlab.config.gitlab.user
  942 + "sudo -u #{gitlab_user} -H #{command}"
  943 + end
  944 +
937 945 def start_checking(component)
938 946 puts "Checking #{component.yellow} ..."
939 947 puts ""
... ...
lib/tasks/gitlab/task_helpers.rake
... ... @@ -56,12 +56,13 @@ namespace :gitlab do
56 56  
57 57 def warn_user_is_not_gitlab
58 58 unless @warned_user_not_gitlab
  59 + gitlab_user = Gitlab.config.gitlab.user
59 60 current_user = run("whoami").chomp
60   - unless current_user == "gitlab"
  61 + unless current_user == gitlab_user
61 62 puts "#{Colored.color(:black)+Colored.color(:on_yellow)} Warning #{Colored.extra(:clear)}"
62 63 puts " You are running as user #{current_user.magenta}, we hope you know what you are doing."
63 64 puts " Things may work\/fail for the wrong reasons."
64   - puts " For correct results you should run this as user #{"gitlab".magenta}."
  65 + puts " For correct results you should run this as user #{gitlab_user.magenta}."
65 66 puts ""
66 67 end
67 68 @warned_user_not_gitlab = true
... ...