jets 3.1.1 → 3.1.2

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: 9bb051dfd639163f3f633fbf6573d327ee67e802647d506da22c85733244a563
4
+ data.tar.gz: 4100d9d52b33f989af9fc8098a97e8214976525cda351b03e388e7111b4dd764
5
5
  SHA512:
6
- metadata.gz: 69a14da58cabac458d4bf193a64e20dab760d7c5c210bf8c3990780721f20e36b49d9d3665cd878f776b87547dd6ee26641fdf6bdbb4b0bb51eea2fad2e24648
7
- data.tar.gz: 8f3d574fd011c5d5d3e3205b6697d42af756e5756d7fed6623198a76461854b6647d7099115b68d413e5f7ecaaa4a72a514c842cedb41888cc8ed9c251671fec
6
+ metadata.gz: 0e249bf85b0fea5d5378e74938a9cf711beb25d24878427de1d18f72f807a56636ffc1db1acbc3e134099c4c4ffec743b8f7d3176a3a63be12f386580bc5828b
7
+ data.tar.gz: 0572c04c62eb4fe6a152787b3e9055df137c29f8ddc792584d7c85b9389565056f0c2d1fa78501a8fe9b38557af429da74961b41ec24284396033c31698ca2fc
data/CHANGELOG.md CHANGED
@@ -3,6 +3,11 @@
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.2] - 2022-04-24
7
+ - [#618](https://github.com/boltops-tools/jets/pull/618) Jets Console accepts environment cli argument
8
+ - [#621](https://github.com/boltops-tools/jets/pull/621) Add SQS and SNS event helpers for jobs
9
+ - [#624](https://github.com/boltops-tools/jets/pull/624) Add lambda.function.ephemeral_storage function property support
10
+
6
11
  ## [3.1.1] - 2022-01-18
7
12
  - [#615](https://github.com/boltops-tools/jets/pull/615) adjust required_ruby_version
8
13
 
@@ -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.
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.2"
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.2
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-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -863,6 +863,8 @@ files:
863
863
  - lib/jets/job/helpers/kinesis_event_helper.rb
864
864
  - lib/jets/job/helpers/log_event_helper.rb
865
865
  - lib/jets/job/helpers/s3_event_helper.rb
866
+ - lib/jets/job/helpers/sns_event_helper.rb
867
+ - lib/jets/job/helpers/sqs_event_helper.rb
866
868
  - lib/jets/klass.rb
867
869
  - lib/jets/lambda/dsl.rb
868
870
  - lib/jets/lambda/function.rb
@@ -1098,7 +1100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1098
1100
  - !ruby/object:Gem::Version
1099
1101
  version: '0'
1100
1102
  requirements: []
1101
- rubygems_version: 3.1.6
1103
+ rubygems_version: 3.3.10
1102
1104
  signing_key:
1103
1105
  specification_version: 4
1104
1106
  summary: Ruby Serverless Framework