]> gitweb.fluxo.info Git - leap/leap_cli.git/commitdiff
prevent compile from happening before adding at least one user ssh key.
authorelijah <elijah@riseup.net>
Tue, 2 Jul 2013 20:53:59 +0000 (13:53 -0700)
committerelijah <elijah@riseup.net>
Tue, 2 Jul 2013 20:53:59 +0000 (13:53 -0700)
lib/leap_cli/commands/user.rb

index d0146b6f705d0815515196f4842796a7a1c260e7..f96d5270a6f77a79b74b488d6fdd1d1b8c5a5d39 100644 (file)
@@ -14,11 +14,11 @@ require 'gpgme'
 module LeapCli
   module Commands
 
-    desc 'Adds a new trusted sysadmin'
+    desc 'Adds a new trusted sysadmin by adding public keys to the "users" directory.'
     arg_name 'USERNAME' #, :optional => false, :multiple => false
     command :'add-user' do |c|
 
-      c.switch 'self', :desc => 'lets you choose among your public keys', :negatable => false
+      c.switch 'self', :desc => 'Add yourself as a trusted sysadin by choosing among the public keys available for the current user.', :negatable => false
       c.flag 'ssh-pub-key', :desc => 'SSH public key file for this new user'
       c.flag 'pgp-pub-key', :desc => 'OpenPGP public key file for this new user'
 
@@ -120,7 +120,11 @@ module LeapCli
 
     def update_authorized_keys
       buffer = StringIO.new
-      Dir.glob(path([:user_ssh, '*'])).sort.each do |keyfile|
+      keys = Dir.glob(path([:user_ssh, '*']))
+      if keys.empty?
+        bail! "You must have at least one public SSH user key configured in order to proceed. See `leap help add-user`."
+      end
+      keys.sort.each do |keyfile|
         ssh_type, ssh_key = File.read(keyfile).strip.split(" ")
         buffer << ssh_type
         buffer << " "