#!/usr/bin/env ruby require_relative '../lib/gitlab_init' require_relative '../lib/gitlab_net' def ping_redis print "Send ping to redis server: " if GitlabNet.new.redis_client.ping print 'OK' else abort 'FAILED' end puts "\n" end # # GitLab shell check task # print "Check GitLab API access: " begin resp = GitlabNet.new.check if resp.code != "200" abort "FAILED. code: #{resp.code}" end puts 'OK' check_values = JSON.parse(resp.body) if check_values.key?('redis') print 'Redis available via internal API: ' if check_values['redis'] puts 'OK' else abort 'FAILED' end else ping_redis end rescue GitlabNet::ApiUnreachableError abort "FAILED: Failed to connect to internal API" end config = GitlabConfig.new abort("ERROR: missing option in config.yml") unless config.auth_file print "\nAccess to #{config.auth_file}: " if system(File.dirname(__FILE__) + '/gitlab-keys', 'check-permissions') print 'OK' else abort "FAILED" end puts "\n"