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,14 +290,15 @@ namespace :gitlab do | ||
| 290 | end | 290 | end |
| 291 | 291 | ||
| 292 | def check_gitlab_in_git_group | 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 | if run_and_match("id -rnG", /\Wgit\W/) | 296 | if run_and_match("id -rnG", /\Wgit\W/) |
| 296 | puts "yes".green | 297 | puts "yes".green |
| 297 | else | 298 | else |
| 298 | puts "no".red | 299 | puts "no".red |
| 299 | try_fixing_it( | 300 | try_fixing_it( |
| 300 | - "sudo usermod -a -G git gitlab" | 301 | + "sudo usermod -a -G #{gitolite_ssh_user} gitlab" |
| 301 | ) | 302 | ) |
| 302 | for_more_information( | 303 | for_more_information( |
| 303 | see_installation_guide_section "System Users" | 304 | see_installation_guide_section "System Users" |
| @@ -308,7 +309,8 @@ namespace :gitlab do | @@ -308,7 +309,8 @@ namespace :gitlab do | ||
| 308 | 309 | ||
| 309 | # see https://github.com/gitlabhq/gitlabhq/issues/1059 | 310 | # see https://github.com/gitlabhq/gitlabhq/issues/1059 |
| 310 | def check_issue_1056_shell_profile_error | 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 | profile_file = File.expand_path("~#{Gitlab.config.ssh_user}/.profile") | 315 | profile_file = File.expand_path("~#{Gitlab.config.ssh_user}/.profile") |
| 314 | 316 | ||
| @@ -510,22 +512,23 @@ namespace :gitlab do | @@ -510,22 +512,23 @@ namespace :gitlab do | ||
| 510 | end | 512 | end |
| 511 | 513 | ||
| 512 | def check_dot_gitolite_user_and_group | 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 | unless File.exists?(gitolite_config_path) | 519 | unless File.exists?(gitolite_config_path) |
| 517 | puts "can't check because of previous errors".magenta | 520 | puts "can't check because of previous errors".magenta |
| 518 | return | 521 | return |
| 519 | end | 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 | puts "yes".green | 526 | puts "yes".green |
| 524 | else | 527 | else |
| 525 | puts "no".red | 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 | try_fixing_it( | 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 | for_more_information( | 533 | for_more_information( |
| 531 | see_installation_guide_section "Gitolite" | 534 | see_installation_guide_section "Gitolite" |
| @@ -614,6 +617,7 @@ namespace :gitlab do | @@ -614,6 +617,7 @@ namespace :gitlab do | ||
| 614 | hook_file = "post-receive" | 617 | hook_file = "post-receive" |
| 615 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") | 618 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") |
| 616 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) | 619 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 620 | + gitolite_ssh_user = Gitlab.config.ssh_user | ||
| 617 | 621 | ||
| 618 | gitlab_hook_file = Rails.root.join.join("lib", "hooks", hook_file) | 622 | gitlab_hook_file = Rails.root.join.join("lib", "hooks", hook_file) |
| 619 | 623 | ||
| @@ -622,7 +626,7 @@ namespace :gitlab do | @@ -622,7 +626,7 @@ namespace :gitlab do | ||
| 622 | else | 626 | else |
| 623 | puts "no".red | 627 | puts "no".red |
| 624 | try_fixing_it( | 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 | for_more_information( | 631 | for_more_information( |
| 628 | see_installation_guide_section "Setup GitLab Hooks" | 632 | see_installation_guide_section "Setup GitLab Hooks" |
| @@ -638,6 +642,7 @@ namespace :gitlab do | @@ -638,6 +642,7 @@ namespace :gitlab do | ||
| 638 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") | 642 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") |
| 639 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) | 643 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 640 | gitolite_hook_content = File.read(gitolite_hook_file) | 644 | gitolite_hook_content = File.read(gitolite_hook_file) |
| 645 | + gitolite_ssh_user = Gitlab.config.ssh_user | ||
| 641 | 646 | ||
| 642 | unless File.exists?(gitolite_hook_file) | 647 | unless File.exists?(gitolite_hook_file) |
| 643 | puts "can't check because of previous errors".magenta | 648 | puts "can't check because of previous errors".magenta |
| @@ -652,7 +657,7 @@ namespace :gitlab do | @@ -652,7 +657,7 @@ namespace :gitlab do | ||
| 652 | else | 657 | else |
| 653 | puts "no".red | 658 | puts "no".red |
| 654 | try_fixing_it( | 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 | for_more_information( | 662 | for_more_information( |
| 658 | see_installation_guide_section "Setup GitLab Hooks" | 663 | see_installation_guide_section "Setup GitLab Hooks" |
| @@ -708,7 +713,8 @@ namespace :gitlab do | @@ -708,7 +713,8 @@ namespace :gitlab do | ||
| 708 | end | 713 | end |
| 709 | 714 | ||
| 710 | def check_repo_base_user_and_group | 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 | repo_base_path = Gitlab.config.git_base_path | 719 | repo_base_path = Gitlab.config.git_base_path |
| 714 | unless File.exists?(repo_base_path) | 720 | unless File.exists?(repo_base_path) |
| @@ -716,14 +722,14 @@ namespace :gitlab do | @@ -716,14 +722,14 @@ namespace :gitlab do | ||
| 716 | return | 722 | return |
| 717 | end | 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 | puts "yes".green | 727 | puts "yes".green |
| 722 | else | 728 | else |
| 723 | puts "no".red | 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 | try_fixing_it( | 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 | for_more_information( | 734 | for_more_information( |
| 729 | see_installation_guide_section "Gitolite" | 735 | see_installation_guide_section "Gitolite" |
| @@ -773,6 +779,7 @@ namespace :gitlab do | @@ -773,6 +779,7 @@ namespace :gitlab do | ||
| 773 | hook_file = "post-receive" | 779 | hook_file = "post-receive" |
| 774 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") | 780 | gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") |
| 775 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) | 781 | gitolite_hook_file = File.join(gitolite_hooks_path, hook_file) |
| 782 | + gitolite_ssh_user = Gitlab.config.ssh_user | ||
| 776 | 783 | ||
| 777 | unless File.exists?(gitolite_hook_file) | 784 | unless File.exists?(gitolite_hook_file) |
| 778 | puts "can't check because of previous errors".magenta | 785 | puts "can't check because of previous errors".magenta |
| @@ -792,7 +799,7 @@ namespace :gitlab do | @@ -792,7 +799,7 @@ namespace :gitlab do | ||
| 792 | unless File.exists?(project_hook_file) | 799 | unless File.exists?(project_hook_file) |
| 793 | puts "missing".red | 800 | puts "missing".red |
| 794 | try_fixing_it( | 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 | for_more_information( | 804 | for_more_information( |
| 798 | "lib/support/rewrite-hooks.sh" | 805 | "lib/support/rewrite-hooks.sh" |
| @@ -806,7 +813,7 @@ namespace :gitlab do | @@ -806,7 +813,7 @@ namespace :gitlab do | ||
| 806 | else | 813 | else |
| 807 | puts "not a link to Gitolite's hook".red | 814 | puts "not a link to Gitolite's hook".red |
| 808 | try_fixing_it( | 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 | for_more_information( | 818 | for_more_information( |
| 812 | "lib/support/rewrite-hooks.sh" | 819 | "lib/support/rewrite-hooks.sh" |
| @@ -860,7 +867,6 @@ namespace :gitlab do | @@ -860,7 +867,6 @@ namespace :gitlab do | ||
| 860 | puts "yes".green | 867 | puts "yes".green |
| 861 | else | 868 | else |
| 862 | puts "no".red | 869 | puts "no".red |
| 863 | - puts "#{repo_base_path} is not owned by git".red | ||
| 864 | try_fixing_it( | 870 | try_fixing_it( |
| 865 | "sudo service gitlab restart", | 871 | "sudo service gitlab restart", |
| 866 | "or", | 872 | "or", |