jets 3.1.1 → 3.1.4

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
2
  SHA256:
3
- metadata.gz: 813f79a0798f261ab43737c70500683685cd944c2a70e4e3a0a203907e43c6b3
4
- data.tar.gz: c008bb140e3348a45e623fa465d6c3d5df1532963f12cae4a92db9e3cf35eda8
3
+ metadata.gz: 50e281f1856a1a82508629d805afe52156c44dc360f38d49528ca67e586ae8a4
4
+ data.tar.gz: ee5c33fe1a4f6929d1b285ba6a16acbfedcba1f229f34501f45c0983d4c71d6f
5
5
  SHA512:
6
- metadata.gz: 69a14da58cabac458d4bf193a64e20dab760d7c5c210bf8c3990780721f20e36b49d9d3665cd878f776b87547dd6ee26641fdf6bdbb4b0bb51eea2fad2e24648
7
- data.tar.gz: 8f3d574fd011c5d5d3e3205b6697d42af756e5756d7fed6623198a76461854b6647d7099115b68d413e5f7ecaaa4a72a514c842cedb41888cc8ed9c251671fec
6
+ metadata.gz: 531f6ccbc1f750cd08b4ac8575017c12de6f21104d014b983a14270e9b6a2760e097a03c5672de4ec989cbbefb52cf6f25d37a2a2459743c2c49e72c1b715985
7
+ data.tar.gz: 116483cc99bb26c464de5665a7abfaba09c95710a298026a25acfbcb4c42bfce0df48a6efba6f937031fb54db7b91485f83e18b0c048ec4c10837682c89d8076
@@ -0,0 +1 @@
1
+ github: boltops-tools
data/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [3.1.4] - 2022-07-02
7
+ - [#627](https://github.com/boltops-tools/jets/pull/627) use >= for most gem dependencies
8
+
9
+ ## [3.1.3] - 2022-06-29
10
+ - [#626](https://github.com/boltops-tools/jets/pull/626) aws options to better handle rate limit for base path mapping
11
+
12
+ ## [3.1.2] - 2022-04-24
13
+ - [#618](https://github.com/boltops-tools/jets/pull/618) Jets Console accepts environment cli argument
14
+ - [#621](https://github.com/boltops-tools/jets/pull/621) Add SQS and SNS event helpers for jobs
15
+ - [#624](https://github.com/boltops-tools/jets/pull/624) Add lambda.function.ephemeral_storage function property support
16
+
6
17
  ## [3.1.1] - 2022-01-18
7
18
  - [#615](https://github.com/boltops-tools/jets/pull/615) adjust required_ruby_version
8
19
 
data/jets.gemspec CHANGED
@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
44
44
  spec.add_dependency "aws-sdk-sqs"
45
45
  spec.add_dependency "aws-sdk-ssm"
46
46
  spec.add_dependency "cfn-status"
47
- spec.add_dependency "cfn_camelizer", "~> 0.4.6"
47
+ spec.add_dependency "cfn_camelizer", ">= 0.4.9"
48
48
  spec.add_dependency "cfn_response"
49
49
  spec.add_dependency "dotenv"
50
50
  spec.add_dependency "gems" # jets-gems dependency
@@ -57,11 +57,11 @@ Gem::Specification.new do |spec|
57
57
  spec.add_dependency "railties", "~> 6.1.0" # for ActiveRecord database_tasks.rb
58
58
  spec.add_dependency "rainbow"
59
59
  spec.add_dependency "recursive-open-struct"
60
- spec.add_dependency "serverlessgems", "~> 0.1.4"
60
+ spec.add_dependency "serverlessgems", ">= 0.2.0"
61
61
  spec.add_dependency "shotgun"
62
62
  spec.add_dependency "text-table"
63
63
  spec.add_dependency "thor"
64
- spec.add_dependency "zeitwerk", "~> 2.5.0"
64
+ spec.add_dependency "zeitwerk", ">= 2.6.0"
65
65
 
66
66
  spec.add_development_dependency "bundler"
67
67
  spec.add_development_dependency "byebug"
@@ -59,6 +59,7 @@ class Jets::Application
59
59
  # default memory setting based on:
60
60
  # https://medium.com/epsagon/how-to-make-lambda-faster-memory-performance-benchmark-be6ebc41f0fc
61
61
  config.function.memory_size = 1536
62
+ config.function.ephemeral_storage = { size: 512 } # megabytes
62
63
 
63
64
  config.prewarm = ActiveSupport::OrderedOptions.new
64
65
  config.prewarm.enable = true
data/lib/jets/cli.rb CHANGED
@@ -63,7 +63,8 @@ class Jets::CLI
63
63
  # Pretty tricky, we need to use the raw @given_args as thor_args eventually calls Commands::Base#eager_load!
64
64
  # which uses Jets.env before we get a chance to override ENV['JETS_ENV']
65
65
  command, env = @given_args[0..1]
66
- return unless %w[deploy delete].include?(command)
66
+
67
+ return unless %w[deploy delete console c].include?(command)
67
68
  env = nil if env&.starts_with?('-')
68
69
  return unless env
69
70
  ENV['JETS_ENV'] = env ? env : 'development'
@@ -1,5 +1,11 @@
1
1
  class Jets::Commands::Console
2
- def self.run
2
+ attr_reader :environment
3
+
4
+ def initialize(environment)
5
+ @environment = environment
6
+ end
7
+
8
+ def run
3
9
  puts Jets::Booter.message
4
10
 
5
11
  # Thanks: https://mutelight.org/bin-console
@@ -61,10 +61,13 @@ module Jets::Commands
61
61
  Jets::Router.validate_routes!
62
62
  end
63
63
 
64
- desc "console", "REPL console with Jets environment loaded"
64
+ desc "console [environment]", "REPL console with Jets environment loaded"
65
65
  long_desc Help.text(:console)
66
- def console
67
- Console.run
66
+ # Note the environment is here to trick the Thor parser to allowing an
67
+ # environment parameter. It is not actually set here. It is set earlier
68
+ # in cli.rb: set_jets_env_from_cli_arg!
69
+ def console(environment=nil)
70
+ Console.new(options).run
68
71
  end
69
72
 
70
73
  desc "runner", "Run Ruby code in the context of Jets app non-interactively"
@@ -35,6 +35,7 @@ Jets.application.configure do
35
35
  # security_group_ids: %w[sg-1 sg-2],
36
36
  # subnet_ids: %w[subnet-1 subnet-2],
37
37
  # }
38
+ # config.function.ephemeral_storage = { size: 1536 }
38
39
  # The config.function settings to the CloudFormation Lambda Function properties.
39
40
  # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html
40
41
  # Underscored format can be used for keys to make it look more ruby-ish.
@@ -91,10 +91,22 @@ class BasePathMapping
91
91
  end
92
92
 
93
93
  def apigateway
94
- @apigateway ||= Aws::APIGateway::Client.new
94
+ @apigateway ||= Aws::APIGateway::Client.new(aws_options)
95
95
  end
96
96
 
97
97
  def cfn
98
- @cfn ||= Aws::CloudFormation::Client.new
98
+ @cfn ||= Aws::CloudFormation::Client.new(aws_options)
99
+ end
100
+
101
+ def aws_options
102
+ options = {
103
+ retry_limit: 7, # default: 3
104
+ retry_base_delay: 0.6, # default: 0.3
105
+ }
106
+ options.merge!(
107
+ log_level: :debug,
108
+ logger: Logger.new($stdout),
109
+ ) if ENV['JETS_DEBUG_AWS_SDK']
110
+ options
99
111
  end
100
112
  end
data/lib/jets/job/base.rb CHANGED
@@ -13,6 +13,8 @@ module Jets::Job
13
13
  include Helpers::KinesisEventHelper
14
14
  include Helpers::LogEventHelper
15
15
  include Helpers::S3EventHelper
16
+ include Helpers::SnsEventHelper
17
+ include Helpers::SqsEventHelper
16
18
 
17
19
  # Tracks bucket each time an s3_event is declared
18
20
  # Map of bucket_name => stack_name (nested part)
@@ -0,0 +1,8 @@
1
+ module Jets::Job::Helpers
2
+ module SnsEventHelper
3
+ def sns_event_payload
4
+ message = event&.dig("Records", 0, "Sns", "Message")
5
+ @sns_event_payload ||= ActiveSupport::HashWithIndifferentAccess.new(JSON.load(message))
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Jets::Job::Helpers
2
+ module SqsEventHelper
3
+ def sqs_event_payload
4
+ message = event&.dig("Records", 0, "body")
5
+ @sqs_event_payload ||= ActiveSupport::HashWithIndifferentAccess.new(JSON.parse(message))
6
+ end
7
+ end
8
+ end
@@ -57,6 +57,7 @@ module Jets::Lambda::Dsl
57
57
  PROPERTIES = %W[
58
58
  dead_letter_config
59
59
  description
60
+ ephemeral_storage
60
61
  handler
61
62
  kms_key_arn
62
63
  memory_size
@@ -33,6 +33,7 @@ module Jets::Stack::Main::Dsl
33
33
  runtime: :ruby,
34
34
  timeout: Jets.config.function.timeout,
35
35
  memory_size: Jets.config.function.memory_size,
36
+ ephemeral_storage: Jets.config.function.ephemeral_storage,
36
37
  description: description,
37
38
  }
38
39
 
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "3.1.1"
2
+ VERSION = "3.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jets
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-18 00:00:00.000000000 Z
11
+ date: 2022-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -252,16 +252,16 @@ dependencies:
252
252
  name: cfn_camelizer
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - "~>"
255
+ - - ">="
256
256
  - !ruby/object:Gem::Version
257
- version: 0.4.6
257
+ version: 0.4.9
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - "~>"
262
+ - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: 0.4.6
264
+ version: 0.4.9
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: cfn_response
267
267
  requirement: !ruby/object:Gem::Requirement
@@ -434,16 +434,16 @@ dependencies:
434
434
  name: serverlessgems
435
435
  requirement: !ruby/object:Gem::Requirement
436
436
  requirements:
437
- - - "~>"
437
+ - - ">="
438
438
  - !ruby/object:Gem::Version
439
- version: 0.1.4
439
+ version: 0.2.0
440
440
  type: :runtime
441
441
  prerelease: false
442
442
  version_requirements: !ruby/object:Gem::Requirement
443
443
  requirements:
444
- - - "~>"
444
+ - - ">="
445
445
  - !ruby/object:Gem::Version
446
- version: 0.1.4
446
+ version: 0.2.0
447
447
  - !ruby/object:Gem::Dependency
448
448
  name: shotgun
449
449
  requirement: !ruby/object:Gem::Requirement
@@ -490,16 +490,16 @@ dependencies:
490
490
  name: zeitwerk
491
491
  requirement: !ruby/object:Gem::Requirement
492
492
  requirements:
493
- - - "~>"
493
+ - - ">="
494
494
  - !ruby/object:Gem::Version
495
- version: 2.5.0
495
+ version: 2.6.0
496
496
  type: :runtime
497
497
  prerelease: false
498
498
  version_requirements: !ruby/object:Gem::Requirement
499
499
  requirements:
500
- - - "~>"
500
+ - - ">="
501
501
  - !ruby/object:Gem::Version
502
- version: 2.5.0
502
+ version: 2.6.0
503
503
  - !ruby/object:Gem::Dependency
504
504
  name: bundler
505
505
  requirement: !ruby/object:Gem::Requirement
@@ -590,6 +590,7 @@ files:
590
590
  - ".cody/docs/bin/subnav.sh"
591
591
  - ".cody/docs/buildspec.yml"
592
592
  - ".cody/docs/project.rb"
593
+ - ".github/FUNDING.yml"
593
594
  - ".github/ISSUE_TEMPLATE.md"
594
595
  - ".github/ISSUE_TEMPLATE/bug_report.md"
595
596
  - ".github/ISSUE_TEMPLATE/documentation.md"
@@ -863,6 +864,8 @@ files:
863
864
  - lib/jets/job/helpers/kinesis_event_helper.rb
864
865
  - lib/jets/job/helpers/log_event_helper.rb
865
866
  - lib/jets/job/helpers/s3_event_helper.rb
867
+ - lib/jets/job/helpers/sns_event_helper.rb
868
+ - lib/jets/job/helpers/sqs_event_helper.rb
866
869
  - lib/jets/klass.rb
867
870
  - lib/jets/lambda/dsl.rb
868
871
  - lib/jets/lambda/function.rb
@@ -1098,7 +1101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1098
1101
  - !ruby/object:Gem::Version
1099
1102
  version: '0'
1100
1103
  requirements: []
1101
- rubygems_version: 3.1.6
1104
+ rubygems_version: 3.3.10
1102
1105
  signing_key:
1103
1106
  specification_version: 4
1104
1107
  summary: Ruby Serverless Framework