Class: Kontena::Cli::Containers::ExecCommand

Inherits:
Clamp::Command
  • Object
show all
Includes:
Kontena::Cli::Common
Defined in:
lib/kontena/cli/containers/exec_command.rb

Instance Method Summary collapse

Methods included from Kontena::Cli::Common

#access_token=, #add_master, #api_url, #api_url=, #clear_current_grid, #client, #current_grid, #current_grid=, #current_master, #current_master=, #current_master_index, #ensure_custom_ssl_ca, #require_api_url, #require_current_grid, #require_token, #reset_client, #save_settings, #settings, #settings_filename

Instance Method Details

#executeObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/kontena/cli/containers/exec_command.rb', line 8

def execute
  require_api_url
  token = require_token

  payload = {cmd: ['sh', '-c', cmd_list.join(' ')]}
  service_name = container_id.match(/(.+)-(\d+)/)[1]
  result = client(token).post("containers/#{current_grid}/#{service_name}/#{container_id}/exec", payload)
  puts result[0].join(" ") unless result[0].size == 0
  STDERR.puts result[1].join(" ") unless result[1].size == 0
  exit result[2]
end