summaryrefslogtreecommitdiff
path: root/lib/leap_cli/commands
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2012-12-05 01:02:39 -0800
committerelijah <elijah@riseup.net>2012-12-05 01:02:39 -0800
commit5a5879c51afc128ea723443de26458ebdc645c6a (patch)
tree7e18cd0880526bd550a5e8945ecb683e7fdf1a00 /lib/leap_cli/commands
parentcc2459bf72db3990d15b83d6a07c184794215777 (diff)
fixed problems with ruby 1.8 and GLI, and added some tests.
Diffstat (limited to 'lib/leap_cli/commands')
-rw-r--r--lib/leap_cli/commands/ca.rb28
-rw-r--r--lib/leap_cli/commands/node.rb32
-rw-r--r--lib/leap_cli/commands/vagrant.rb42
3 files changed, 51 insertions, 51 deletions
diff --git a/lib/leap_cli/commands/ca.rb b/lib/leap_cli/commands/ca.rb
index f471b5a..d6fd975 100644
--- a/lib/leap_cli/commands/ca.rb
+++ b/lib/leap_cli/commands/ca.rb
@@ -7,11 +7,11 @@ module LeapCli; module Commands
desc "Manage X.509 certificates"
#long_desc ""
- command :cert do |c|
+ command :cert do |cert|
- c.desc 'Creates a Certificate Authority (private key and CA certificate)'
- c.command :ca do |c|
- c.action do |global_options,options,args|
+ cert.desc 'Creates a Certificate Authority (private key and CA certificate)'
+ cert.command :ca do |ca|
+ ca.action do |global_options,options,args|
assert_files_missing! :ca_cert, :ca_key
assert_config! 'provider.ca.name'
assert_config! 'provider.ca.bit_size'
@@ -48,10 +48,10 @@ module LeapCli; module Commands
end
end
- c.desc 'Creates or renews a X.509 certificate/key pair for a single node or all nodes'
- c.arg_name 'node-name', :optional => false
- c.command :update do |c|
- c.action do |global_options,options,args|
+ cert.desc 'Creates or renews a X.509 certificate/key pair for a single node or all nodes'
+ cert.arg_name 'node-name', :optional => false
+ cert.command :update do |update|
+ update.action do |global_options,options,args|
assert_files_exist! :ca_cert, :ca_key, :msg => 'Run `leap cert ca` to create them'
assert_config! 'provider.ca.server_certificates.bit_size'
assert_config! 'provider.ca.server_certificates.digest'
@@ -70,9 +70,9 @@ module LeapCli; module Commands
end
end
- c.desc 'Creates a Diffie-Hellman parameter file' # (needed for server-side of some TLS connections)
- c.command :dh do |c|
- c.action do |global_options,options,args|
+ cert.desc 'Creates a Diffie-Hellman parameter file' # (needed for server-side of some TLS connections)
+ cert.command :dh do |dh|
+ dh.action do |global_options,options,args|
long_running do
if cmd_exists?('certtool')
log 0, 'Generating DH parameters (takes a long time)...'
@@ -104,10 +104,10 @@ module LeapCli; module Commands
# nice details about CSRs:
# http://www.redkestrel.co.uk/Articles/CSR.html
#
- c.desc 'Creates a CSR for use in buying a commercial X.509 certificate'
- c.command :csr do |c|
+ cert.desc 'Creates a CSR for use in buying a commercial X.509 certificate'
+ cert.command :csr do |csr|
#c.switch 'sign', :desc => 'additionally creates a cert that is signed by your own CA (recommended only for testing)', :negatable => false
- c.action do |global_options,options,args|
+ csr.action do |global_options,options,args|
assert_config! 'provider.domain'
assert_config! 'provider.name'
assert_config! 'provider.default_language'
diff --git a/lib/leap_cli/commands/node.rb b/lib/leap_cli/commands/node.rb
index aa9610f..9bf27e2 100644
--- a/lib/leap_cli/commands/node.rb
+++ b/lib/leap_cli/commands/node.rb
@@ -8,19 +8,19 @@ module LeapCli; module Commands
##
desc 'Node management'
- command :node do |c|
- c.desc 'Create a new configuration file for a node'
- c.command :add do |c|
- c.action do |global_options,options,args|
+ command :node do |node|
+ node.desc 'Create a new configuration file for a node'
+ node.command :add do |add|
+ add.action do |global_options,options,args|
log 'not yet implemented'
end
end
- c.desc 'Bootstraps a node, setting up ssh keys and installing prerequisites'
- c.arg_name 'node-name', :optional => false, :multiple => false
- c.command :init do |c|
- c.switch 'echo', :desc => 'if set, passwords are visible as you type them (default is hidden)', :negatable => false
- c.action do |global_options,options,args|
+ node.desc 'Bootstraps a node, setting up ssh keys and installing prerequisites'
+ node.arg_name 'node-name', :optional => false, :multiple => false
+ node.command :init do |init|
+ init.switch 'echo', :desc => 'if set, passwords are visible as you type them (default is hidden)', :negatable => false
+ init.action do |global_options,options,args|
node = get_node_from_args(args)
ping_node(node)
save_public_host_key(node)
@@ -33,17 +33,17 @@ module LeapCli; module Commands
end
end
- c.desc 'Renames a node file, and all its related files'
- c.command :mv do |c|
- c.action do |global_options,options,args|
+ node.desc 'Renames a node file, and all its related files'
+ node.command :mv do |mv|
+ mv.action do |global_options,options,args|
log 'not yet implemented'
end
end
- c.desc 'Removes a node file, and all its related files'
- c.arg_name '<node-name>', :optional => false, :multiple => false
- c.command :rm do |c|
- c.action do |global_options,options,args|
+ node.desc 'Removes a node file, and all its related files'
+ node.arg_name '<node-name>', :optional => false, :multiple => false
+ node.command :rm do |rm|
+ rm.action do |global_options,options,args|
log 'not yet implemented'
end
end
diff --git a/lib/leap_cli/commands/vagrant.rb b/lib/leap_cli/commands/vagrant.rb
index eaf070f..f3c3c33 100644
--- a/lib/leap_cli/commands/vagrant.rb
+++ b/lib/leap_cli/commands/vagrant.rb
@@ -5,47 +5,47 @@ module LeapCli; module Commands
desc "Manage local virtual machines"
long_desc "This command provides a convient way to manage Vagrant-based virtual machines. If node-filter argument is missing, the command runs on all local virtual machines. The Vagrantfile is automatically generated in 'test/Vagrantfile'. If you want to run vagrant commands manually, cd to 'test'."
- command :local do |c|
- c.desc 'Starts up the virtual machine(s)'
- c.arg_name 'node-filter', :optional => true #, :multiple => false
- c.command :start do |c|
- c.action do |global_options,options,args|
+ command :local do |local|
+ local.desc 'Starts up the virtual machine(s)'
+ local.arg_name 'node-filter', :optional => true #, :multiple => false
+ local.command :start do |start|
+ start.action do |global_options,options,args|
vagrant_setup
vagrant_command(["up", "sandbox on"], args)
end
end
- c.desc 'Shuts down the virtual machine(s)'
- c.arg_name 'node-filter', :optional => true #, :multiple => false
- c.command :stop do |c|
- c.action do |global_options,options,args|
+ local.desc 'Shuts down the virtual machine(s)'
+ local.arg_name 'node-filter', :optional => true #, :multiple => false
+ local.command :stop do |stop|
+ stop.action do |global_options,options,args|
vagrant_setup
vagrant_command("halt", args)
end
end
- c.desc 'Resets virtual machine(s) to a pristine state'
- c.arg_name 'node-filter', :optional => true #, :multiple => false
- c.command :reset do |c|
- c.action do |global_options,options,args|
+ local.desc 'Resets virtual machine(s) to a pristine state'
+ local.arg_name 'node-filter', :optional => true #, :multiple => false
+ local.command :reset do |reset|
+ reset.action do |global_options,options,args|
vagrant_setup
vagrant_command("sandbox rollback", args)
end
end
- c.desc 'Destroys the virtual machine(s), reclaiming the disk space'
- c.arg_name 'node-filter', :optional => true #, :multiple => false
- c.command :destroy do |c|
- c.action do |global_options,options,args|
+ local.desc 'Destroys the virtual machine(s), reclaiming the disk space'
+ local.arg_name 'node-filter', :optional => true #, :multiple => false
+ local.command :destroy do |destroy|
+ destroy.action do |global_options,options,args|
vagrant_setup
vagrant_command("destroy", args)
end
end
- c.desc 'Print the status of local virtual machine(s)'
- c.arg_name 'node-filter', :optional => true #, :multiple => false
- c.command :status do |c|
- c.action do |global_options,options,args|
+ local.desc 'Print the status of local virtual machine(s)'
+ local.arg_name 'node-filter', :optional => true #, :multiple => false
+ local.command :status do |status|
+ status.action do |global_options,options,args|
vagrant_setup
vagrant_command("status", args)
end