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 +4 -4
- data/docs/config.md +27 -0
- data/docs/env.md +11 -11
- data/lib/ebfly/command/config.rb +47 -17
- data/lib/ebfly/ebfly.rb +14 -14
- data/lib/ebfly/version.rb +1 -1
- data/test/open_all.sh +7 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 308c5befeb7c40b19422b594d57c44282fb076ac
|
4
|
+
data.tar.gz: 8cb39140cfe9cc2a1cb79e3db6066a680ebddada
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
57
|
-
| nodejs | 64bit Amazon Linux 2014.09 v1.0
|
58
|
-
| php54 | 64bit Amazon Linux 2014.09 v1.0
|
59
|
-
| php55 | 64bit Amazon Linux 2014.09 v1.0
|
60
|
-
| python26 | 64bit Amazon Linux 2014.09 v1.0
|
61
|
-
| python27 | 64bit Amazon Linux 2014.09 v1.0
|
62
|
-
| ruby19 | 64bit Amazon Linux 2014.09 v1.0
|
63
|
-
| ruby20 | 64bit Amazon Linux 2014.09 v1.0
|
64
|
-
| ruby20-puma | 64bit Amazon Linux 2014.09 v1.0
|
65
|
-
| ruby21 | 64bit Amazon Linux 2014.09 v1.0
|
66
|
-
| ruby21-puma | 64bit Amazon Linux 2014.09 v1.0
|
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
|
|
data/lib/ebfly/command/config.rb
CHANGED
@@ -9,14 +9,8 @@ module Ebfly
|
|
9
9
|
app = options[:a]
|
10
10
|
env = options[:e]
|
11
11
|
|
12
|
-
|
13
|
-
|
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,
|
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
|
-
|
47
|
-
k, v =
|
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
|
84
|
-
|
102
|
+
def get_env_conf(app, env)
|
103
|
+
opts = {
|
104
|
+
application_name: app,
|
105
|
+
environment_name: env_name(app, env)
|
106
|
+
}
|
85
107
|
|
86
|
-
|
87
|
-
|
88
|
-
|
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
|
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
|
-
"
|
10
|
-
"
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
"
|
15
|
-
"
|
16
|
-
"
|
17
|
-
"
|
18
|
-
"
|
19
|
-
"
|
20
|
-
"
|
21
|
-
"
|
22
|
-
"
|
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
data/test/open_all.sh
ADDED
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.
|
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-
|
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
|