appfront 1.1.2 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a712eae44294a08a398a7ceecbfd86bce312d8de
4
- data.tar.gz: 1f48f890d70c64b496e0770187ca1cc130515676
3
+ metadata.gz: 2d8fbd24675c2d2e610a25c286472775cfed2c59
4
+ data.tar.gz: 9b5e8bedad0c80cf1e9ee21d6fb19807360552ab
5
5
  SHA512:
6
- metadata.gz: 664fb006c5a03ee49cee182f7725f067a40d884436b7bff2fae71073798095615767a4816bd698bfc8a187a12310f6b72e2061660072288cede383c89e519329
7
- data.tar.gz: cfc18346fa7a3b6493e17351a20591f176c1927e791505f806b77fee106bc46354caf5e0b6a239ef2668484e493ab5ca8d4a84950ca073c2689309b27a6ca2db
6
+ metadata.gz: 5785e91792aa30388b42d4c50a44bc0405d90f5692fa3ded3f2061ae265beb476d70b93a11f4de2d3cfacfc37e48b6acbb4626fd291b21968fa0e026414a8e8f
7
+ data.tar.gz: 361f3a7566298ee5b4a04aacebff7e780f763457a66006f05e8352dd216c7954d564c2ff378624826c8bf0cbed0e64ce7cac9db2619d89ec71691544dca56a2c
@@ -35,7 +35,7 @@ module Appfront::Command
35
35
  exit 0
36
36
  end
37
37
 
38
- act ||= 'list'
38
+ act ||= 'ls'
39
39
 
40
40
  begin
41
41
  klass = "Appfront::Command::#{klass.capitalize}".constantize
@@ -16,7 +16,7 @@ class Appfront::Command::Alias < Appfront::Command::Base
16
16
  end
17
17
 
18
18
  def self.ls(*opts)
19
- Appfront::Command::Deploys.list
19
+ Appfront::Command::Deploys.ls
20
20
  end
21
21
 
22
22
  def self.create(args, opts)
@@ -1,25 +1,95 @@
1
1
  class Appfront::Command::Clusters < Appfront::Command::Base
2
2
 
3
- def self.list
3
+ def self.ls
4
4
  clusters = api.get "/clusters"
5
5
  puts '=== Clusters List:'
6
6
  clusters.each do |cl|
7
7
  puts "Cluster #{cl['uuid']} ---> Name: #{cl['name']} \tProvider: #{cl['provider']}"
8
8
  end
9
+ print "\n"
10
+ end
11
+
12
+ def self.ps(args, opts)
13
+ exit 1 unless args[0]
14
+ uuid = args[0]
15
+
16
+ puts "=== Cluster #{uuid} TOP: \n"
17
+ data = api.get "/cluster/#{uuid}/top"
18
+
19
+ unless data == {}
20
+ data.each do |b|
21
+ puts "\t ---"
22
+ puts "\t Box: #{b['address']}\t started: #{b['started']} \t memory: #{b['free_memory']}/#{b['memory']} MB"
23
+ puts "\n"
24
+ deploys = b['deploys']
25
+ deploys.each do |d|
26
+ puts "\t === #{d['deploy']} \t\t started: vuoto \t memory: #{d['memory']} MB \t cpu_usage: #{d['cpu']}%"
27
+ end
28
+ puts "\n"
29
+ end
30
+ end
31
+ puts "\n"
32
+
33
+ end
34
+
35
+ def self.top(args, opts)
36
+ exit 1 unless args[0]
37
+ uuid = args[0]
38
+
39
+ begin
40
+ system("clear")
41
+
42
+ puts "=== Cluster #{uuid} TOP: \n"
43
+ data = api.get "/cluster/#{uuid}/top"
44
+
45
+ unless data == {}
46
+ data.each do |b|
47
+ puts "\t ---"
48
+ puts "\t Box: #{b['address']}\t started: #{b['started']} \t memory: #{b['free_memory']}/#{b['memory']} MB"
49
+ puts "\n"
50
+ deploys = b['deploys']
51
+ deploys.each do |d|
52
+ puts "\t === #{d['deploy']} \t\t started: vuoto \t memory: #{d['memory']} MB \t cpu_usage: #{d['cpu']}%"
53
+ end
54
+ puts "\n"
55
+ end
56
+ end
57
+ puts "\n"
58
+
59
+ sleep 2
60
+ end while true
61
+ rescue Exception
62
+ system("clear")
9
63
  end
10
64
 
11
65
  def self.info(args, opts)
12
66
  exit 1 unless args[0]
13
67
  uuid = args[0]
14
- exit 1 unless opts[:provider]
15
- exit 1 unless opts[:provider] == 'amazon' or opts[:provider] == 'digitalocean' or opts[:provider] == 'manual'
68
+ #exit 1 unless opts[:provider]
69
+ #exit 1 unless opts[:provider] == 'amazon' or opts[:provider] == 'digitalocean' or opts[:provider] == 'manual'
70
+
16
71
  c = api.get "/cluster/#{uuid}"
17
72
  puts "=== Cluster #{uuid}: \n"
18
73
  puts "\t === Name: #{c['name']}\n"
74
+ puts "\t === DNS Name: #{c['dns']}\n"
19
75
  puts "\t === Token: #{c['token']}\n"
20
76
  puts "\t === Region: #{c['region']}\n"
77
+ puts "\n"
21
78
  puts "\t === Active Boxes: #{c['boxes']}\n"
79
+ if c['addresses']
80
+ c['addresses'].each do |box|
81
+ puts "\t box address:\t#{box}"
82
+ end
83
+ end
22
84
  puts "\n"
85
+ if c['started']
86
+ puts "\t === Booting Boxes: #{c['started'].count}\n"
87
+ c['started'].each do |box|
88
+ puts "\t box address:\t#{box}"
89
+ end
90
+ end
91
+ puts "\n"
92
+
23
93
  end
24
94
 
25
95
  def self.create(args, opts)
@@ -71,8 +141,8 @@ class Appfront::Command::Clusters < Appfront::Command::Base
71
141
  def self.scale_up(args, opts)
72
142
  exit 1 unless args[0]
73
143
  uuid = args[0]
74
- exit 1 unless opts[:provider]
75
- exit 1 unless opts[:provider] == 'amazon' or opts[:provider] == 'digitalocean'
144
+ #exit 1 unless opts[:provider]
145
+ #exit 1 unless opts[:provider] == 'amazon' or opts[:provider] == 'digitalocean'
76
146
 
77
147
  spinner "Scaling UP cluster #{uuid}..." do
78
148
  api.put "/provider/cluster/#{uuid}/scale/up"
@@ -84,9 +154,8 @@ class Appfront::Command::Clusters < Appfront::Command::Base
84
154
  def self.scale_down(args, opts)
85
155
  uuid = args[0]
86
156
  exit 1 unless args[0]
87
- exit 1 unless opts[:provider]
88
- exit 1 unless opts[:provider] == 'amazon' or opts[:provider] == 'digitalocean'
89
- exit 1 unless args[0]
157
+ #exit 1 unless opts[:provider]
158
+ #exit 1 unless opts[:provider] == 'amazon' or opts[:provider] == 'digitalocean'
90
159
 
91
160
  spinner "Scaling DOWN cluster #{uuid}..." do
92
161
  api.put "/provider/cluster/#{uuid}/scale/down"
@@ -10,6 +10,14 @@ class Appfront::Command::Deploys < Appfront::Command::Base
10
10
  print "\n"
11
11
  end
12
12
 
13
+ def self.attach(args, opts)
14
+ find_deploy! opts
15
+ spinner "Attaching deploy to cluster..." do
16
+ api.post "/cluster/#{args[0]}/attach", deploy: @deploy
17
+ end
18
+ puts "\n"
19
+ end
20
+
13
21
  def self.add(args, opts)
14
22
  spinner "Uploading Deploy YAML configuration to Jarvis..." do
15
23
  api.post "/flow.yaml", file: args[0]
@@ -51,11 +59,13 @@ class Appfront::Command::Deploys < Appfront::Command::Base
51
59
  end
52
60
  end
53
61
 
54
- puts
55
- puts "=== Cluster: "
56
- puts "\t name: #{h['cluster_name']}"
57
- puts "\t uuid: #{h['cluster']}"
58
- puts "\t dns address:\t#{h['cluster_dns']}"
62
+ if h['cluster']
63
+ puts
64
+ puts "=== Cluster: "
65
+ puts "\t name: #{h['cluster_name']}"
66
+ puts "\t uuid: #{h['cluster']}"
67
+ puts "\t dns address:\t#{h['cluster_dns']}"
68
+ end
59
69
 
60
70
  if h['boxes']
61
71
  h['boxes'].each do |box|
@@ -77,7 +87,7 @@ class Appfront::Command::Deploys < Appfront::Command::Base
77
87
 
78
88
  end
79
89
 
80
- def self.list
90
+ def self.ls
81
91
  deploys = api.get "/flows"
82
92
  unless deploys.count == 0
83
93
  puts '=== Deploys List'
@@ -36,7 +36,7 @@ class Appfront::Command::Domains < Appfront::Command::Base
36
36
 
37
37
  end
38
38
 
39
- def self.list
39
+ def self.ls
40
40
  domains = api.get "/domains"
41
41
  unless domains.count == 0
42
42
  puts '=== Domains List'
@@ -20,10 +20,10 @@ Additional topics:
20
20
  puts <<-HELP
21
21
  Deploys commands:
22
22
 
23
- deploys:create [NAME] # create a new deploy
24
- deploys:destroy # permanently destroy an deploy
25
- deploys:info # show detailed deploy information
26
- deploys:list # show deploys list
23
+ deploys:destroy -d [deploy uuid] # permanently destroy an deploy
24
+ deploys:info -d [deploy uuid] # show detailed deploy information
25
+ deploys:list # show deploys list
26
+ deploys:attach -d [deploy uuid] [cluster uuid] # attach cluster to a deploy
27
27
  HELP
28
28
  end
29
29
 
@@ -32,9 +32,9 @@ Deploys commands:
32
32
  Clusters commands:
33
33
 
34
34
  clusters:create -p [provider] [NAME] [type] [region] # create a new cluster
35
- clusters:rm # permanently destroy a cluster
36
- clusters:info # show detailed cluster information
37
- clusters:list # show clusters list
35
+ clusters:rm [cluster uuid] # permanently destroy a cluster
36
+ clusters:info [cluster uuid] # show detailed cluster information
37
+ clusters:list [cluster uuid] # show clusters list
38
38
  HELP
39
39
  end
40
40
 
@@ -10,6 +10,9 @@ class Appfront::Command::Logs < Appfront::Command::Base
10
10
  events.each {|e| puts e }
11
11
  sleep 2
12
12
  end while opts[:follow]
13
+
14
+ rescue Exception
15
+ system("clear")
13
16
  end
14
17
 
15
18
  end
@@ -42,20 +42,6 @@ class Appfront::Command::Ps < Appfront::Command::Base
42
42
  puts "\n"
43
43
  end
44
44
 
45
- def self.run(args, opts)
46
- find_deploy! opts
47
- api.put "/flow/#{@deploy}/run"
48
-
49
- spinner "Running Deploy..." do
50
- loop do
51
- sleep 3
52
- info = api.get "/flow/#{@deploy}"
53
- break if info['status'] == 'running'
54
- end
55
- end
56
- puts "\n"
57
- end
58
-
59
45
  def self.scale_up(opts)
60
46
  find_deploy! opts
61
47
 
@@ -90,20 +76,17 @@ class Appfront::Command::Ps < Appfront::Command::Base
90
76
  exit 1
91
77
  end
92
78
 
93
- params[:scaling] = mode if mode
94
- params[:instances] = count
95
-
96
- api.put "/flows/#{@deploy}/scaling", params
79
+ api.put "/flow/#{@deploy}/scale", instances: count
97
80
 
98
81
  spinner "Scaling deploy instances..." do
99
82
  loop do
100
83
  sleep 3
101
84
  info = api.get "/flow/#{@deploy}"
102
- break if info['status'] == 'running'
85
+ break if info['status'] == 'running' or info['status'] == 'new' or info['status'] == 'pending_recovery'
103
86
  end
104
87
  end
105
88
 
106
- puts "Now running N instances"
89
+ puts "Now deploying #{count} instances"
107
90
  end
108
91
 
109
92
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appfront
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appfront
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-10 00:00:00.000000000 Z
11
+ date: 2015-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: netrc
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.6.1
41
- - !ruby/object:Gem::Dependency
42
- name: launchy
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: 2.4.2
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: 2.4.2
55
41
  description: Appfront Command Line Tool
56
42
  email: hello@appfront.io
57
43
  executables: