Commit 69c18903e710ceec9aa577312835f5b70029f208
1 parent
190e483f
Exists in
master
and in
4 other branches
Update gitlab:check task to use the Gitlab.config.ssh_user setting
Showing
1 changed file
with
25 additions
and
19 deletions
Show diff stats
lib/tasks/gitlab/check.rake
| ... | ... | @@ -290,14 +290,15 @@ namespace :gitlab do |
| 290 | 290 | end |
| 291 | 291 | |
| 292 | 292 | def check_gitlab_in_git_group |
| 293 | - print "gitlab user is in git group? ... " | |
| 293 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 294 | + print "gitlab user is in #{gitolite_ssh_user} group? ... " | |
| 294 | 295 | |
| 295 | 296 | if run_and_match("id -rnG", /\Wgit\W/) |
| 296 | 297 | puts "yes".green |
| 297 | 298 | else |
| 298 | 299 | puts "no".red |
| 299 | 300 | try_fixing_it( |
| 300 | - "sudo usermod -a -G git gitlab" | |
| 301 | + "sudo usermod -a -G #{gitolite_ssh_user} gitlab" | |
| 301 | 302 | ) |
| 302 | 303 | for_more_information( |
| 303 | 304 | see_installation_guide_section "System Users" |
| ... | ... | @@ -308,7 +309,8 @@ namespace :gitlab do |
| 308 | 309 | |
| 309 | 310 | # see https://github.com/gitlabhq/gitlabhq/issues/1059 |
| 310 | 311 | def check_issue_1056_shell_profile_error |
| 311 | - print "Has no \"-e\" in ~git/.profile ... " | |
| 312 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 313 | + print "Has no \"-e\" in ~#{gitolite_ssh_user}/.profile ... " | |
| 312 | 314 | |
| 313 | 315 | profile_file = File.expand_path("~#{Gitlab.config.ssh_user}/.profile") |
| 314 | 316 | |
| ... | ... | @@ -510,22 +512,23 @@ namespace :gitlab do |
| 510 | 512 | end |
| 511 | 513 | |
| 512 | 514 | def check_dot_gitolite_user_and_group |
| 513 | - print "Config directory owned by git:git? ... " | |
| 515 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 516 | + print "Config directory owned by #{gitolite_ssh_user}:#{gitolite_ssh_user} ... " | |
| 514 | 517 | |
| 515 | - gitolite_config_path = File.expand_path("~#{Gitlab.config.ssh_user}/.gitolite") | |
| 518 | + gitolite_config_path = File.expand_path("~#{gitolite_ssh_user}/.gitolite") | |
| 516 | 519 | unless File.exists?(gitolite_config_path) |
| 517 | 520 | puts "can't check because of previous errors".magenta |
| 518 | 521 | return |
| 519 | 522 | end |
| 520 | 523 | |
| 521 | - if `stat --printf %U #{gitolite_config_path}` == "git" && # user | |
| 522 | - `stat --printf %G #{gitolite_config_path}` == "git" #group | |
| 524 | + if `stat --printf %U #{gitolite_config_path}` == gitolite_ssh_user && # user | |
| 525 | + `stat --printf %G #{gitolite_config_path}` == gitolite_ssh_user #group | |
| 523 | 526 | puts "yes".green |
| 524 | 527 | else |
| 525 | 528 | puts "no".red |
| 526 | - puts "#{gitolite_config_path} is not owned by git".red | |
| 529 | + puts "#{gitolite_config_path} is not owned by #{gitolite_ssh_user}".red | |
| 527 | 530 | try_fixing_it( |
| 528 | - "sudo chown -R git:git #{gitolite_config_path}" | |
| 531 | + "sudo chown -R #{gitolite_ssh_user}:#{gitolite_ssh_user} #{gitolite_config_path}" | |
| 529 | 532 | ) |
| 530 | 533 | for_more_information( |
| 531 | 534 | see_installation_guide_section "Gitolite" |
| ... | ... | @@ -614,6 +617,7 @@ namespace :gitlab do |
| 614 | 617 | hook_file = "post-receive" |
| 615 | 618 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") |
| 616 | 619 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 620 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 617 | 621 | |
| 618 | 622 | gitlab_hook_file = Rails.root.join.join("lib", "hooks", hook_file) |
| 619 | 623 | |
| ... | ... | @@ -622,7 +626,7 @@ namespace :gitlab do |
| 622 | 626 | else |
| 623 | 627 | puts "no".red |
| 624 | 628 | try_fixing_it( |
| 625 | - "sudo -u git cp #{gitlab_hook_file} #{gitolite_hook_file}" | |
| 629 | + "sudo -u #{gitolite_ssh_user} cp #{gitlab_hook_file} #{gitolite_hook_file}" | |
| 626 | 630 | ) |
| 627 | 631 | for_more_information( |
| 628 | 632 | see_installation_guide_section "Setup GitLab Hooks" |
| ... | ... | @@ -638,6 +642,7 @@ namespace :gitlab do |
| 638 | 642 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") |
| 639 | 643 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 640 | 644 | gitolite_hook_content = File.read(gitolite_hook_file) |
| 645 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 641 | 646 | |
| 642 | 647 | unless File.exists?(gitolite_hook_file) |
| 643 | 648 | puts "can't check because of previous errors".magenta |
| ... | ... | @@ -652,7 +657,7 @@ namespace :gitlab do |
| 652 | 657 | else |
| 653 | 658 | puts "no".red |
| 654 | 659 | try_fixing_it( |
| 655 | - "sudo -u git cp #{gitlab_hook_file} #{gitolite_hook_file}" | |
| 660 | + "sudo -u #{gitolite_ssh_user} cp #{gitlab_hook_file} #{gitolite_hook_file}" | |
| 656 | 661 | ) |
| 657 | 662 | for_more_information( |
| 658 | 663 | see_installation_guide_section "Setup GitLab Hooks" |
| ... | ... | @@ -708,7 +713,8 @@ namespace :gitlab do |
| 708 | 713 | end |
| 709 | 714 | |
| 710 | 715 | def check_repo_base_user_and_group |
| 711 | - print "Repo base owned by git:git? ... " | |
| 716 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 717 | + print "Repo base owned by #{gitolite_ssh_user}:#{gitolite_ssh_user}? ... " | |
| 712 | 718 | |
| 713 | 719 | repo_base_path = Gitlab.config.git_base_path |
| 714 | 720 | unless File.exists?(repo_base_path) |
| ... | ... | @@ -716,14 +722,14 @@ namespace :gitlab do |
| 716 | 722 | return |
| 717 | 723 | end |
| 718 | 724 | |
| 719 | - if `stat --printf %U #{repo_base_path}` == "git" && # user | |
| 720 | - `stat --printf %G #{repo_base_path}` == "git" #group | |
| 725 | + if `stat --printf %U #{repo_base_path}` == gitolite_ssh_user && # user | |
| 726 | + `stat --printf %G #{repo_base_path}` == gitolite_ssh_user #group | |
| 721 | 727 | puts "yes".green |
| 722 | 728 | else |
| 723 | 729 | puts "no".red |
| 724 | - puts "#{repo_base_path} is not owned by git".red | |
| 730 | + puts "#{repo_base_path} is not owned by #{gitolite_ssh_user}".red | |
| 725 | 731 | try_fixing_it( |
| 726 | - "sudo chown -R git:git #{repo_base_path}" | |
| 732 | + "sudo chown -R #{gitolite_ssh_user}:#{gitolite_ssh_user} #{repo_base_path}" | |
| 727 | 733 | ) |
| 728 | 734 | for_more_information( |
| 729 | 735 | see_installation_guide_section "Gitolite" |
| ... | ... | @@ -773,6 +779,7 @@ namespace :gitlab do |
| 773 | 779 | hook_file = "post-receive" |
| 774 | 780 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") |
| 775 | 781 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 782 | + gitolite_ssh_user = Gitlab.config.ssh_user | |
| 776 | 783 | |
| 777 | 784 | unless File.exists?(gitolite_hook_file) |
| 778 | 785 | puts "can't check because of previous errors".magenta |
| ... | ... | @@ -792,7 +799,7 @@ namespace :gitlab do |
| 792 | 799 | unless File.exists?(project_hook_file) |
| 793 | 800 | puts "missing".red |
| 794 | 801 | try_fixing_it( |
| 795 | - "sudo -u git ln -sf #{gitolite_hook_file} #{project_hook_file}" | |
| 802 | + "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}" | |
| 796 | 803 | ) |
| 797 | 804 | for_more_information( |
| 798 | 805 | "lib/support/rewrite-hooks.sh" |
| ... | ... | @@ -806,7 +813,7 @@ namespace :gitlab do |
| 806 | 813 | else |
| 807 | 814 | puts "not a link to Gitolite's hook".red |
| 808 | 815 | try_fixing_it( |
| 809 | - "sudo -u git ln -sf #{gitolite_hook_file} #{project_hook_file}" | |
| 816 | + "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}" | |
| 810 | 817 | ) |
| 811 | 818 | for_more_information( |
| 812 | 819 | "lib/support/rewrite-hooks.sh" |
| ... | ... | @@ -860,7 +867,6 @@ namespace :gitlab do |
| 860 | 867 | puts "yes".green |
| 861 | 868 | else |
| 862 | 869 | puts "no".red |
| 863 | - puts "#{repo_base_path} is not owned by git".red | |
| 864 | 870 | try_fixing_it( |
| 865 | 871 | "sudo service gitlab restart", |
| 866 | 872 | "or", | ... | ... |