cap-ec2 0.0.7 → 0.0.8
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 +7 -0
- data/CHANGELOG.md +6 -1
- data/README.md +62 -26
- data/cap-ec2.gemspec +3 -3
- data/lib/cap-ec2/capistrano.rb +5 -6
- data/lib/cap-ec2/ec2-handler.rb +26 -28
- data/lib/cap-ec2/status-table.rb +2 -3
- data/lib/cap-ec2/tasks/ec2.rake +18 -1
- data/lib/cap-ec2/utils.rb +33 -3
- data/lib/cap-ec2/version.rb +1 -1
- metadata +23 -41
- data/lib/cap-ec2/instance.rb +0 -11
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 092240e7eaab751a6904e3aca76edf76f9d2465d
|
4
|
+
data.tar.gz: 1749028233473e4273d3e9179c748ddb9531ea78
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f82a05e873cea98c83b7512d306e39e6db38fe627747c53ade46b2c2ada8c60972f71f4460837b4cf1788ad7f275ee90d19a3faa9fb265bdde02edef017f0df3
|
7
|
+
data.tar.gz: 4e40c794ca64fe95890df5f0d83795f2c2bb63dcc530fa62a00f74e30f53563b2ad40dc394888d013cf7d8ded7f68f1aedd51b226d4dec1d4d6d8c6263f97429
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Cap-EC2 changelog
|
2
2
|
|
3
|
+
## 0.0.8
|
4
|
+
|
5
|
+
* Made `config/ec2.yml` optional, set all options by Capistrano variable. [@rjocoleman](https://github.com/rjocoleman)
|
6
|
+
* Remove requirement for default region to be set. [@rjocoleman](https://github.com/rjocoleman)
|
7
|
+
|
3
8
|
## 0.0.7
|
4
9
|
|
5
10
|
* Removed monkey patching of `Capistrano::TaskEnhancements` [@rjocoleman](https://github.com/rjocoleman)
|
@@ -29,4 +34,4 @@
|
|
29
34
|
|
30
35
|
## 0.0.1
|
31
36
|
|
32
|
-
* Initial release
|
37
|
+
* Initial release
|
data/README.md
CHANGED
@@ -2,23 +2,22 @@
|
|
2
2
|
|
3
3
|
[](https://codeclimate.com/github/forward3d/cap-ec2)
|
4
4
|
|
5
|
-
Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags,
|
5
|
+
Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags,
|
6
6
|
dynamically building the list of servers to be deployed to.
|
7
7
|
|
8
8
|
## Notes
|
9
9
|
|
10
|
-
Cap-EC2 is only compatible with Capistrano 3.x or later; if you want the Capistrano 2.x version,
|
10
|
+
Cap-EC2 is only compatible with Capistrano 3.x or later; if you want the Capistrano 2.x version,
|
11
11
|
use [Capify-EC2](https://github.com/forward/capify-ec2). Note that the configuration file (`config/ec2.yml`)
|
12
12
|
is not compatible between versions either.
|
13
13
|
|
14
14
|
This documentation assumes familiarity with Capistrano 3.x.
|
15
15
|
|
16
|
-
A number of features that are in Capify-EC2 are not yet available in Cap-EC2, due to the
|
16
|
+
A number of features that are in Capify-EC2 are not yet available in Cap-EC2, due to the
|
17
17
|
architectural changes in Capistrano 3.x. The following features are missing (this is not
|
18
18
|
an exhaustive list!):
|
19
19
|
* rolling deploy (this should be implemented via [SSHKit](https://github.com/capistrano/sshkit))
|
20
20
|
* ELB registration/de-registration (not widely used)
|
21
|
-
* using IAM roles to provide credentials
|
22
21
|
* Variables set by EC2 tags
|
23
22
|
* Connecting to instances via SSH using a convenience task
|
24
23
|
|
@@ -31,34 +30,49 @@ features you would like.
|
|
31
30
|
|
32
31
|
or add the gem to your project's Gemfile.
|
33
32
|
|
34
|
-
You
|
33
|
+
You also need to add the gem to your Capfile:
|
35
34
|
|
36
35
|
```ruby
|
37
|
-
|
38
|
-
secret_access_key: "YOUR SECRET KEY"
|
39
|
-
regions:
|
40
|
-
- 'eu-west-1'
|
36
|
+
require "cap-ec2/capistrano"
|
41
37
|
```
|
42
38
|
|
43
|
-
|
39
|
+
|
40
|
+
## Configuration
|
41
|
+
|
42
|
+
Configurable options, shown here with defaults:
|
44
43
|
|
45
44
|
```ruby
|
46
|
-
|
45
|
+
set :ec2_config, 'config/ec2.yml'
|
46
|
+
|
47
|
+
set :ec2_project_tag, 'Project'
|
48
|
+
set :ec2_roles_tag, 'Roles'
|
49
|
+
set :ec2_stages_tag, 'Stages'
|
50
|
+
|
51
|
+
set :ec2_access_key_id, nil
|
52
|
+
set :ec2_secret_access_key, nil
|
53
|
+
set :ec2_region, %w{}
|
47
54
|
```
|
48
55
|
|
49
|
-
|
56
|
+
#### Order of inheritance
|
57
|
+
`cap-ec2` supports multiple methods of configuration. The order of inheritance is:
|
58
|
+
YAML File > User Capistrano Config > Default Capistrano Config > ENV variables.
|
59
|
+
|
60
|
+
#### Regions
|
61
|
+
`:ec2_region` is an array of [AWS regions](http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region), if not present all regions will be checked for matching instances - this the default behavior and can be slow, if speed is an issue consider setting your required regions.
|
50
62
|
|
51
|
-
|
52
|
-
|
63
|
+
If`:ec2_access_key_id` or `:ec2_secret_access_key` are not set in any configuration the environment variables
|
64
|
+
`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_REGION` will be checked.
|
65
|
+
If running on EC2 the IAM instance profile credentials will be used if credentials are not set by any other method.
|
53
66
|
|
54
|
-
|
67
|
+
|
68
|
+
#### Misc settings
|
55
69
|
|
56
70
|
* project_tag
|
57
|
-
|
71
|
+
|
58
72
|
If this is defined, Cap-EC2 will look for a tag with this name when searching for instances belong
|
59
73
|
to this project. Cap-EC2 will look for a value which matches the `:application` setting in your
|
60
74
|
`deploy.rb`. The tag name defaults to "Project".
|
61
|
-
|
75
|
+
|
62
76
|
* stages_tag
|
63
77
|
|
64
78
|
If this is defined, Cap-EC2 will look for a tag with this name to determine which instances belong to
|
@@ -67,7 +81,29 @@ The following are optional settings you can use.
|
|
67
81
|
* roles_tag
|
68
82
|
|
69
83
|
If this is defined, Cap-EC2 will look for a tag with this name to determine which instances belong to
|
70
|
-
a given role. The tag name defaults to "Roles".
|
84
|
+
a given role. The tag name defaults to "Roles".
|
85
|
+
|
86
|
+
|
87
|
+
### YAML Configuration
|
88
|
+
|
89
|
+
|
90
|
+
If you'd prefer do your configuration via a YAML file `config/ec2.yml` can be used, (or an alternative name/location set via `set :ec2_config`):
|
91
|
+
|
92
|
+
If so YAML file will look like this:
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
access_key_id: "YOUR ACCESS KEY"
|
96
|
+
secret_access_key: "YOUR SECRET KEY"
|
97
|
+
regions:
|
98
|
+
- 'eu-west-1'
|
99
|
+
project_tag: "Project"
|
100
|
+
roles_tag: "Roles"
|
101
|
+
stages_tag: "Stages"
|
102
|
+
```
|
103
|
+
|
104
|
+
|
105
|
+
Your `config/ec2.yml` file can contain (`access_key_id`, `secret_access_key`, `regions`) - if a value is omitted then the order of inheritance is followed.
|
106
|
+
|
71
107
|
|
72
108
|
## Usage
|
73
109
|
|
@@ -160,7 +196,7 @@ trivial to add.
|
|
160
196
|
### Tasks and deployment
|
161
197
|
|
162
198
|
You can now define your tasks for these roles in exactly the same way as you would if you weren't
|
163
|
-
using this gem.
|
199
|
+
using this gem.
|
164
200
|
|
165
201
|
## Utility tasks
|
166
202
|
|
@@ -176,7 +212,7 @@ This command will show you information all the instances your configuration matc
|
|
176
212
|
Example:
|
177
213
|
|
178
214
|
$ cap production ec2:status
|
179
|
-
|
215
|
+
|
180
216
|
Num Name ID Type DNS Zone Roles Stage
|
181
217
|
00: server-1-20131030-1144-0 i-abcdefgh m1.small 192.168.202.248 us-west-2c banana,apple production
|
182
218
|
01: server-2-20131118-1839-0 i-hgfedcba m1.small 192.168.200.60 us-west-2a banana production
|
@@ -191,23 +227,23 @@ Example:
|
|
191
227
|
|
192
228
|
$ cap production ec2:server_names
|
193
229
|
server-1-20131030-1144-0
|
194
|
-
server-2-20131118-1839-0
|
230
|
+
server-2-20131118-1839-0
|
195
231
|
|
196
232
|
### View server instance IDs
|
197
|
-
|
233
|
+
|
198
234
|
This command will show the instance IDs of the instances matching the given stage:
|
199
|
-
|
235
|
+
|
200
236
|
cap [stage] ec2:instance_ids
|
201
|
-
|
237
|
+
|
202
238
|
Example:
|
203
|
-
|
239
|
+
|
204
240
|
$ cap production ec2:instance_ids
|
205
241
|
i-abcdefgh
|
206
242
|
i-hgfedcba
|
207
243
|
|
208
244
|
## Acknowledgements
|
209
245
|
|
210
|
-
Thanks to [Rylon](https://github.com/Rylon) for maintaining Capify-EC2 and
|
246
|
+
Thanks to [Rylon](https://github.com/Rylon) for maintaining Capify-EC2 and
|
211
247
|
reviewing my thought processes for this project.
|
212
248
|
|
213
249
|
## Contributing
|
data/cap-ec2.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'cap-ec2/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "cap-ec2"
|
8
8
|
spec.version = CapEC2::VERSION
|
9
|
-
spec.authors = ["Andy Sykes"]
|
10
|
-
spec.email = ["github@tinycat.co.uk"]
|
9
|
+
spec.authors = ["Andy Sykes", "Robert Coleman"]
|
10
|
+
spec.email = ["github@tinycat.co.uk", "github@robert.net.nz"]
|
11
11
|
spec.description = %q{Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags, dynamically building the list of servers to be deployed to.}
|
12
12
|
spec.summary = %q{Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags, dynamically building the list of servers to be deployed to.}
|
13
13
|
spec.homepage = "https://github.com/forward3d/cap-ec2"
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
22
|
spec.add_development_dependency "rake"
|
23
|
-
|
23
|
+
|
24
24
|
spec.add_dependency "aws-sdk"
|
25
25
|
spec.add_dependency "capistrano", ">= 3.0"
|
26
26
|
spec.add_dependency "terminal-table"
|
data/lib/cap-ec2/capistrano.rb
CHANGED
@@ -7,7 +7,6 @@ require 'yaml'
|
|
7
7
|
require_relative 'utils'
|
8
8
|
require_relative 'ec2-handler'
|
9
9
|
require_relative 'status-table'
|
10
|
-
require_relative 'instance'
|
11
10
|
|
12
11
|
# Load extra tasks
|
13
12
|
load File.expand_path("../tasks/ec2.rake", __FILE__)
|
@@ -17,19 +16,19 @@ module Capistrano
|
|
17
16
|
module Ec2
|
18
17
|
|
19
18
|
def ec2_handler
|
20
|
-
@ec2_handler ||= CapEC2::EC2Handler.new
|
19
|
+
@ec2_handler ||= CapEC2::EC2Handler.new
|
21
20
|
end
|
22
|
-
|
21
|
+
|
23
22
|
def ec2_role(name, options={})
|
24
23
|
ec2_handler.get_servers_for_role(name).each do |server|
|
25
|
-
env.role(name,
|
24
|
+
env.role(name, CapEC2::Utils.contact_point(server), options)
|
26
25
|
end
|
27
26
|
end
|
28
|
-
|
27
|
+
|
29
28
|
def env
|
30
29
|
Configuration.env
|
31
30
|
end
|
32
|
-
|
31
|
+
|
33
32
|
end
|
34
33
|
end
|
35
34
|
end
|
data/lib/cap-ec2/ec2-handler.rb
CHANGED
@@ -1,26 +1,30 @@
|
|
1
1
|
module CapEC2
|
2
2
|
class EC2Handler
|
3
3
|
include CapEC2::Utils
|
4
|
-
|
5
|
-
def initialize
|
6
|
-
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
load_config
|
7
|
+
configured_regions = get_regions(fetch(:ec2_region))
|
7
8
|
@ec2 = {}
|
8
|
-
|
9
|
-
@ec2[region] =
|
10
|
-
|
11
|
-
|
9
|
+
configured_regions.each do |region|
|
10
|
+
@ec2[region] = ec2_connect(region)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def ec2_connect(region=nil)
|
15
|
+
AWS::EC2.new(
|
16
|
+
access_key_id: fetch(:ec2_access_key_id),
|
17
|
+
secret_access_key: fetch(:ec2_secret_access_key),
|
12
18
|
region: region
|
13
19
|
)
|
14
|
-
end
|
15
20
|
end
|
16
|
-
|
21
|
+
|
17
22
|
def status_table
|
18
23
|
CapEC2::StatusTable.new(
|
19
|
-
defined_roles.map {|r| get_servers_for_role(r)}.flatten.uniq {|i| i.instance_id}
|
20
|
-
@ec2_config
|
24
|
+
defined_roles.map {|r| get_servers_for_role(r)}.flatten.uniq {|i| i.instance_id}
|
21
25
|
)
|
22
26
|
end
|
23
|
-
|
27
|
+
|
24
28
|
def server_names
|
25
29
|
puts defined_roles.map {|r| get_servers_for_role(r)}
|
26
30
|
.flatten
|
@@ -28,7 +32,7 @@ module CapEC2
|
|
28
32
|
.map {|i| i.tags["Name"]}
|
29
33
|
.join("\n")
|
30
34
|
end
|
31
|
-
|
35
|
+
|
32
36
|
def instance_ids
|
33
37
|
puts defined_roles.map {|r| get_servers_for_role(r)}
|
34
38
|
.flatten
|
@@ -36,41 +40,35 @@ module CapEC2
|
|
36
40
|
.map {|i| i.instance_id}
|
37
41
|
.join("\n")
|
38
42
|
end
|
39
|
-
|
43
|
+
|
40
44
|
def defined_roles
|
41
45
|
Capistrano::Configuration.env.send(:servers).send(:available_roles)
|
42
46
|
end
|
43
|
-
|
47
|
+
|
44
48
|
def stage
|
45
49
|
Capistrano::Configuration.env.fetch(:stage).to_s
|
46
50
|
end
|
47
|
-
|
51
|
+
|
48
52
|
def application
|
49
53
|
Capistrano::Configuration.env.fetch(:application).to_s
|
50
54
|
end
|
51
|
-
|
55
|
+
|
52
56
|
def tag(tag_name)
|
53
57
|
"tag:#{tag_name}"
|
54
58
|
end
|
55
|
-
|
59
|
+
|
56
60
|
def get_servers_for_role(role)
|
57
61
|
servers = []
|
58
|
-
|
62
|
+
@ec2.each do |_, ec2|
|
59
63
|
instances = ec2.instances
|
60
64
|
.filter(tag(project_tag), application)
|
61
65
|
.filter('instance-state-code', '16')
|
62
|
-
servers << instances.select do |i|
|
66
|
+
servers << instances.select do |i|
|
63
67
|
i.tags[roles_tag] =~ /,{0,1}#{role}(,|$)/ && i.tags[stages_tag] =~ /,{0,1}#{stage}(,|$)/
|
64
68
|
end
|
65
69
|
end
|
66
70
|
servers.flatten
|
67
71
|
end
|
68
|
-
|
69
|
-
def each_region
|
70
|
-
@ec2.keys.each do |region|
|
71
|
-
yield @ec2[region]
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
72
|
+
|
75
73
|
end
|
76
|
-
end
|
74
|
+
end
|
data/lib/cap-ec2/status-table.rb
CHANGED
@@ -2,9 +2,8 @@ module CapEC2
|
|
2
2
|
class StatusTable
|
3
3
|
include CapEC2::Utils
|
4
4
|
|
5
|
-
def initialize(instances
|
5
|
+
def initialize(instances)
|
6
6
|
@instances = instances
|
7
|
-
@ec2_config = ec2_config
|
8
7
|
output
|
9
8
|
end
|
10
9
|
|
@@ -42,7 +41,7 @@ module CapEC2
|
|
42
41
|
(instance.tags["Name"] || '').green,
|
43
42
|
instance.id.red,
|
44
43
|
instance.instance_type.cyan,
|
45
|
-
|
44
|
+
CapEC2::Utils.contact_point(instance).blue.bold,
|
46
45
|
instance.availability_zone.magenta,
|
47
46
|
instance.tags[roles_tag].yellow,
|
48
47
|
instance.tags[stages_tag].yellow
|
data/lib/cap-ec2/tasks/ec2.rake
CHANGED
@@ -15,4 +15,21 @@ namespace :ec2 do
|
|
15
15
|
ec2_handler.instance_ids
|
16
16
|
end
|
17
17
|
|
18
|
-
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
namespace :load do
|
22
|
+
task :defaults do
|
23
|
+
|
24
|
+
set :ec2_config, 'config/ec2.yml'
|
25
|
+
|
26
|
+
set :ec2_project_tag, 'Project'
|
27
|
+
set :ec2_roles_tag, 'Roles'
|
28
|
+
set :ec2_stages_tag, 'Stages'
|
29
|
+
|
30
|
+
set :ec2_access_key_id, nil
|
31
|
+
set :ec2_secret_access_key, nil
|
32
|
+
set :ec2_region, %w{}
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
data/lib/cap-ec2/utils.rb
CHANGED
@@ -1,15 +1,45 @@
|
|
1
1
|
module CapEC2
|
2
2
|
module Utils
|
3
3
|
def project_tag
|
4
|
-
|
4
|
+
fetch(:ec2_project_tag)
|
5
5
|
end
|
6
6
|
|
7
7
|
def roles_tag
|
8
|
-
|
8
|
+
fetch(:ec2_roles_tag)
|
9
9
|
end
|
10
10
|
|
11
11
|
def stages_tag
|
12
|
-
|
12
|
+
fetch(:ec2_stages_tag)
|
13
13
|
end
|
14
|
+
|
15
|
+
def self.contact_point(instance)
|
16
|
+
instance.public_dns_name || instance.public_ip_address || instance.private_ip_address
|
17
|
+
end
|
18
|
+
|
19
|
+
def load_config
|
20
|
+
config_location = File.expand_path(fetch(:ec2_config), Dir.pwd) if fetch(:ec2_config)
|
21
|
+
if config_location && File.exists?(config_location)
|
22
|
+
config = YAML.load_file fetch(:ec2_config)
|
23
|
+
if config
|
24
|
+
set :ec2_project_tag, config['project_tag'] if config['project_tag']
|
25
|
+
set :ec2_roles_tag, config['roles_tag'] if config['roles_tag']
|
26
|
+
set :ec2_stages_tag, config['stages_tag'] if config['stages_tag']
|
27
|
+
|
28
|
+
set :ec2_access_key_id, config['access_key_id'] if config['access_key_id']
|
29
|
+
set :ec2_secret_access_key, config['secret_access_key'] if config['secret_access_key']
|
30
|
+
set :ec2_region, config['regions'] if config['regions']
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def get_regions(regions_array=nil)
|
36
|
+
unless regions_array.empty?
|
37
|
+
return regions_array
|
38
|
+
else
|
39
|
+
@ec2 = ec2_connect
|
40
|
+
@ec2.regions.map(&:name)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
14
44
|
end
|
15
45
|
end
|
data/lib/cap-ec2/version.rb
CHANGED
metadata
CHANGED
@@ -1,121 +1,110 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cap-ec2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Andy Sykes
|
8
|
+
- Robert Coleman
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
17
|
requirements:
|
19
|
-
- - ~>
|
18
|
+
- - "~>"
|
20
19
|
- !ruby/object:Gem::Version
|
21
20
|
version: '1.3'
|
22
21
|
type: :development
|
23
22
|
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
|
-
- - ~>
|
25
|
+
- - "~>"
|
28
26
|
- !ruby/object:Gem::Version
|
29
27
|
version: '1.3'
|
30
28
|
- !ruby/object:Gem::Dependency
|
31
29
|
name: rake
|
32
30
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
31
|
requirements:
|
35
|
-
- -
|
32
|
+
- - ">="
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '0'
|
38
35
|
type: :development
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
|
-
- -
|
39
|
+
- - ">="
|
44
40
|
- !ruby/object:Gem::Version
|
45
41
|
version: '0'
|
46
42
|
- !ruby/object:Gem::Dependency
|
47
43
|
name: aws-sdk
|
48
44
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
45
|
requirements:
|
51
|
-
- -
|
46
|
+
- - ">="
|
52
47
|
- !ruby/object:Gem::Version
|
53
48
|
version: '0'
|
54
49
|
type: :runtime
|
55
50
|
prerelease: false
|
56
51
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
|
-
- -
|
53
|
+
- - ">="
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
63
57
|
name: capistrano
|
64
58
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
59
|
requirements:
|
67
|
-
- -
|
60
|
+
- - ">="
|
68
61
|
- !ruby/object:Gem::Version
|
69
62
|
version: '3.0'
|
70
63
|
type: :runtime
|
71
64
|
prerelease: false
|
72
65
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
66
|
requirements:
|
75
|
-
- -
|
67
|
+
- - ">="
|
76
68
|
- !ruby/object:Gem::Version
|
77
69
|
version: '3.0'
|
78
70
|
- !ruby/object:Gem::Dependency
|
79
71
|
name: terminal-table
|
80
72
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
73
|
requirements:
|
83
|
-
- -
|
74
|
+
- - ">="
|
84
75
|
- !ruby/object:Gem::Version
|
85
76
|
version: '0'
|
86
77
|
type: :runtime
|
87
78
|
prerelease: false
|
88
79
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
80
|
requirements:
|
91
|
-
- -
|
81
|
+
- - ">="
|
92
82
|
- !ruby/object:Gem::Version
|
93
83
|
version: '0'
|
94
84
|
- !ruby/object:Gem::Dependency
|
95
85
|
name: colored
|
96
86
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
87
|
requirements:
|
99
|
-
- -
|
88
|
+
- - ">="
|
100
89
|
- !ruby/object:Gem::Version
|
101
90
|
version: '0'
|
102
91
|
type: :runtime
|
103
92
|
prerelease: false
|
104
93
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
94
|
requirements:
|
107
|
-
- -
|
95
|
+
- - ">="
|
108
96
|
- !ruby/object:Gem::Version
|
109
97
|
version: '0'
|
110
98
|
description: Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon
|
111
99
|
EC2 instance tags, dynamically building the list of servers to be deployed to.
|
112
100
|
email:
|
113
101
|
- github@tinycat.co.uk
|
102
|
+
- github@robert.net.nz
|
114
103
|
executables: []
|
115
104
|
extensions: []
|
116
105
|
extra_rdoc_files: []
|
117
106
|
files:
|
118
|
-
- .gitignore
|
107
|
+
- ".gitignore"
|
119
108
|
- CHANGELOG.md
|
120
109
|
- Gemfile
|
121
110
|
- LICENSE.txt
|
@@ -124,7 +113,6 @@ files:
|
|
124
113
|
- cap-ec2.gemspec
|
125
114
|
- lib/cap-ec2/capistrano.rb
|
126
115
|
- lib/cap-ec2/ec2-handler.rb
|
127
|
-
- lib/cap-ec2/instance.rb
|
128
116
|
- lib/cap-ec2/status-table.rb
|
129
117
|
- lib/cap-ec2/tasks/ec2.rake
|
130
118
|
- lib/cap-ec2/utils.rb
|
@@ -132,33 +120,27 @@ files:
|
|
132
120
|
homepage: https://github.com/forward3d/cap-ec2
|
133
121
|
licenses:
|
134
122
|
- MIT
|
123
|
+
metadata: {}
|
135
124
|
post_install_message:
|
136
125
|
rdoc_options: []
|
137
126
|
require_paths:
|
138
127
|
- lib
|
139
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
129
|
requirements:
|
142
|
-
- -
|
130
|
+
- - ">="
|
143
131
|
- !ruby/object:Gem::Version
|
144
132
|
version: '0'
|
145
|
-
segments:
|
146
|
-
- 0
|
147
|
-
hash: 1426469508856454138
|
148
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
134
|
requirements:
|
151
|
-
- -
|
135
|
+
- - ">="
|
152
136
|
- !ruby/object:Gem::Version
|
153
137
|
version: '0'
|
154
|
-
segments:
|
155
|
-
- 0
|
156
|
-
hash: 1426469508856454138
|
157
138
|
requirements: []
|
158
139
|
rubyforge_project:
|
159
|
-
rubygems_version:
|
140
|
+
rubygems_version: 2.2.0
|
160
141
|
signing_key:
|
161
|
-
specification_version:
|
142
|
+
specification_version: 4
|
162
143
|
summary: Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2
|
163
144
|
instance tags, dynamically building the list of servers to be deployed to.
|
164
145
|
test_files: []
|
146
|
+
has_rdoc:
|
data/lib/cap-ec2/instance.rb
DELETED