Class: Kontena::Cli::Apps::ListCommand
- Inherits:
-
Kontena::Command
- Object
- Kontena::Command
- Kontena::Cli::Apps::ListCommand
- Includes:
- Common, Common, GridOptions
- Defined in:
- lib/kontena/cli/apps/list_command.rb
Instance Attribute Summary collapse
-
#services ⇒ Object
readonly
Returns the value of attribute services.
Instance Method Summary collapse
Methods included from Common
#abort_on_validation_errors, #app_json, #create_yml, #current_dir, #display_notifications, #generate_services, #hint_on_validation_notifications, #prefixed_name, #project_name_from_yaml, #read_yaml, #require_config_file, #service_exists?, #service_prefix, #services_from_yaml, #set_env_variables, #token, #valid_addons
Instance Attribute Details
#services ⇒ Object (readonly)
Returns the value of attribute services.
16 17 18 |
# File 'lib/kontena/cli/apps/list_command.rb', line 16 def services @services end |
Instance Method Details
#execute ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/kontena/cli/apps/list_command.rb', line 18 def execute require_config_file(filename) @services = services_from_yaml(filename, service_list, service_prefix, true) if quiet? puts services.map(&:first).join("\n") exit 0 end if services.size > 0 show_services(services) elsif !service_list.empty? puts "No such service: #{service_list.join(', ')}".colorize(:red) end end |
#show_services(services) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/kontena/cli/apps/list_command.rb', line 36 def show_services(services) titles = ['NAME', 'IMAGE', 'INSTANCES', 'STATEFUL', 'STATE', 'PORTS'] puts "%-30.30s %-50.50s %-15s %-10.10s %-15.20s %-50s" % titles services.each do |service_name, opts| service = get_service(token, prefixed_name(service_name)) rescue false if service name = service['name'].sub("#{service_prefix}-", '') state = service['stateful'] ? 'yes' : 'no' ports = service['ports'].map{|p| "#{p['ip']}:#{p['node_port']}->#{p['container_port']}/#{p['protocol']}" }.join(", ") running = service['instance_counts']['running'] desired = service['instances'] instances = "#{running} / #{desired}" vars = [name, service['image'], instances, state, service['state'], ports] else vars = [service_name, '-', '-', '-', '-', '-'] end puts "%-30.30s %-50.50s %-15.10s %-10.10s %-15.20s %-50s" % vars end end |