Class: Kontena::Plugin::Shell::Completer::Helper

Inherits:
Object
  • Object
show all
Includes:
Cli::Common
Defined in:
lib/kontena/plugin/shell/completer.rb

Instance Method Summary collapse

Instance Method Details

#containersObject



48
49
50
51
52
53
54
55
56
57
58
# File 'lib/kontena/plugin/shell/completer.rb', line 48

def containers
  results = []
  client.get("grids/#{current_grid}/services")['services'].each do |service|
    containers = client.get("services/#{service['id']}/containers")['containers']
    results.push(containers.map{|c| c['name'] })
    results.push(containers.map{|c| c['id'] })
  end
  results
rescue
  []
end

#gridsObject



10
11
12
13
14
# File 'lib/kontena/plugin/shell/completer.rb', line 10

def grids
  client.get("grids")['grids'].map{|grid| grid['id']}
rescue
  []
end

#master_namesObject



76
77
78
79
80
81
82
83
84
# File 'lib/kontena/plugin/shell/completer.rb', line 76

def master_names
  config_file = File.expand_path('~/.kontena_client.json')
  if(File.exist?(config_file))
    config = JSON.parse(File.read(config_file))
    return config['servers'].map{|s| s['name']}
  end
rescue
  []
end

#nodesObject



16
17
18
19
20
# File 'lib/kontena/plugin/shell/completer.rb', line 16

def nodes
  client.get("grids/#{current_grid}/nodes")['nodes'].map{|node| node['name']}
rescue
  []
end

#servicesObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/kontena/plugin/shell/completer.rb', line 32

def services
  services = client.get("grids/#{current_grid}/services")['services']
  results = []
  results.push services.map{ |s|
    stack = s['stack']['id'].split('/').last
    if stack != 'null'
      "#{stack}/#{s['name']}"
    else
      s['name']
    end
  }
  results
rescue
  []
end

#stacksObject



22
23
24
25
26
27
28
29
30
# File 'lib/kontena/plugin/shell/completer.rb', line 22

def stacks
  stacks = client.get("grids/#{current_grid}/stacks")['stacks']
  results = []
  results.push stacks.map{|s| s['name']}
  results.delete('null')
  results
rescue
  []
end

#yml_filesObject



70
71
72
73
74
# File 'lib/kontena/plugin/shell/completer.rb', line 70

def yml_files
  Dir["./*.yml"].map{|file| file.sub('./', '')}
rescue
  []
end

#yml_servicesObject



60
61
62
63
64
65
66
67
68
# File 'lib/kontena/plugin/shell/completer.rb', line 60

def yml_services
  if File.exist?('kontena.yml')
    yaml = YAML.safe_load(File.read('kontena.yml'))
    services = yaml['services']
    services.keys
  end
rescue
  []
end