ebfly 0.1.6 → 0.1.7
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 +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
|