Sha256: 3213a9a3f3eedf96c33dbd2e51376bbb3bc0179bc172c00c1d3b4c118b2da3f5

Contents?: true

Size: 1.17 KB

Versions: 13

Compression:

Stored size: 1.17 KB

Contents

require_relative 'services_helper'

module Kontena::Cli::Services
  class ListCommand < Clamp::Command
    include Kontena::Cli::Common
    include Kontena::Cli::GridOptions
    include ServicesHelper

    def execute
      require_api_url
      token = require_token

      grids = client(token).get("grids/#{current_grid}/services")
      services = grids['services'].sort_by{|s| s['updated_at'] }.reverse
      titles = ['NAME', 'INSTANCES', 'STATEFUL', 'STATE', 'EXPOSED PORTS']
      puts "%-60s %-10s %-8s %-10s %-50s" % titles
      services.each do |service|
        stateful = service['stateful'] ? 'yes' : 'no'
        running = service['instances']['running']
        desired = service['container_count']
        instances = "#{running} / #{desired}"
        ports = service['ports'].map{|p|
          "#{p['ip']}:#{p['node_port']}->#{p['container_port']}/#{p['protocol']}"
        }.join(", ")
        health = health_status(service)
        vars = [
          "#{health_status_icon(health)} #{service['name']}",
          instances,
          stateful,
          service['state'],
          ports
        ]
        puts "%-74s %-10.10s %-8s %-10s %-50s" % vars
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
kontena-cli-0.15.5 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.5.rc2 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.5.rc1 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.4 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.4.rc2 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.4.rc1 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.4.pre1 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.3 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.2 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.1 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.0 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.0.rc3 lib/kontena/cli/services/list_command.rb
kontena-cli-0.15.0.rc2 lib/kontena/cli/services/list_command.rb