capistrano-autoscale 1.0.7 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5c7732b1d396283510095f0c1ba38794986abc24
4
- data.tar.gz: 743dec410ce8a0606b45ebe16d19e06639ff3e5f
2
+ SHA256:
3
+ metadata.gz: 2d4e27d5c31d079de33330294545cd0fcf8d42dca2a7a3153e3de87756c613c8
4
+ data.tar.gz: bfaa3180fac48455b78f04c8798ef52e836eda71bd8395204044622a5ffc5efc
5
5
  SHA512:
6
- metadata.gz: ca2810a7a78e5d9524961c5c43c22794245fd71f2d5eea165b477e3742df215b1420042e2f98baf94ca45c7533deb74f8ac2020473899a327d23a79d9c8b4d33
7
- data.tar.gz: b88d0b552a7e9e8578132ac91d4ac373855b57ce7be16ad82cc33225db5f736a5e559b6658a010872da69b9dd0eb49d9e5694ff033c53c7fd26ca92d000a7c26
6
+ metadata.gz: 6a20ec872161752e1f8cb8a245fbdce7d8a8e8a5765d6e71c4e946e02fe5776edc2c805c056572a5bb9069c08ebf1688f9411d2053b4c52b00afc69ac6bfb7ef
7
+ data.tar.gz: '078363011a66a90fee4e8533db90663e8c2423ab7d9a739dcefa9af1532d47f8dcbc13ff3a1bea2de798c9a461e2283a6b8da083d1d3d560e4abddd1b6fbe980'
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2016 Clinch Technology, Ltd.
3
+ Copyright (c) 2021 Clinch Technology, Ltd.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -15,16 +15,23 @@ Add this statement to your Capfile:
15
15
 
16
16
  ## Configuration
17
17
 
18
- Below are the Capistrano configuration options with their defaults:
18
+ Below are the Capistrano configuration options with their defaults (session_token is optional):
19
19
 
20
20
  ```
21
21
  set :aws_access_key_id, ENV['AWS_ACCESS_KEY_ID']
22
22
  set :aws_secret_access_key, ENV['AWS_SECRET_ACCESS_KEY']
23
+ set :aws_session_token, ENV['AWS_SESSION_TOKEN']
23
24
  set :aws_region, ENV['AWS_REGION']
24
25
  ```
25
26
 
26
- And set the autoscale group:
27
+ And set the autoscale group using IP Address:
27
28
 
28
29
  ```
29
- autoscale [<array of auto-scale-group-names>], user: '<deployment user>', roles: [<array of cap roles>]
30
- ```
30
+ autoscale [<array of auto-scale-group-names>], :ip_address, user: '<deployment user>', roles: [<array of cap roles>]
31
+ ```
32
+
33
+ Or, set the autoscale group using EC2 Instance Id:
34
+
35
+ ```
36
+ autoscale [<array of auto-scale-group-names>], :instance_id, user: '<deployment user>', roles: [<array of cap roles>]
37
+ ```
@@ -19,10 +19,12 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.13"
22
- spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "rake", "~> 13.0"
23
23
  spec.add_development_dependency "minitest", "~> 5.0"
24
- spec.add_development_dependency "webmock"
24
+ spec.add_development_dependency "webmock", "~> 3"
25
25
 
26
- spec.add_dependency 'aws-sdk', '~> 2'
26
+ spec.add_dependency 'aws-sdk-core', '~> 3'
27
+ spec.add_dependency 'aws-sdk-ec2', '~> 1'
28
+ spec.add_dependency 'aws-sdk-autoscaling', '~> 1'
27
29
  spec.add_runtime_dependency 'capistrano', '~> 3.0', '> 3.0.0'
28
30
  end
@@ -1,4 +1,4 @@
1
- require 'aws-sdk'
1
+ require 'aws-sdk-core'
2
2
 
3
3
  require 'capistrano/all'
4
4
  require 'capistrano/dsl'
@@ -12,7 +12,7 @@ module Capistrano
12
12
  end
13
13
  end
14
14
 
15
- def autoscale(groupnames, *args)
15
+ def autoscale(groupnames, identifier_type, *args)
16
16
  include Capistrano::DSL
17
17
  include Capistrano::Autoscale::Aws::AutoscalingGroup
18
18
  include Capistrano::Autoscale::Aws::EC2
@@ -30,11 +30,17 @@ def autoscale(groupnames, *args)
30
30
  end
31
31
 
32
32
  instances.each do |instance|
33
- hostname = ec2_instance(instance.instance_id).private_ip_address
34
- p "Autoscale deploying to: #{hostname}"
35
- server(hostname, *args)
33
+ host = host_by_identifier(instance, identifier_type)
34
+ p "Autoscale deploying to: #{host}"
35
+ server(host, *args)
36
36
  end
37
37
  else
38
38
  p "Error: No #{groupnames} autoscale group found."
39
39
  end
40
+ end
41
+
42
+ private
43
+
44
+ def host_by_identifier(instance, identifier_type)
45
+ identifier_type == :ip_address ? ec2_instance(instance.instance_id).private_ip_address : instance.instance_id
40
46
  end
@@ -1,14 +1,15 @@
1
1
  module Capistrano
2
2
  module Autoscale
3
3
  module Aws
4
- module Credentials
4
+ module AutoscalingCredentials
5
5
  include Capistrano::DSL
6
6
 
7
- def credentials
7
+ def autoscaling_credentials
8
8
  credentials = {
9
9
  access_key_id: fetch(:aws_access_key_id, ENV['AWS_ACCESS_KEY_ID']),
10
10
  secret_access_key: fetch(:aws_secret_access_key, ENV['AWS_SECRET_ACCESS_KEY'])
11
11
  }
12
+ credentials.merge! session_token: fetch(:aws_session_token, ENV['AWS_SESSION_TOKEN']) if fetch(:aws_session_token, ENV['AWS_SESSION_TOKEN'])
12
13
  credentials.merge! region: fetch(:aws_region) if fetch(:aws_region)
13
14
  credentials
14
15
  end
@@ -1,15 +1,15 @@
1
- require 'aws-sdk'
2
- require 'capistrano/autoscale/aws/credentials'
1
+ require 'aws-sdk-autoscaling'
2
+ require 'capistrano/autoscale/aws/autoscaling_credentials'
3
3
 
4
4
  module Capistrano
5
5
  module Autoscale
6
6
  module Aws
7
7
  module AutoscalingGroup
8
- include Capistrano::Autoscale::Aws::Credentials
8
+ include Capistrano::Autoscale::Aws::AutoscalingCredentials
9
9
  include Capistrano::DSL
10
10
 
11
11
  def autoscale_groups
12
- @autoscale_groups ||= ::Aws::AutoScaling::Client.new(credentials).describe_auto_scaling_groups({auto_scaling_group_names: [autoscale_group_names].flatten}).auto_scaling_groups
12
+ @autoscale_groups ||= ::Aws::AutoScaling::Client.new(autoscaling_credentials).describe_auto_scaling_groups({auto_scaling_group_names: [autoscale_group_names].flatten}).auto_scaling_groups
13
13
  end
14
14
 
15
15
  def autoscale_group_names
@@ -1,14 +1,14 @@
1
- require 'aws-sdk'
2
- require 'capistrano/autoscale/aws/credentials'
1
+ require 'aws-sdk-ec2'
2
+ require 'capistrano/autoscale/aws/autoscaling_credentials'
3
3
 
4
4
  module Capistrano
5
5
  module Autoscale
6
6
  module Aws
7
7
  module EC2
8
- include Capistrano::Autoscale::Aws::Credentials
8
+ include Capistrano::Autoscale::Aws::AutoscalingCredentials
9
9
 
10
10
  def ec2_client
11
- @ec2_client ||= ::Aws::EC2::Client.new(credentials)
11
+ @ec2_client ||= ::Aws::EC2::Client.new(autoscaling_credentials)
12
12
  end
13
13
 
14
14
  def ec2_instance(instance_id)
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module Autoscale
3
- VERSION = '1.0.7'
3
+ VERSION = '1.0.12'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-autoscale
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damien Glancy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-04 00:00:00.000000000 Z
11
+ date: 2021-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -56,30 +56,58 @@ dependencies:
56
56
  name: webmock
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: aws-sdk-core
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: aws-sdk-ec2
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '0'
96
+ version: '1'
69
97
  - !ruby/object:Gem::Dependency
70
- name: aws-sdk
98
+ name: aws-sdk-autoscaling
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '2'
103
+ version: '1'
76
104
  type: :runtime
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '2'
110
+ version: '1'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: capistrano
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -114,15 +142,15 @@ files:
114
142
  - Rakefile
115
143
  - capistrano-autoscale.gemspec
116
144
  - lib/capistrano/autoscale.rb
145
+ - lib/capistrano/autoscale/aws/autoscaling_credentials.rb
117
146
  - lib/capistrano/autoscale/aws/autoscaling_group.rb
118
- - lib/capistrano/autoscale/aws/credentials.rb
119
147
  - lib/capistrano/autoscale/aws/ec2.rb
120
148
  - lib/capistrano/autoscale/version.rb
121
149
  homepage: https://github.com/ClinchIO/capistrano-autoscale
122
150
  licenses:
123
151
  - MIT
124
152
  metadata: {}
125
- post_install_message:
153
+ post_install_message:
126
154
  rdoc_options: []
127
155
  require_paths:
128
156
  - lib
@@ -137,9 +165,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
165
  - !ruby/object:Gem::Version
138
166
  version: '0'
139
167
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.6.14
142
- signing_key:
168
+ rubygems_version: 3.1.2
169
+ signing_key:
143
170
  specification_version: 4
144
171
  summary: Capistrano plugin for deploying to AWS AutoScale groups.
145
172
  test_files: []