ebfly 0.1.6 → 0.1.7

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: 95f5123c5d5dd18e78ce2e4a7490b02510d3dc1d
4
- data.tar.gz: 27eca498f882ddd798e63555360ad61e605c355a
3
+ metadata.gz: 308c5befeb7c40b19422b594d57c44282fb076ac
4
+ data.tar.gz: 8cb39140cfe9cc2a1cb79e3db6066a680ebddada
5
5
  SHA512:
6
- metadata.gz: 0e78c2311139f6618a064de01343452a246e64535fcb66d8c465c5b890886486a95e7e29b2dfea93e7e32c9880faf8e7ff5383b6db3f50a2313848519f4008d2
7
- data.tar.gz: ca87ff19b92097c854826e558ffbc281079e55ffde40ac932e28a3a2c73964ed1d564a0ede2090aa47e978ee54f3d2624fe2b2e313ff9303b9251f121e9511fb
6
+ metadata.gz: 771818d3a267d3647d27a3b245a20834ef2f0c30324de85e180e5ad10e0f38e5f865f08c795c75c05ded0c156a6e5976ec44ff3941cc5c298340d7198872eff6
7
+ data.tar.gz: 4c98806678210cd3a3b922356bec0218ee49f578279d883592a066ef991bea3998cb23028853fc115ef90e78f01d479602304ddd61ae1526280ddf7aea49b935
data/docs/config.md CHANGED
@@ -6,6 +6,7 @@ config vars means `aws:elasticbeanstalk:application:environment` namespace value
6
6
  ## Subcommands
7
7
 
8
8
  - [add](#add)
9
+ - [copy](#copy)
9
10
  - [rm](#rm)
10
11
  - [show](#show)
11
12
 
@@ -40,6 +41,32 @@ ebfly config add -a app -e env -c RACK_ENV=production
40
41
  ebfly config add -a app -e env -c ENV1=val1 ENV2=val2
41
42
  ```
42
43
 
44
+ <a name="copy"></a>
45
+ ### copy
46
+
47
+ Copy all config vars to the specified environment from another environment.
48
+ If destination environment has same name config vars, it is orverwritten.
49
+
50
+ ```
51
+ ebfly config copy -a [app] -e [env] -s [source-env]
52
+ ```
53
+
54
+ #### Options
55
+
56
+ | Name | Description | Required |
57
+ | ---- | ------------------------------------------------------------------------------------------ | -------- |
58
+ | -a | The name of the application to copy config vars. | Yes |
59
+ | -e | The name of the destination environment to copy config vars. | Yes |
60
+ | -s | The name of the source environment config vars. | Yes |
61
+
62
+ #### Examples
63
+
64
+ - Copy config from `source-env` to `dest-env`.
65
+
66
+ ```
67
+ ebfly config copy -a app -e dest-env -s source-env
68
+ ```
69
+
43
70
  <a name="rm"></a>
44
71
  ### rm
45
72
 
data/docs/env.md CHANGED
@@ -53,17 +53,17 @@ ebfly env create envname -a app -s python27 -t worker -o -o sqsd-MimeType="text/
53
53
  | docker0.9 (deprecated) | 64bit Amazon Linux 2014.03 v1.0.5 running Docker 0.9.0 |
54
54
  | docker09 (deprecated) | 64bit Amazon Linux 2014.03 v1.0.5 running Docker 0.9.0 |
55
55
  | docker10 (deprecated) | 64bit Amazon Linux 2014.03 v1.0.9 running Docker 1.0.0 |
56
- | docker13 | 64bit Amazon Linux 2014.09 v1.0.11 running Docker 1.3.3 |
57
- | nodejs | 64bit Amazon Linux 2014.09 v1.0.9 running Node.js |
58
- | php54 | 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.4 |
59
- | php55 | 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 |
60
- | python26 | 64bit Amazon Linux 2014.09 v1.0.9 running Python |
61
- | python27 | 64bit Amazon Linux 2014.09 v1.0.9 running Python 2.7 |
62
- | ruby19 | 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 1.9.3 |
63
- | ruby20 | 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0 (Passenger Standalone) |
64
- | ruby20-puma | 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0 (Puma) |
65
- | ruby21 | 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1 (Passenger Standalone) |
66
- | ruby21-puma | 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1 (Puma) |
56
+ | docker13 | 64bit Amazon Linux 2014.09 v1.2.0 running Docker 1.3.3 |
57
+ | nodejs | 64bit Amazon Linux 2014.09 v1.2.0 running Node.js |
58
+ | php54 | 64bit Amazon Linux 2014.09 v1.2.0 running PHP 5.4 |
59
+ | php55 | 64bit Amazon Linux 2014.09 v1.2.0 running PHP 5.5 |
60
+ | python26 | 64bit Amazon Linux 2014.09 v1.2.0 running Python |
61
+ | python27 | 64bit Amazon Linux 2014.09 v1.2.0 running Python 2.7 |
62
+ | ruby19 | 64bit Amazon Linux 2014.09 v1.2.0 running Ruby 1.9.3 |
63
+ | ruby20 | 64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.0 (Passenger Standalone) |
64
+ | ruby20-puma | 64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.0 (Puma) |
65
+ | ruby21 | 64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.1 (Passenger Standalone) |
66
+ | ruby21-puma | 64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.1 (Puma) |
67
67
 
68
68
  You can specify full defined name, see in http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html
69
69
 
@@ -9,14 +9,8 @@ module Ebfly
9
9
  app = options[:a]
10
10
  env = options[:e]
11
11
 
12
- opts = {
13
- application_name: app,
14
- environment_name: env_name(app, env)
15
- }
16
-
17
- ret = run { eb.describe_configuration_settings(opts) }
18
- debug(ret)
19
- show_env_conf(app, env, ret)
12
+ configs = get_env_conf(app, env)
13
+ show_env_conf(app, env, configs)
20
14
  end
21
15
 
22
16
  desc "add", "Add config vars to the specified environment"
@@ -37,14 +31,38 @@ module Ebfly
37
31
  debug(ret)
38
32
  end
39
33
 
34
+ desc "copy", "Copy all config vars to the specified environment from another environment"
35
+ option :a, :required => true, :banner => "<app>", :desc => "Application name"
36
+ option :e, :required => true, :banner => "<dest-env>", :desc => "Destination environment name"
37
+ option :s, :required => true, :banner => "<src-env>", :desc => "Source environment name"
38
+ def copy
39
+ app = options[:a]
40
+ env = options[:e]
41
+ src = options[:s]
42
+
43
+ puts ""
44
+ puts "=== Before ==="
45
+ config_vars = get_env_conf(app, env)
46
+ show_env_conf(app, env, config_vars)
47
+
48
+ src_config_vars = get_env_conf(app, src)
49
+ add_environment_config(app, env, src_config_vars)
50
+
51
+ puts ""
52
+ puts "=== After ==="
53
+ config_vars = get_env_conf(app, env)
54
+ show_env_conf(app, env, config_vars)
55
+ end
56
+
40
57
  private
41
58
 
42
- def add_environment_config(app, env, configs)
59
+ def add_environment_config(app, env, config_vars)
60
+ puts ""
43
61
  puts "Add config vars: #{env_name(app, env)}"
44
62
 
45
63
  settings = []
46
- configs.each do |config|
47
- k, v = config.split("=")
64
+ config_vars.each do |config_var|
65
+ k, v = config_var.split("=")
48
66
  next if v.nil?
49
67
  conf = {
50
68
  namespace: "aws:elasticbeanstalk:application:environment",
@@ -62,6 +80,7 @@ module Ebfly
62
80
  end
63
81
 
64
82
  def remove_environment_config(app, env, keys)
83
+ puts ""
65
84
  puts "Remove config vars: #{env_name(app, env)}"
66
85
 
67
86
  settings = []
@@ -80,12 +99,17 @@ module Ebfly
80
99
  run { eb.update_environment(opts) }
81
100
  end
82
101
 
83
- def show_env_conf(app, env, res)
84
- config_vars = []
102
+ def get_env_conf(app, env)
103
+ opts = {
104
+ application_name: app,
105
+ environment_name: env_name(app, env)
106
+ }
85
107
 
86
- puts ""
87
- puts "=== #{env_name(app, env)} Config Vars ==="
88
- settings = res[:configuration_settings]
108
+ ret = run { eb.describe_configuration_settings(opts) }
109
+ debug(ret)
110
+
111
+ config_vars = []
112
+ settings = ret[:configuration_settings]
89
113
  settings.each do |setting|
90
114
  opts = setting[:option_settings]
91
115
  opts.each do |opt|
@@ -94,7 +118,13 @@ module Ebfly
94
118
  end
95
119
  end
96
120
 
97
- config_vars.sort.each do |config_var|
121
+ config_vars.sort!
122
+ end
123
+
124
+ def show_env_conf(app, env, config_vars)
125
+ puts ""
126
+ puts "=== #{env_name(app, env)} Config Vars ==="
127
+ config_vars.each do |config_var|
98
128
  puts config_var
99
129
  end
100
130
  end
data/lib/ebfly/ebfly.rb CHANGED
@@ -6,20 +6,20 @@ require "open3"
6
6
  module Ebfly
7
7
  module Command
8
8
  PREDEFINED_SOLUTION_STACKS = {
9
- "php54" => "64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.4",
10
- "php55" => "64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5",
11
- "nodejs" => "64bit Amazon Linux 2014.09 v1.0.9 running Node.js",
12
- "python26" => "64bit Amazon Linux 2014.09 v1.0.9 running Python",
13
- "python27" => "64bit Amazon Linux 2014.09 v1.0.9 running Python 2.7",
14
- "ruby19" => "64bit Amazon Linux 2014.09 v1.0.9 running Ruby 1.9.3",
15
- "ruby20" => "64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0 (Passenger Standalone)",
16
- "ruby20-puma" => "64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0 (Puma)",
17
- "ruby21" => "64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1 (Passenger Standalone)",
18
- "ruby21-puma" => "64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1 (Puma)",
19
- "docker0.9" => "64bit Amazon Linux 2014.03 v1.0.5 running Docker 0.9.0",
20
- "docker09" => "64bit Amazon Linux 2014.03 v1.0.5 running Docker 0.9.0",
21
- "docker10" => "64bit Amazon Linux 2014.03 v1.0.9 running Docker 1.0.0",
22
- "docker13" => "64bit Amazon Linux 2014.09 v1.0.11 running Docker 1.3.3",
9
+ "docker0.9" => "64bit Amazon Linux 2014.03 v1.0.5 running Docker 0.9.0",
10
+ "docker09" => "64bit Amazon Linux 2014.03 v1.0.5 running Docker 0.9.0",
11
+ "docker10" => "64bit Amazon Linux 2014.03 v1.0.9 running Docker 1.0.0",
12
+ "docker13" => "64bit Amazon Linux 2014.09 v1.2.0 running Docker 1.3.3",
13
+ "nodejs" => "64bit Amazon Linux 2014.09 v1.2.0 running Node.js",
14
+ "php54" => "64bit Amazon Linux 2014.09 v1.2.0 running PHP 5.4",
15
+ "php55" => "64bit Amazon Linux 2014.09 v1.2.0 running PHP 5.5",
16
+ "python26" => "64bit Amazon Linux 2014.09 v1.2.0 running Python",
17
+ "python27" => "64bit Amazon Linux 2014.09 v1.2.0 running Python 2.7",
18
+ "ruby19" => "64bit Amazon Linux 2014.09 v1.2.0 running Ruby 1.9.3",
19
+ "ruby20" => "64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.0 (Passenger Standalone)",
20
+ "ruby20-puma" => "64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.0 (Puma)",
21
+ "ruby21" => "64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.1 (Passenger Standalone)",
22
+ "ruby21-puma" => "64bit Amazon Linux 2014.09 v1.2.0 running Ruby 2.1 (Puma)",
23
23
  }
24
24
 
25
25
  SUPPORTED_SOLUTION_STACKS = ['Docker', 'Node.js', 'PHP', 'Python', 'Ruby']
data/lib/ebfly/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ebfly
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
data/test/open_all.sh ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ for ss in docker09 docker10 docker13 nodejs php54 php55 python26 python27 ruby19 ruby20 ruby20-puma ruby21 ruby21-puma
4
+ do
5
+ echo "Open $ss"
6
+ bundle exec ./bin/ebfly env open $ss -a ebfly-test
7
+ done
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebfly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuyuki Honda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-12 00:00:00.000000000 Z
11
+ date: 2015-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-v1
@@ -66,6 +66,7 @@ files:
66
66
  - lib/ebfly/version.rb
67
67
  - test/create_all.sh
68
68
  - test/delete_all.sh
69
+ - test/open_all.sh
69
70
  homepage: https://github.com/hakobera/ebfly
70
71
  licenses:
71
72
  - Apache License, Version 2.0
@@ -93,3 +94,4 @@ summary: Simple command line interface for AWS ElasticBeanstalk
93
94
  test_files:
94
95
  - test/create_all.sh
95
96
  - test/delete_all.sh
97
+ - test/open_all.sh