class Kontena::Cli::Apps::ListCommand
Attributes
services[R]
Public Instance Methods
execute()
click to toggle source
# 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)
click to toggle source
# 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