Class: Kontena::Plugin::Upcloud::Master::CreateCommand

Inherits:
Command
  • Object
show all
Includes:
Cli::Common
Defined in:
lib/kontena/plugin/upcloud/master/create_command.rb

Instance Method Summary collapse

Instance Method Details

#default_passwordObject



44
45
46
# File 'lib/kontena/plugin/upcloud/master/create_command.rb', line 44

def default_password
  prompt.ask('UpCloud password:', echo: false)
end

#default_planObject



48
49
50
51
52
53
54
# File 'lib/kontena/plugin/upcloud/master/create_command.rb', line 48

def default_plan
  prompt.select("Choose plan:") do |menu|
    Kontena::Plugin::Upcloud::PLANS.each do |plan, name|
      menu.choice name, plan
    end
  end
end

#default_usernameObject



40
41
42
# File 'lib/kontena/plugin/upcloud/master/create_command.rb', line 40

def default_username
  prompt.ask('UpCloud username:', echo: true)
end

#default_zoneObject



56
57
58
59
60
61
62
# File 'lib/kontena/plugin/upcloud/master/create_command.rb', line 56

def default_zone
  prompt.select("Choose availability zone:") do |menu|
    Kontena::Plugin::Upcloud::ZONES.each do |zone, name|
      menu.choice name, zone
    end
  end
end

#executeObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/kontena/plugin/upcloud/master/create_command.rb', line 19

def execute
  require_relative '../../../machine/upcloud'

  provisioner.run!(
      name: self.name,
      ssh_key: ssh_key,
      ssl_cert: ssl_cert,
      plan: plan,
      zone: zone,
      version: version,
      vault_secret: vault_secret || SecureRandom.hex(24),
      vault_iv: vault_iv || SecureRandom.hex(24),
      initial_admin_code: SecureRandom.hex(16),
      mongodb_uri: mongodb_uri
  )
end

#provisionerObject



36
37
38
# File 'lib/kontena/plugin/upcloud/master/create_command.rb', line 36

def provisioner
  Kontena::Machine::Upcloud::MasterProvisioner.new(username, password)
end