aerosol 1.5.1 → 1.8.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 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: