OSDN Git Service

Use gitlab-shell authorized_keys truncation. Fix issue with authorized_keys stored...
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 18 Jul 2013 10:55:01 +0000 (13:55 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 18 Jul 2013 10:55:01 +0000 (13:55 +0300)
lib/gitlab/backend/shell.rb
lib/tasks/gitlab/check.rake
lib/tasks/gitlab/shell.rake

index 6c9532f..d0b89f8 100644 (file)
@@ -139,6 +139,15 @@ module Gitlab
       system "#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys", "rm-key", key_id, key_content
     end
 
+    # Remove all ssh keys from gitlab shell
+    #
+    # Ex.
+    #   remmove_all_keys
+    #
+    def remove_all_keys
+      system "#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys", "clear"
+    end
+
     # Add empty directory for storing repositories
     #
     # Ex.
index 7796705..be679dc 100644 (file)
@@ -657,7 +657,7 @@ namespace :gitlab do
   end
 
   def check_gitlab_shell
-    required_version = Gitlab::VersionInfo.new(1, 6, 0)
+    required_version = Gitlab::VersionInfo.new(1, 7, 0)
     current_version = Gitlab::VersionInfo.parse(gitlab_shell_version)
 
     print "GitLab Shell version >= #{required_version} ? ... "
index 11d4eac..0d7a390 100644 (file)
@@ -25,15 +25,14 @@ namespace :gitlab do
   def setup
     warn_user_is_not_gitlab
 
-    gitlab_shell_authorized_keys = File.join(File.expand_path("~#{Gitlab.config.gitlab_shell.ssh_user}"),'.ssh/authorized_keys')
     unless ENV['force'] == 'yes'
       puts "This will rebuild an authorized_keys file."
-      puts "You will lose any data stored in #{gitlab_shell_authorized_keys}."
+      puts "You will lose any data stored in authorized_keys file."
       ask_to_continue
       puts ""
     end
 
-    system("echo '# Managed by gitlab-shell' > #{gitlab_shell_authorized_keys}")
+    Gitlab::Shell.new.remove_all_keys
 
     Key.find_each(batch_size: 1000) do |key|
       if Gitlab::Shell.new.add_key(key.shell_id, key.key)