aerosol 1.5.1 → 1.8.0

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: e44c2af5b56fc29327f30ec3f2c7c79bdbbde1a6
4
- data.tar.gz: cdaa27889a78ca44b8dd90bb07ab07b590227fa7
2
+ SHA256:
3
+ metadata.gz: 8800e253ba3945d047a0186145a0aa58bc2d1ea2374ca6cc3e8f9e102a8ad510
4
+ data.tar.gz: 9748857dd6d759985cf7e1071364474dbb013b2eff7eae3c86616e0eebcc1879
5
5
  SHA512:
6
- metadata.gz: a92b079896a367f90f0fd26d76fcba367fa0287e5b9a2e755cc44ecb8705f273e20dffd078aeecc8e7687d0a7e06c4de926ac89fa9934c65fd84a5f4ddcd9455
7
- data.tar.gz: 8d7da73ca62a28df467a723f578ae0c1ecfe38deb42c2753fc4b36b13b021e02a3c07bedd466d09c862071c97e6cba77644c7ee2ddabb7ce6e6cb40822e82d4b
6
+ metadata.gz: 143084a0ffcd6ed83e36bea8a106e88776cc146adacc7d55b3976f52fd0ce80d6e0c7543311c5d82110900ce927cca5ca29bb4a06903131497d88ae7ed02a7f6
7
+ data.tar.gz: 4ea6f13e4f3464f04ab05bd33d504f586c5206cbf13bfbdeed63411ad2a2170b812631d8185c18981a8c46dfc55d5f18d189a59826b04129aca4c14d034148a3
@@ -2,10 +2,9 @@ sudo: false
2
2
  dist: trusty
3
3
  language: ruby
4
4
  rvm:
5
- - 1.9.3
6
5
  - 2.0
7
6
  - 2.1
8
7
  - 2.2
9
8
  cache: bundler
10
- before_install: gem install bundler
9
+ before_install: gem install bundler -v 1.17.3
11
10
  script: CI=true bundle exec rake
@@ -18,14 +18,17 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency 'activerecord', '>= 3.2.0'
19
19
  gem.add_dependency 'clamp', '~> 0.6'
20
20
  gem.add_dependency 'excon'
21
- gem.add_dependency 'aws-sdk', '~> 2.0'
22
- gem.add_dependency 'grit'
21
+ gem.add_dependency 'aws-sdk-core', '~> 3'
22
+ gem.add_dependency 'aws-sdk-s3', '~> 1'
23
+ gem.add_dependency 'aws-sdk-ec2', '~> 1'
24
+ gem.add_dependency 'aws-sdk-autoscaling', '~> 1'
25
+ gem.add_dependency 'minigit', '~> 0.0.4'
23
26
  gem.add_dependency 'net-ssh'
24
27
  gem.add_dependency 'net-ssh-gateway'
25
28
  gem.add_dependency 'dockly-util', '~> 0.1.0'
26
29
  gem.add_development_dependency 'cane'
27
30
  gem.add_development_dependency 'pry'
28
- gem.add_development_dependency 'rake'
31
+ gem.add_development_dependency 'rake', '~> 10.0'
29
32
  gem.add_development_dependency 'rspec', '< 3.0'
30
33
  gem.add_development_dependency 'webmock'
31
34
  gem.add_development_dependency 'vcr'
@@ -1,5 +1,8 @@
1
1
  require 'yaml'
2
- require 'aws-sdk'
2
+ require 'aws-sdk-autoscaling'
3
+ require 'aws-sdk-core'
4
+ require 'aws-sdk-s3'
5
+ require 'aws-sdk-ec2'
3
6
  require 'dockly/util'
4
7
  require 'base64'
5
8
 
@@ -5,7 +5,7 @@ class Aerosol::AutoScaling
5
5
  logger_prefix '[aerosol auto_scaling]'
6
6
  aws_attribute :auto_scaling_group_name, :availability_zones, :min_size, :max_size, :default_cooldown,
7
7
  :desired_capacity, :health_check_grace_period, :health_check_type, :load_balancer_names,
8
- :placement_group, :tags, :created_time, :vpc_zone_identifier
8
+ :placement_group, :tags, :created_time, :vpc_zone_identifier, :target_group_arns
9
9
  aws_class_attribute :launch_configuration, Aerosol::LaunchConfiguration
10
10
  primary_key :auto_scaling_group_name
11
11
 
@@ -138,6 +138,7 @@ class Aerosol::AutoScaling
138
138
  "placement_group" => "#{placement_group}", \
139
139
  "tags" => #{tags.to_s}, \
140
140
  "created_time" => "#{created_time}" \
141
+ "target_group_arns" => "#{target_group_arns}" \
141
142
  }}
142
143
  end
143
144
 
@@ -155,7 +156,8 @@ private
155
156
  load_balancer_names: load_balancer_names,
156
157
  placement_group: placement_group,
157
158
  tags: tags_to_array,
158
- vpc_zone_identifier: vpc_zone_identifier
159
+ vpc_zone_identifier: vpc_zone_identifier,
160
+ target_group_arns: target_group_arns
159
161
  }.reject { |k, v| v.nil? }
160
162
  end
161
163
 
@@ -14,6 +14,20 @@ class Aerosol::AbstractCommand < Clamp::Command
14
14
  end
15
15
  end
16
16
 
17
+ class Aerosol::DeployCommand < Aerosol::AbstractCommand
18
+ parameter 'DEPLOY', 'the deploy to run (can also be an environment name) for', :attribute_name => :deploy_name
19
+
20
+ def execute
21
+ super
22
+
23
+ if Aerosol.deploy(deploy_name.to_sym)
24
+ Rake::Task["aerosol:#{deploy_name}:all"].invoke
25
+ elsif Aerosol.env(deploy_name.to_sym)
26
+ Rake::Task["aerosol:env:#{deploy_name}"].invoke
27
+ end
28
+ end
29
+ end
30
+
17
31
  class Aerosol::SshCommand < Aerosol::AbstractCommand
18
32
  option ['-r', '--run'], :flag, 'run first ssh command', :attribute_name => :run_first
19
33
  parameter 'DEPLOY', 'the deploy to list commands for', :attribute_name => :deploy_name
@@ -37,5 +51,6 @@ end
37
51
 
38
52
  class Aerosol::Cli < Aerosol::AbstractCommand
39
53
  subcommand ['ssh', 's'], 'Print ssh commands for latest running instances', Aerosol::SshCommand
54
+ subcommand ['deploy', 'd'], 'Run a deploy', Aerosol::DeployCommand
40
55
  end
41
56
 
@@ -5,7 +5,7 @@ class Aerosol::LaunchConfiguration
5
5
  logger_prefix '[aerosol launch_configuration]'
6
6
  aws_attribute :launch_configuration_name, :image_id, :instance_type, :security_groups, :user_data,
7
7
  :iam_instance_profile, :kernel_id, :key_name, :spot_price, :created_time,
8
- :associate_public_ip_address, :block_device_mappings
8
+ :associate_public_ip_address, :block_device_mappings, :ebs_optimized
9
9
  dsl_attribute :meta_data
10
10
 
11
11
  primary_key :launch_configuration_name
@@ -89,7 +89,8 @@ class Aerosol::LaunchConfiguration
89
89
  "key_name" => "#{key_name}", \
90
90
  "spot_price" => "#{spot_price}", \
91
91
  "created_time" => "#{created_time}", \
92
- "block_device_mappings" => #{block_device_mappings}" \
92
+ "block_device_mappings" => #{block_device_mappings}", \
93
+ "ebs_optimized" => #{ebs_optimized} \
93
94
  }}
94
95
  end
95
96
 
@@ -109,7 +110,8 @@ private
109
110
  spot_price: spot_price,
110
111
  user_data: corrected_user_data,
111
112
  associate_public_ip_address: associate_public_ip_address,
112
- block_device_mappings: block_device_mappings
113
+ block_device_mappings: block_device_mappings,
114
+ ebs_optimized: ebs_optimized
113
115
  }.reject { |k, v| v.nil? }
114
116
  end
115
117
 
@@ -1,8 +1,6 @@
1
1
  require 'rake'
2
2
  require 'aerosol'
3
3
 
4
- $rake_task_logger = Dockly::Util::Logger.new('[aerosol rake_task]', STDOUT, false)
5
-
6
4
  class Rake::AutoScalingTask < Rake::Task
7
5
  def needed?
8
6
  !auto_scaling.exists?
@@ -1,6 +1,5 @@
1
1
  require 'socket'
2
2
  require 'active_record'
3
- require 'grit'
4
3
  require 'timeout'
5
4
 
6
5
  class Aerosol::Runner
@@ -1,4 +1,4 @@
1
- require 'grit'
1
+ require 'minigit'
2
2
 
3
3
  module Aerosol::Util
4
4
  extend self
@@ -32,10 +32,10 @@ module Aerosol::Util
32
32
  end
33
33
 
34
34
  def git_repo
35
- @git_repo ||= Grit::Repo.new('.')
35
+ @git_repo ||= MiniGit.new('.')
36
36
  end
37
37
 
38
38
  def git_sha
39
- @git_sha ||= git_repo.git.show.lines.first.chomp.match(/^commit ([a-f0-9]+)$/)[1][0..6] rescue 'unknown'
39
+ @git_sha ||= git_repo.capturing.rev_parse('HEAD').chomp[0..6] rescue 'unknown'
40
40
  end
41
41
  end
@@ -1,5 +1,5 @@
1
1
  # Copyright Swipely, Inc. All rights reserved.
2
2
 
3
3
  module Aerosol
4
- VERSION = '1.5.1'
4
+ VERSION = '1.8.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aerosol
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Swipely, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-15 00:00:00.000000000 Z
11
+ date: 2021-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -53,33 +53,75 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: aws-sdk
56
+ name: aws-sdk-core
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.0'
61
+ version: '3'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.0'
68
+ version: '3'
69
69
  - !ruby/object:Gem::Dependency
70
- name: grit
70
+ name: aws-sdk-s3
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '1'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '1'
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
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: aws-sdk-autoscaling
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: minigit
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.0.4
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.0.4
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: net-ssh
85
127
  requirement: !ruby/object:Gem::Requirement
@@ -154,16 +196,16 @@ dependencies:
154
196
  name: rake
155
197
  requirement: !ruby/object:Gem::Requirement
156
198
  requirements:
157
- - - ">="
199
+ - - "~>"
158
200
  - !ruby/object:Gem::Version
159
- version: '0'
201
+ version: '10.0'
160
202
  type: :development
161
203
  prerelease: false
162
204
  version_requirements: !ruby/object:Gem::Requirement
163
205
  requirements:
164
- - - ">="
206
+ - - "~>"
165
207
  - !ruby/object:Gem::Version
166
- version: '0'
208
+ version: '10.0'
167
209
  - !ruby/object:Gem::Dependency
168
210
  name: rspec
169
211
  requirement: !ruby/object:Gem::Requirement
@@ -259,7 +301,7 @@ homepage: https://github.com/swipely/aerosol
259
301
  licenses:
260
302
  - MIT
261
303
  metadata: {}
262
- post_install_message:
304
+ post_install_message:
263
305
  rdoc_options: []
264
306
  require_paths:
265
307
  - lib
@@ -274,9 +316,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
316
  - !ruby/object:Gem::Version
275
317
  version: '0'
276
318
  requirements: []
277
- rubyforge_project:
278
- rubygems_version: 2.4.5
279
- signing_key:
319
+ rubygems_version: 3.0.3
320
+ signing_key:
280
321
  specification_version: 4
281
322
  summary: Instance-based deploys made easy
282
323
  test_files: