capistrano-aws 1.2.2 → 1.3.0
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/CHANGELOG.md +4 -0
- data/README.md +9 -10
- data/capistrano-aws.gemspec +3 -3
- data/lib/capistrano/aws/ec2/instances_table.rb +16 -16
- metadata +17 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbec575475bb720dc8ca561f8e26c9cb2c1280bdc6535ae5bed01a709e506ab5
|
4
|
+
data.tar.gz: 741650bc0b0945fbbbb4df0394babe26bcc3791c0784e28d547b6841f227c3ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83eeab8d5f62b97858d0200cd50affcf0aad3c688cbcad5f2da06574ca1424b09c077e4cca6b28fb25fb96cf5e2e42e848cbbc5e700c94ecc5d0ec2f330a3773
|
7
|
+
data.tar.gz: ecf4f0433304eca8f38b31cd6005001de6079a4654c69afc3800df076b747fd3b684fb0434d81c885174f7d117bb9a299769d145c5dd3485953979fe486f8278
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,15 +1,14 @@
|
|
1
|
-
Capistrano AWS
|
2
|
-
==============
|
1
|
+
# Capistrano AWS [](https://badge.fury.io/rb/capistrano-aws)
|
3
2
|
|
4
3
|
This gem is slightly based on [cap-ec2](https://github.com/forward3d/cap-ec2), which is not maintained for a while, becoming outdated.
|
5
4
|
|
6
5
|
The purpose of this gem is to provide a flexible and simple integration to AWS EC2, exposing the aws-sdk connection in order to allow any customization.
|
7
6
|
|
8
|
-
|
7
|
+
## Requirements
|
9
8
|
|
10
9
|
* Capistrano 3
|
11
10
|
|
12
|
-
|
11
|
+
## Installation
|
13
12
|
|
14
13
|
Add to your `Gemfile` and run `bundler`:
|
15
14
|
```ruby
|
@@ -26,7 +25,7 @@ In your `Capfile`:
|
|
26
25
|
require 'capistrano/aws'
|
27
26
|
```
|
28
27
|
|
29
|
-
|
28
|
+
## Configuration
|
30
29
|
|
31
30
|
```ruby
|
32
31
|
# AWS regions to use.
|
@@ -59,7 +58,7 @@ set :aws_ec2_contact_point, :public_ip
|
|
59
58
|
|
60
59
|
The AWS credentials are loaded from your system. Check https://github.com/aws/aws-sdk-ruby#configuration for more information.
|
61
60
|
|
62
|
-
|
61
|
+
## Usage
|
63
62
|
|
64
63
|
The instances must be registered in each stage. In your `config/deploy/<stage_name>.rb`, add the following line:
|
65
64
|
|
@@ -74,7 +73,7 @@ It will use the instance tags to call the `server` function in capistrano. You c
|
|
74
73
|
aws_ec2_register user: 'hello', port: 2222
|
75
74
|
```
|
76
75
|
|
77
|
-
|
76
|
+
### Custom EC2 Filters
|
78
77
|
|
79
78
|
If you need to identify the instances based on more information, you can specify extra filters to be used in the `filters` option in the [Aws::EC2::Resource.instances](https://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Resource.html#instances-instance_method) call.
|
80
79
|
|
@@ -114,9 +113,9 @@ set :aws_ec2_extra_filters, [
|
|
114
113
|
|
115
114
|
The `:aws_ec2_stage` variable is needed in order to override the default value of the stage fielter(`:stage`). If you really have a different environment for your `B` servers, you can just use the name of the environment as the file name and remove this line.
|
116
115
|
|
117
|
-
|
116
|
+
## Utility tasks
|
118
117
|
|
119
|
-
|
118
|
+
### aws:ec2:instances
|
120
119
|
|
121
120
|
List all the instances found for with the current configuration.
|
122
121
|
|
@@ -124,6 +123,6 @@ List all the instances found for with the current configuration.
|
|
124
123
|
cap production aws:ec2:instances
|
125
124
|
```
|
126
125
|
|
127
|
-
|
126
|
+
## Contributing
|
128
127
|
|
129
128
|
Open an issue or make a PR, feel free to contribute!
|
data/capistrano-aws.gemspec
CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = 'capistrano-aws'
|
8
|
-
gem.version = '1.
|
8
|
+
gem.version = '1.3.0'
|
9
9
|
gem.author = 'Fernando Carletti'
|
10
10
|
gem.email = 'contact@fernandocarletti.net'
|
11
11
|
gem.homepage = 'http://github.com/fernandocarletti/capistrano-aws'
|
@@ -23,8 +23,8 @@ Gem::Specification.new do |gem|
|
|
23
23
|
|
24
24
|
gem.add_dependency 'capistrano', '~> 3.1'
|
25
25
|
gem.add_dependency 'aws-sdk-ec2', '~> 1'
|
26
|
-
gem.add_dependency 'terminal-table', '
|
27
|
-
gem.add_dependency '
|
26
|
+
gem.add_dependency 'terminal-table', '>= 1.7', '< 4.0'
|
27
|
+
gem.add_dependency 'rainbow', '~> 3'
|
28
28
|
|
29
29
|
gem.add_development_dependency 'rubocop', '~> 0.53'
|
30
30
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'terminal-table'
|
2
|
-
require '
|
2
|
+
require 'rainbow'
|
3
3
|
|
4
4
|
module Capistrano
|
5
5
|
module Aws
|
@@ -34,27 +34,27 @@ module Capistrano
|
|
34
34
|
|
35
35
|
def header_row
|
36
36
|
[
|
37
|
-
'Num'.
|
38
|
-
'ID'.
|
39
|
-
'Name'.
|
40
|
-
'Type'.
|
41
|
-
'Contact Point'.
|
42
|
-
'Availability Zone'.
|
43
|
-
'Roles'.
|
44
|
-
'Stages'.
|
37
|
+
Rainbow('Num').bright,
|
38
|
+
Rainbow('ID').bright,
|
39
|
+
Rainbow('Name').bright,
|
40
|
+
Rainbow('Type').bright,
|
41
|
+
Rainbow('Contact Point').bright,
|
42
|
+
Rainbow('Availability Zone').bright,
|
43
|
+
Rainbow('Roles').bright,
|
44
|
+
Rainbow('Stages').bright
|
45
45
|
]
|
46
46
|
end
|
47
47
|
|
48
48
|
def instance_row(number, instance)
|
49
49
|
[
|
50
50
|
format('%02d:', number),
|
51
|
-
instance.id.
|
52
|
-
Capistrano::Aws::EC2.parse_tag(instance, fetch(:aws_ec2_name_tag)).
|
53
|
-
instance.instance_type.
|
54
|
-
Capistrano::Aws::EC2.contact_point(instance).
|
55
|
-
instance.placement.availability_zone.
|
56
|
-
Capistrano::Aws::EC2.parse_tag(instance, fetch(:aws_ec2_roles_tag)).
|
57
|
-
Capistrano::Aws::EC2.parse_tag(instance, fetch(:aws_ec2_stage_tag)).
|
51
|
+
Rainbow(instance.id).red,
|
52
|
+
Rainbow(Capistrano::Aws::EC2.parse_tag(instance, fetch(:aws_ec2_name_tag))).green,
|
53
|
+
Rainbow(instance.instance_type).cyan,
|
54
|
+
Rainbow(Capistrano::Aws::EC2.contact_point(instance)).blue,
|
55
|
+
Rainbow(instance.placement.availability_zone).magenta,
|
56
|
+
Rainbow(Capistrano::Aws::EC2.parse_tag(instance, fetch(:aws_ec2_roles_tag))).yellow,
|
57
|
+
Rainbow(Capistrano::Aws::EC2.parse_tag(instance, fetch(:aws_ec2_stage_tag))).yellow
|
58
58
|
]
|
59
59
|
end
|
60
60
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-aws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fernando Carletti
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -42,30 +42,36 @@ dependencies:
|
|
42
42
|
name: terminal-table
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.7'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '4.0'
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
|
-
- - "
|
55
|
+
- - ">="
|
53
56
|
- !ruby/object:Gem::Version
|
54
57
|
version: '1.7'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '4.0'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
62
|
+
name: rainbow
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
67
|
+
version: '3'
|
62
68
|
type: :runtime
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
74
|
+
version: '3'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
76
|
name: rubocop
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,7 +111,7 @@ homepage: http://github.com/fernandocarletti/capistrano-aws
|
|
105
111
|
licenses:
|
106
112
|
- MIT
|
107
113
|
metadata: {}
|
108
|
-
post_install_message:
|
114
|
+
post_install_message:
|
109
115
|
rdoc_options: []
|
110
116
|
require_paths:
|
111
117
|
- lib
|
@@ -120,8 +126,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
126
|
- !ruby/object:Gem::Version
|
121
127
|
version: '0'
|
122
128
|
requirements: []
|
123
|
-
rubygems_version: 3.
|
124
|
-
signing_key:
|
129
|
+
rubygems_version: 3.2.21
|
130
|
+
signing_key:
|
125
131
|
specification_version: 4
|
126
132
|
summary: Integrates capistrano with AWS.
|
127
133
|
test_files: []
|