summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab_status.rake
blob: db4d1d36e7a8ea656889ef04db8d8d893e6a675f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
desc "Check gitlab installation status"
task :gitlab_status => :environment  do
  puts "Starting diagnostic"

  print "config/database.yml............"
  if File.exists?(File.join Rails.root, "config", "database.yml") 
    puts "exists".green
  else 
    puts "missing".red
    return
  end

  print "config/gitlab.yml............"
  if File.exists?(File.join Rails.root, "config", "gitlab.yml")
    puts "exists".green 
  else
    puts "missing".red
    return
  end

  GIT_HOST = YAML.load_file("#{Rails.root}/config/gitlab.yml")["git_host"]
  print "/home/git/repositories/............"
  if File.exists?(GIT_HOST['base_path'])  
    puts "exists".green 
  else 
    puts "missing".red
    return
  end

  print "/home/git/repositories/ is writable?............"
  if File.stat(GIT_HOST['base_path']).writable?
    puts "YES".green 
  else
    puts "NO".red
    return
  end

  begin
    `git clone #{GIT_HOST["admin_uri"]} /tmp/gitolite_gitlab_test`
    FileUtils.rm_rf("/tmp/gitolite_gitlab_test")
    print "Can clone gitolite-admin?............"
    puts "YES".green 
  rescue 
    print "Can clone gitolite-admin?............"
    puts "NO".red
    return
  end

  print "UMASK for .gitolite.rc is 0007? ............"
  unless open("#{GIT_HOST['base_path']}/../.gitolite.rc").grep(/REPO_UMASK = 0007/).empty?
    puts "YES".green 
  else
    puts "NO".red
    return
  end

  puts "\nFinished"
end