capistrano-asg 0.6.1 → 0.7.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/.travis.yml +5 -2
- data/CHANGELOG.md +6 -0
- data/capistrano-asg.gemspec +2 -1
- data/lib/capistrano/asg.rb +3 -2
- data/lib/capistrano/asg/aws/autoscaling.rb +2 -1
- data/lib/capistrano/asg/aws/credentials.rb +3 -5
- data/lib/capistrano/asg/aws/ec2.rb +2 -1
- data/lib/capistrano/asg/aws/region.rb +16 -0
- data/lib/capistrano/asg/aws_resource.rb +1 -1
- data/lib/capistrano/asg/launch_configuration.rb +4 -2
- data/lib/capistrano/asg/version.rb +1 -1
- metadata +20 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5cf7466ccf300560f72599cca1617b23dc97a0fc9fb47f555d947e4aed9754f
|
4
|
+
data.tar.gz: f2dae7eaf2acbfacc9d5aef30e92b18c77584ad4f0958cee985992b6d0ff85dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 476cf23e974d98864f846cf4153b21a670b4c215f5d2edb2c866a564938bb5c6050ed32a4ceffd0667b51b0dbd230d9bc1186be1b20b0f0b667ced90fc305a29
|
7
|
+
data.tar.gz: ebe4e1fc3dc267076174e5d89d676694d2bfa212e7a6769c81c99f49bebeceaf5cc314df07f3110748d7ac6b2ccf5b37cbe40e3f437fef6d537779ea6315f2c2
|
data/.travis.yml
CHANGED
@@ -2,14 +2,17 @@ language: ruby
|
|
2
2
|
cache: bundler
|
3
3
|
rvm:
|
4
4
|
- 2.3.3
|
5
|
-
- 2.4.
|
5
|
+
- 2.4.3
|
6
|
+
- 2.5.1
|
6
7
|
sudo: false
|
7
8
|
env:
|
8
9
|
- AWS_REGION: us-west-2
|
10
|
+
- AWS_ACCESS_KEY_ID: AK123456789
|
11
|
+
- AWS_SECRET_ACCESS_KEY: abcdefg123456
|
9
12
|
deploy:
|
10
13
|
provider: rubygems
|
11
14
|
gem:
|
12
15
|
master: capistrano-asg
|
13
16
|
on:
|
14
|
-
repo:
|
17
|
+
repo: veracross/capistrano-asg
|
15
18
|
branch: master
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
+
# 0.7.0
|
2
|
+
|
3
|
+
* Update to AWS SDK v3. Thanks @jpatters and @milgner
|
4
|
+
* Set iam_instance_profile on newly created launch configurations
|
5
|
+
|
1
6
|
# 0.6.1
|
2
7
|
|
3
8
|
* Provide a way to bypass new AMI/LC generation by setting `set :create_ami, false`.
|
9
|
+
|
4
10
|
# 0.6.0
|
5
11
|
|
6
12
|
* Breaking change/bug fix: Region-specific settings were not being preserved. A
|
data/capistrano-asg.gemspec
CHANGED
@@ -26,7 +26,8 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency 'webmock'
|
27
27
|
spec.add_development_dependency 'byebug'
|
28
28
|
|
29
|
-
spec.add_dependency 'aws-sdk', '~>
|
29
|
+
spec.add_dependency 'aws-sdk-ec2', '~> 1'
|
30
|
+
spec.add_dependency 'aws-sdk-autoscaling', '~> 1'
|
30
31
|
spec.add_dependency 'capistrano', '> 3.0.0'
|
31
32
|
spec.add_dependency 'activesupport', '>= 4.0.0'
|
32
33
|
end
|
data/lib/capistrano/asg.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
require 'aws-sdk'
|
1
|
+
require 'aws-sdk-ec2'
|
2
|
+
require 'aws-sdk-autoscaling'
|
2
3
|
require 'capistrano/all'
|
3
4
|
require 'active_support/concern'
|
4
5
|
|
@@ -7,6 +8,7 @@ require 'capistrano/asg/retryable'
|
|
7
8
|
require 'capistrano/asg/taggable'
|
8
9
|
require 'capistrano/asg/logger'
|
9
10
|
require 'capistrano/asg/aws/credentials'
|
11
|
+
require 'capistrano/asg/aws/region'
|
10
12
|
require 'capistrano/asg/aws/autoscaling'
|
11
13
|
require 'capistrano/asg/aws/ec2'
|
12
14
|
require 'capistrano/asg/aws_resource'
|
@@ -18,7 +20,6 @@ module Capistrano
|
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
21
|
-
require 'aws-sdk'
|
22
23
|
require 'capistrano/dsl'
|
23
24
|
|
24
25
|
load File.expand_path('../asg/tasks/asg.rake', __FILE__)
|
@@ -7,10 +7,11 @@ module Capistrano
|
|
7
7
|
module AutoScaling
|
8
8
|
extend ActiveSupport::Concern
|
9
9
|
include Credentials
|
10
|
+
include Region
|
10
11
|
include Capistrano::DSL
|
11
12
|
|
12
13
|
def autoscaling_client
|
13
|
-
@_autoscaling_client ||= ::Aws::AutoScaling::Client.new(credentials)
|
14
|
+
@_autoscaling_client ||= ::Aws::AutoScaling::Client.new(region: region, credentials: credentials)
|
14
15
|
end
|
15
16
|
|
16
17
|
def autoscaling_resource
|
@@ -8,11 +8,9 @@ module Capistrano
|
|
8
8
|
include Capistrano::DSL
|
9
9
|
|
10
10
|
def credentials
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
region: fetch(:aws_region, ENV['AWS_REGION'])
|
15
|
-
}
|
11
|
+
access_key_id = fetch(:aws_access_key_id, ENV['AWS_ACCESS_KEY_ID'])
|
12
|
+
secret_access_key = fetch(:aws_secret_access_key, ENV['AWS_SECRET_ACCESS_KEY'])
|
13
|
+
::Aws::Credentials.new(access_key_id, secret_access_key)
|
16
14
|
end
|
17
15
|
end
|
18
16
|
end
|
@@ -7,6 +7,7 @@ module Capistrano
|
|
7
7
|
module EC2
|
8
8
|
extend ActiveSupport::Concern
|
9
9
|
include Credentials
|
10
|
+
include Region
|
10
11
|
include Capistrano::DSL
|
11
12
|
|
12
13
|
def ec2_resource
|
@@ -20,7 +21,7 @@ module Capistrano
|
|
20
21
|
private
|
21
22
|
|
22
23
|
def ec2_client
|
23
|
-
::Aws::EC2::Client.new(credentials)
|
24
|
+
::Aws::EC2::Client.new(region: region, credentials: credentials)
|
24
25
|
end
|
25
26
|
end
|
26
27
|
end
|
@@ -4,7 +4,7 @@ module Capistrano
|
|
4
4
|
class LaunchConfiguration < AWSResource
|
5
5
|
attr_reader :region_config
|
6
6
|
|
7
|
-
def self.create(ami, region_config, &_block)
|
7
|
+
def self.create(ami, region_config = {}, &_block)
|
8
8
|
lc = new(region_config)
|
9
9
|
lc.cleanup do
|
10
10
|
lc.save(ami)
|
@@ -19,6 +19,7 @@ module Capistrano
|
|
19
19
|
def save(ami)
|
20
20
|
info "Creating an EC2 Launch Configuration for AMI: #{ami.aws_counterpart.id}"
|
21
21
|
ec2_instance = ec2_resource.instance(base_ec2_instance.id)
|
22
|
+
|
22
23
|
with_retry do
|
23
24
|
@aws_counterpart = autoscaling_resource.create_launch_configuration(
|
24
25
|
launch_configuration_name: name,
|
@@ -29,7 +30,8 @@ module Capistrano
|
|
29
30
|
instance_monitoring: {
|
30
31
|
enabled: fetch(:aws_launch_configuration_detailed_instance_monitoring, true)
|
31
32
|
},
|
32
|
-
user_data: region_config.fetch(:aws_launch_configuration_user_data, nil)
|
33
|
+
user_data: region_config.fetch(:aws_launch_configuration_user_data, nil),
|
34
|
+
iam_instance_profile: ec2_instance.iam_instance_profile.arn
|
33
35
|
)
|
34
36
|
end
|
35
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-asg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Logan Serman
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-
|
13
|
+
date: 2018-06-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -83,19 +83,33 @@ dependencies:
|
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '0'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
|
-
name: aws-sdk
|
86
|
+
name: aws-sdk-ec2
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
91
|
+
version: '1'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
98
|
+
version: '1'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: aws-sdk-autoscaling
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '1'
|
106
|
+
type: :runtime
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '1'
|
99
113
|
- !ruby/object:Gem::Dependency
|
100
114
|
name: capistrano
|
101
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +164,7 @@ files:
|
|
150
164
|
- lib/capistrano/asg/aws/autoscaling.rb
|
151
165
|
- lib/capistrano/asg/aws/credentials.rb
|
152
166
|
- lib/capistrano/asg/aws/ec2.rb
|
167
|
+
- lib/capistrano/asg/aws/region.rb
|
153
168
|
- lib/capistrano/asg/aws_resource.rb
|
154
169
|
- lib/capistrano/asg/launch_configuration.rb
|
155
170
|
- lib/capistrano/asg/logger.rb
|