cap-ec2 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Code Climate](https://codeclimate.com/github/forward3d/cap-ec2.png)](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