jets 3.1.1 → 3.1.2

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
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