Module: Cabal::Commands::Key

Defined in:
lib/cabal/commands/key.rb

Class Method Summary collapse

Class Method Details

.bootstrap(obj) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cabal/commands/key.rb', line 4

def self.bootstrap(obj)
  obj.instance_eval do
    desc 'Get the public key for a cluster'
    long_desc <<-KEYDESC
    In order to allow logins for Cabal users, you'll need to retrieve
    a public SSH key for your cluster.
    KEYDESC

    arg 'cluster name'
    command :key do |c|
      c.action do |global_options, options, args|
        unless global_options[:url]
          stderr.puts "#{cabal_yml} must contain a :url: definition"
          exit(1)
        end

        client = Cabal::Client.new(
          api_base: global_options[:url],
          access_key: global_options[:access_key],
          secret_key: global_options[:secret_key],
        )
        stdout.puts client.public_key(args.join(' '))
      end
    end
  end
end