summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/initializers/1_settings.rb2
-rw-r--r--lib/tasks/gitlab/shell.rake32
2 files changed, 33 insertions, 1 deletions
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index a1afa5b22c4..c3179d78cc5 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -51,7 +51,7 @@ Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http"
Settings.gitlab['email_from'] ||= "gitlab@#{Settings.gitlab.host}"
Settings.gitlab['support_email'] ||= Settings.gitlab.email_from
Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
-Settings.gitlab['user'] ||= 'gitlab'
+Settings.gitlab['user'] ||= 'git'
Settings.gitlab['signup_enabled'] ||= false
Settings['gravatar'] ||= Settingslogic.new({})
diff --git a/lib/tasks/gitlab/shell.rake b/lib/tasks/gitlab/shell.rake
new file mode 100644
index 00000000000..25713482ed8
--- /dev/null
+++ b/lib/tasks/gitlab/shell.rake
@@ -0,0 +1,32 @@
+namespace :gitlab do
+ namespace :shell do
+ desc "GITLAB | Setup gitlab-shell"
+ task :setup => :environment do
+ setup
+ end
+ end
+
+ def setup
+ warn_user_is_not_gitlab
+
+ puts "This will rebuild an authorized_keys file."
+ puts "You will lose any data stored in /home/git/.ssh/authorized_keys."
+ ask_to_continue
+ puts ""
+
+ system("echo '# Managed by gitlab-shell' > /home/git/.ssh/authorized_keys")
+
+ Key.find_each(:batch_size => 1000) do |key|
+ if Gitlab::Shell.new.add_key(key.shell_id, key.key)
+ print '.'
+ else
+ print 'F'
+ end
+ end
+
+ rescue Gitlab::TaskAbortedByUserError
+ puts "Quitting...".red
+ exit 1
+ end
+end
+