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.
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} ? ... "
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)