appfront 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 80d7c187996c4421048193429a599c67415f620a
4
- data.tar.gz: 86499356958cd2a7d4e9b79a36464e755385790f
3
+ metadata.gz: a712eae44294a08a398a7ceecbfd86bce312d8de
4
+ data.tar.gz: 1f48f890d70c64b496e0770187ca1cc130515676
5
5
  SHA512:
6
- metadata.gz: ba96aa2918c0983c75aac699335f2e90bfe3e3232f7f1f8453fd6853942546041c34dffbae6dc6669915db5d1d73d4699d8b9acb895582d2363f6bd5d142e405
7
- data.tar.gz: 7b3dcc9d8b028fc52978705fc3eacfe3a9637cb5d0add40fa9729993b499fafcbebbfc18f1de3bf09e8b9eef4f6c86219c569c5f618c7c121e2d2d1e7e17c9bf
6
+ metadata.gz: 664fb006c5a03ee49cee182f7725f067a40d884436b7bff2fae71073798095615767a4816bd698bfc8a187a12310f6b72e2061660072288cede383c89e519329
7
+ data.tar.gz: cfc18346fa7a3b6493e17351a20591f176c1927e791505f806b77fee106bc46354caf5e0b6a239ef2668484e493ab5ca8d4a84950ca073c2689309b27a6ca2db
@@ -13,8 +13,8 @@ module Appfront
13
13
  opt_parser = OptionParser.new do |opts|
14
14
  opts.banner = "Usage: example.rb [options]"
15
15
 
16
- opts.on("-f", "--flow Flow", "Specify the flow involved") do |v|
17
- options[:flow] = v
16
+ opts.on("-d", "--deploy Deploy", "Specify the deploy involved") do |v|
17
+ options[:deploy] = v
18
18
  end
19
19
 
20
20
  opts.on("-p", "--provider Provider", "Specify the provider involved") do |v|
@@ -12,19 +12,19 @@ class Appfront::Command::Alias < Appfront::Command::Base
12
12
  end
13
13
 
14
14
  def self.version(*opts)
15
- puts 'Appfront CLI 1.0.2'
15
+ puts 'Appfront CLI 1.1.2'
16
16
  end
17
17
 
18
18
  def self.ls(*opts)
19
- Appfront::Command::Flows.list
19
+ Appfront::Command::Deploys.list
20
20
  end
21
21
 
22
22
  def self.create(args, opts)
23
- Appfront::Command::Flows.create args, opts
23
+ Appfront::Command::Deploys.create args, opts
24
24
  end
25
25
 
26
26
  def self.info(args, opts)
27
- Appfront::Command::Flows.info opts
27
+ Appfront::Command::Deploys.info opts
28
28
  end
29
29
 
30
30
  end
@@ -36,15 +36,15 @@ class Appfront::Command::Base
36
36
  $stdin.gets.to_s.strip
37
37
  end
38
38
 
39
- def self.find_flow!(opts)
40
- if opts[:flow]
41
- @flow = opts[:flow]
39
+ def self.find_deploy!(opts)
40
+ if opts[:deploy]
41
+ @deploy = opts[:deploy]
42
42
  end
43
43
 
44
- return true if @flow
44
+ return true if @deploy
45
45
 
46
- puts 'No flow specified.'
47
- puts 'Specify which flow to use with --flow FLOW.'
46
+ puts 'No deploy specified.'
47
+ puts 'Specify which deploy to use with --deploy DEPLOY.'
48
48
  exit 1
49
49
  end
50
50
 
@@ -0,0 +1,98 @@
1
+ class Appfront::Command::Deploys < Appfront::Command::Base
2
+
3
+ def self.yaml(opts)
4
+ find_deploy! opts
5
+ spinner "Retrieving YAML configuration from Jarvis..." do
6
+ @file = api.get "/flow/#{@deploy}/yaml"
7
+ end
8
+ puts "\nYAML file starts from here: \n\n"
9
+ puts @file
10
+ print "\n"
11
+ end
12
+
13
+ def self.add(args, opts)
14
+ spinner "Uploading Deploy YAML configuration to Jarvis..." do
15
+ api.post "/flow.yaml", file: args[0]
16
+ end
17
+ puts "\n"
18
+ end
19
+
20
+ def self.update(args, opts)
21
+ spinner "Updating Deploy YAML configuration to Jarvis..." do
22
+ api.put "/flow.yaml", file: args[0]
23
+ end
24
+ puts "\n"
25
+ end
26
+
27
+ def self.rm(args, opts)
28
+ find_deploy! opts
29
+ spinner "Removing Deploy..." do
30
+ api.delete "/flow/#{@deploy}"
31
+ end
32
+ puts "\n"
33
+ end
34
+
35
+ def self.info(opts)
36
+ find_deploy! opts
37
+
38
+ h = api.get "/flow/#{@deploy}"
39
+
40
+ puts "=== Deploy: #{h['name']}"
41
+ puts
42
+ puts "\t Deploy uuid: #{h['uuid']}"
43
+ puts "\t Status: #{h['status']} "
44
+ puts "\t Running deploys: #{h['deploys']}"
45
+
46
+ if h['domains']
47
+ puts
48
+ puts "=== Domains:"
49
+ h['domains'].each do |domain|
50
+ puts "\t #{domain['name']}"
51
+ end
52
+ end
53
+
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']}"
59
+
60
+ if h['boxes']
61
+ h['boxes'].each do |box|
62
+ puts "\t box address:\t#{box['box']}"
63
+ end
64
+ end
65
+
66
+ if h['routes'] and h['routes'] != ''
67
+ puts "\n"
68
+ puts "=== Internal Addressing:"
69
+
70
+
71
+ h['routes'].each do |r|
72
+ puts "\t Route: #{r['route'].split('-')[0]} -> #{r['route'].split('-')[1]}"
73
+ end
74
+ end
75
+
76
+ puts "\n"
77
+
78
+ end
79
+
80
+ def self.list
81
+ deploys = api.get "/flows"
82
+ unless deploys.count == 0
83
+ puts '=== Deploys List'
84
+ deploys.each do |deploy|
85
+ chars = 30 - deploy['name'].chars.count
86
+ output = "#{deploy['name']}"
87
+ for i in 0..chars
88
+ output = output + ' '
89
+ end
90
+ output = output + "---> status: #{deploy['status']}"
91
+ puts output
92
+ end
93
+ else
94
+ puts '=== You have no deploys.'
95
+ end
96
+ puts "\n"
97
+ end
98
+ end
@@ -0,0 +1,57 @@
1
+ class Appfront::Command::Domains < Appfront::Command::Base
2
+
3
+ def self.rm(args, opts)
4
+ exit 1 unless args[0]
5
+ find_deploy! opts
6
+ spinner "Removing domain..." do
7
+ api.delete "/domain/#{args[0]}/#{@deploy}"
8
+ end
9
+ puts "\n"
10
+ end
11
+
12
+ def self.add(args, opts)
13
+ exit 1 unless args[0]
14
+ puts args[0]
15
+ find_deploy! opts
16
+ spinner "Adding domain..." do
17
+ api.post "/domain/#{args[0]}/#{@deploy}"
18
+ end
19
+ puts "\n"
20
+ end
21
+
22
+ def self.info(opts)
23
+ find_domain! opts
24
+
25
+ h = api.get "/domain/#{@deploy}"
26
+
27
+ puts "=== Domain: #{h['name']}"
28
+ puts
29
+ puts "\t Deploy uuid: #{h['uuid']}"
30
+ puts "\t Status: #{h['status']} "
31
+ puts "\t Running deploys: #{h['deploys']}"
32
+ puts
33
+ puts "=== Cluster: #{h['cluster_name']} ---> #{h['cluster']}"
34
+
35
+ puts "\n"
36
+
37
+ end
38
+
39
+ def self.list
40
+ domains = api.get "/domains"
41
+ unless domains.count == 0
42
+ puts '=== Domains List'
43
+ domains.each do |domain|
44
+ chars = 30 - domain['name'].chars.count
45
+ output = "name: #{domain['name']}"
46
+ for i in 0..chars
47
+ output = output + ' '
48
+ end
49
+ output = output + "---> Deploy uuid: #{domain['flow_uuid']} name: #{domain['flow_name']}"
50
+ puts output
51
+ end
52
+ else
53
+ puts '=== You have no domains.'
54
+ end
55
+ puts "\n"
56
+ end
57
+ end
@@ -1,11 +1,11 @@
1
1
  class Appfront::Command::Help < Appfront::Command::Base
2
2
  def self.root_help
3
3
  puts <<-HELP
4
- Usage: appfront COMMAND [-f FLOW] [command-specific-options]
4
+ Usage: appfront COMMAND [-d DEPLOY] [command-specific-options]
5
5
 
6
6
  Primary help topics, type "appfront help TOPIC" for more details:
7
7
 
8
- flows # manage flows
8
+ deploys # manage deploys
9
9
  clusters # manage clusters
10
10
  providers # manager connection with Amazon or DigitalOcean
11
11
 
@@ -16,14 +16,14 @@ Additional topics:
16
16
  HELP
17
17
  end
18
18
 
19
- def self.flows
19
+ def self.deploys
20
20
  puts <<-HELP
21
- Flows commands:
21
+ Deploys commands:
22
22
 
23
- flows:create [NAME] # create a new flow
24
- flows:destroy # permanently destroy an flow
25
- flows:info # show detailed flow information
26
- flows:list # show flow list
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
27
27
  HELP
28
28
  end
29
29
 
@@ -1,11 +1,11 @@
1
1
  class Appfront::Command::Logs < Appfront::Command::Base
2
2
  def self.list(opts)
3
- find_flow! opts
3
+ find_deploy! opts
4
4
 
5
5
  max_id = nil
6
6
 
7
7
  begin
8
- res = api.get "/flow/#{@flow}/logs?max_id=#{max_id}"
8
+ res = api.get "/flow/#{@deploy}/logs?max_id=#{max_id}"
9
9
  max_id, events = res['max_id'], res['events']
10
10
  events.each {|e| puts e }
11
11
  sleep 2
@@ -1,27 +1,27 @@
1
1
  class Appfront::Command::Ps < Appfront::Command::Base
2
2
 
3
3
  def self.reload(args, opts)
4
- find_flow! opts
5
- api.put "/flow/#{@flow}/reload"
4
+ find_deploy! opts
5
+ api.put "/flow/#{@deploy}/reload"
6
6
 
7
- spinner "Reloading Flow..." do
7
+ spinner "Reloading Deploy..." do
8
8
  loop do
9
9
  sleep 3
10
- info = api.get "/flow/#{@flow}"
11
- break if info['status'] == 'running'
10
+ info = api.get "/flow/#{@deploy}"
11
+ break if info['status'] == 'running' or info['status'] == 'pending_reload'
12
12
  end
13
13
  end
14
14
  puts "\n"
15
15
  end
16
16
 
17
17
  def self.force_restart(args, opts)
18
- find_flow! opts
19
- api.put "/flow/#{@flow}/force-restart"
18
+ find_deploy! opts
19
+ api.put "/flow/#{@deploy}/force-restart"
20
20
 
21
- spinner "Force restarting Flow..." do
21
+ spinner "Force restarting Deploy..." do
22
22
  loop do
23
23
  sleep 3
24
- info = api.get "/flow/#{@flow}"
24
+ info = api.get "/flow/#{@deploy}"
25
25
  break if info['status'] == 'running'
26
26
  end
27
27
  end
@@ -29,13 +29,13 @@ class Appfront::Command::Ps < Appfront::Command::Base
29
29
  end
30
30
 
31
31
  def self.stop(args, opts)
32
- find_flow! opts
33
- api.put "/flow/#{@flow}/stop"
34
-
35
- spinner "Stopping Flow..." do
32
+ find_deploy! opts
33
+ api.put "/flow/#{@deploy}/stop"
34
+
35
+ spinner "Stopping Deploy..." do
36
36
  loop do
37
37
  sleep 3
38
- info = api.get "/flow/#{@flow}"
38
+ info = api.get "/flow/#{@deploy}"
39
39
  break if info['status'] == 'deactivated'
40
40
  end
41
41
  end
@@ -43,13 +43,13 @@ class Appfront::Command::Ps < Appfront::Command::Base
43
43
  end
44
44
 
45
45
  def self.run(args, opts)
46
- find_flow! opts
47
- api.put "/flow/#{@flow}/run"
48
-
49
- spinner "Running Flow..." do
46
+ find_deploy! opts
47
+ api.put "/flow/#{@deploy}/run"
48
+
49
+ spinner "Running Deploy..." do
50
50
  loop do
51
51
  sleep 3
52
- info = api.get "/flow/#{@flow}"
52
+ info = api.get "/flow/#{@deploy}"
53
53
  break if info['status'] == 'running'
54
54
  end
55
55
  end
@@ -57,26 +57,26 @@ class Appfront::Command::Ps < Appfront::Command::Base
57
57
  end
58
58
 
59
59
  def self.scale_up(opts)
60
- find_flow! opts
60
+ find_deploy! opts
61
61
 
62
- spinner "Scaling up flow instances..." do
63
- api.put "/flow/#{@flow}/scale/up"
62
+ spinner "Scaling up deploy instances..." do
63
+ api.put "/flow/#{@deploy}/scale/up"
64
64
  end
65
65
  puts "\n"
66
66
  end
67
67
 
68
68
  def self.scale_down(opts)
69
- find_flow! opts
69
+ find_deploy! opts
70
70
 
71
- spinner "Scaling down flow instances..." do
72
- api.put "/flow/#{@flow}/scale/down"
71
+ spinner "Scaling down deploy instances..." do
72
+ api.put "/flow/#{@deploy}/scale/down"
73
73
  end
74
-
74
+
75
75
  puts "\n"
76
76
  end
77
77
 
78
78
  def self.scale(settings, opts)
79
- find_flow! opts
79
+ find_deploy! opts
80
80
 
81
81
  count, mode = nil
82
82
  settings.each do |s|
@@ -93,12 +93,12 @@ class Appfront::Command::Ps < Appfront::Command::Base
93
93
  params[:scaling] = mode if mode
94
94
  params[:instances] = count
95
95
 
96
- api.put "/flows/#{@flow}/scaling", params
96
+ api.put "/flows/#{@deploy}/scaling", params
97
97
 
98
- spinner "Scaling flow instances..." do
98
+ spinner "Scaling deploy instances..." do
99
99
  loop do
100
100
  sleep 3
101
- info = api.get "/flow/#{@flow}"
101
+ info = api.get "/flow/#{@deploy}"
102
102
  break if info['status'] == 'running'
103
103
  end
104
104
  end
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.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appfront
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-24 00:00:00.000000000 Z
11
+ date: 2015-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: netrc
@@ -69,7 +69,8 @@ files:
69
69
  - lib/appfront/command/base.rb
70
70
  - lib/appfront/command/clusters.rb
71
71
  - lib/appfront/command/config.rb
72
- - lib/appfront/command/flows.rb
72
+ - lib/appfront/command/deploys.rb
73
+ - lib/appfront/command/domains.rb
73
74
  - lib/appfront/command/help.rb
74
75
  - lib/appfront/command/logs.rb
75
76
  - lib/appfront/command/providers.rb
@@ -1,84 +0,0 @@
1
- class Appfront::Command::Flows < Appfront::Command::Base
2
-
3
- def self.yaml(opts)
4
- find_flow! opts
5
- spinner "Retrieving YAML configuration from Jarvis..." do
6
- @file = api.get "/flow/#{@flow}/yaml"
7
- end
8
- puts "\nYAML file starts from here: \n\n"
9
- puts @file
10
- print "\n"
11
- end
12
-
13
- def self.up(args, opts)
14
- spinner "Uploading Flow YAML configuration to Jarvis..." do
15
- api.post "/flow.yaml", file: args[0]
16
- end
17
- puts "\n"
18
- end
19
-
20
- def self.update(args, opts)
21
- spinner "Updating Flow YAML configuration to Jarvis..." do
22
- api.put "/flow.yaml", file: args[0]
23
- end
24
- puts "\n"
25
- end
26
-
27
- def self.rm(args, opts)
28
- find_flow! opts
29
- spinner "Removing Flow..." do
30
- api.delete "/flow/#{@flow}"
31
- end
32
- puts "\n"
33
- end
34
-
35
- def self.info(opts)
36
- find_flow! opts
37
-
38
- h = api.get "/flow/#{@flow}"
39
-
40
- puts "=== Flow: #{h['name']}"
41
- puts
42
- puts "\t Flow uuid: #{h['uuid']}"
43
- puts "\t Status: #{h['status']} "
44
- puts "\t Running deploys: #{h['deploys']}"
45
- puts
46
- puts "=== Cluster: #{h['cluster_name']} ---> #{h['cluster']}"
47
-
48
- h['boxes'].each do |box|
49
- puts "\t Box address:\t#{box['box']}"
50
- end
51
-
52
- if h['routes'] and h['routes'] != ''
53
- puts "\n"
54
- puts "=== Internal Addressing:"
55
-
56
-
57
- h['routes'].each do |r|
58
- puts "\t Route: #{r['route'].split('-')[0]} -> #{r['route'].split('-')[1]}"
59
- end
60
- end
61
-
62
- puts "\n"
63
-
64
- end
65
-
66
- def self.list
67
- flows = api.get "/flows"
68
- unless flows.count == 0
69
- puts '=== Flows List'
70
- flows.each do |flow|
71
- chars = 30 - flow['name'].chars.count
72
- output = "#{flow['name']}"
73
- for i in 0..chars
74
- output = output + ' '
75
- end
76
- output = output + "---> status: #{flow['status']}"
77
- puts output
78
- end
79
- else
80
- puts '=== You have no flows.'
81
- end
82
- puts "\n"
83
- end
84
- end