jets 4.0.4 → 4.0.6

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: a04cac354e7cc219602bd9a156eb26be7517025997ebfd4965e2d0678ddaee56
4
- data.tar.gz: 1e4d52b85a38f8058dc38538f32f6e0c551aacde7cd2ee444368f787486c7779
3
+ metadata.gz: b8c46ea5ca1394f3012193ccbf40b288ee2d18c8c8e8920c8822c8325f320fb2
4
+ data.tar.gz: 92c635b8b349f4044936184fe2c7937da19d9bdec630a12e32ad21cf8825c36e
5
5
  SHA512:
6
- metadata.gz: 9e8216af98538a02cfd1baed256f0b452daa5d626c6e7bde0093bbe37007e207dccd736122903351eba55615af1750ea1272134c6e8fc32c504f53d252e58fdc
7
- data.tar.gz: 7968a375e5a80deafc70b1c8261095b9ff9237471c73fb616c63531ed6080483d83745243d08f5ca33a9b92871ea9b1280c6f0e5beb64b26ee57fa9f2621bd75
6
+ metadata.gz: 3e1077dc2e8d538149e5ecb76be8a7d6e090b78442e43ad7c69cb4373944d0551e1e7026e2b161ecd5e59fce7e584939eb843c33dc5fa0c3603f8baa3c928f7c
7
+ data.tar.gz: f81535a05067afad2e0a2cf90519a90fba4f27cf3c3a6998210ebc7be7ae9d189959cd6ff0269e5743e31cf768258ada437253b09044d5d3120881dec00eed72
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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
+ ## [4.0.6] - 2023-10-20
7
+ - [#670](https://github.com/boltops-tools/jets/pull/670) Fixes IAM role permissions for PreheatJob
8
+
9
+ ## [4.0.5] - 2023-10-19
10
+ - [#665](https://github.com/boltops-tools/jets/pull/665) only add add_stage_name when request is present
11
+ - [#669](https://github.com/boltops-tools/jets/pull/669) Add optional command args to the jets runner command.
12
+
6
13
  ## [4.0.4] - 2023-09-07
7
14
  - [#662](https://github.com/boltops-tools/jets/pull/662) fix vpc iam permissions
8
15
 
@@ -41,6 +41,30 @@ class Jets::Application
41
41
  Resource: "*",
42
42
  }
43
43
  end
44
+
45
+ # Used by app/jobs/jets/preheat_job.rb
46
+ def preheat_job_iam_policy
47
+ policy = [
48
+ {
49
+ Sid: "Statement1",
50
+ Action: ["logs:*"],
51
+ Effect: "Allow",
52
+ Resource: [{
53
+ "Fn::Sub": "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${JetsPreheatJobWarmLambdaFunction}"
54
+ }]
55
+ },
56
+ {
57
+ Sid: "Statement2",
58
+ Action: ["lambda:InvokeFunction", "lambda:InvokeAsync"],
59
+ Effect: "Allow",
60
+ Resource: [{
61
+ "Fn::Sub": "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:#{Jets.project_namespace}-*"
62
+ }]
63
+ }
64
+ ]
65
+ policy << vpc_iam_policy_statement if Jets.config.function.vpc_config
66
+ policy
67
+ end
44
68
  end
45
69
 
46
70
  def default_config
@@ -200,29 +224,5 @@ class Jets::Application
200
224
  app/shared/functions
201
225
  ]
202
226
  end
203
-
204
- # Used by app/jobs/jets/preheat_job.rb
205
- def preheat_job_iam_policy
206
- policy = [
207
- {
208
- Sid: "Statement1",
209
- Action: ["logs:*"],
210
- Effect: "Allow",
211
- Resource: [{
212
- "Fn::Sub": "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${JetsPreheatJobWarmLambdaFunction}"
213
- }]
214
- },
215
- {
216
- Sid: "Statement2",
217
- Action: ["lambda:InvokeFunction", "lambda:InvokeAsync"],
218
- Effect: "Allow",
219
- Resource: [{
220
- "Fn::Sub": "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:#{Jets.project_namespace}-*"
221
- }]
222
- }
223
- ]
224
- policy << Jets::Application.vpc_iam_policy_statement if Jets.config.function.vpc_config
225
- policy
226
- end
227
227
  end
228
228
  end
@@ -14,4 +14,27 @@ puts "hello world: #{Jets.env}"
14
14
  ```
15
15
 
16
16
  $ jets runner file://script.rb
17
- hello world: development
17
+ hello world: development
18
+
19
+
20
+ Optionally pass in an argument on the command line:
21
+
22
+ Usage: jets runner file|Ruby code [args]
23
+
24
+ The argument will be assigned to the `args` variable.
25
+
26
+ Example:
27
+
28
+ $ jets runner 'puts "hello world with args: #{args}"' 123
29
+ hello world with args: 123
30
+
31
+
32
+ Example with script.rb:
33
+
34
+ ```ruby
35
+ puts "hello world with args: #{args}"
36
+ ```
37
+
38
+ $ jets runner file://script.rb 123
39
+ hello world with args: 123
40
+
@@ -72,8 +72,8 @@ module Jets::Commands
72
72
 
73
73
  desc "runner", "Run Ruby code in the context of Jets app non-interactively"
74
74
  long_desc Help.text(:runner)
75
- def runner(code)
76
- Runner.run(code)
75
+ def runner(code, args=nil)
76
+ Runner.run(code, args)
77
77
  end
78
78
 
79
79
  desc "dbconsole", "Starts DB REPL console"
@@ -1,5 +1,5 @@
1
1
  class Jets::Commands::Runner
2
- def self.run(code)
2
+ def self.run(code, args=nil)
3
3
  if code =~ %r{^file://}
4
4
  path = code.sub('file://', '')
5
5
  full_path = "#{Jets.root}/#{path}"
@@ -7,7 +7,7 @@ class Jets::PreheatJob < ApplicationJob
7
7
 
8
8
  class_timeout 30
9
9
  class_memory 1024
10
- class_iam_policy(Jets.config.preheat_job_iam_policy)
10
+ class_iam_policy(Jets::Application.preheat_job_iam_policy)
11
11
 
12
12
  rate(PREWARM_RATE) if torching
13
13
  def torch
@@ -2,7 +2,7 @@ module Jets::CommonMethods
2
2
  extend Memoist
3
3
  # Add API Gateway Stage Name
4
4
  def add_stage_name(url)
5
- Jets::Controller::Stage.add(request.host, url)
5
+ Jets::Controller::Stage.add(request.host, url) if request.present?
6
6
  end
7
7
 
8
8
  def on_aws?
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "4.0.4"
2
+ VERSION = "4.0.6"
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: 4.0.4
4
+ version: 4.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-07 00:00:00.000000000 Z
11
+ date: 2023-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -1101,7 +1101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1101
1101
  - !ruby/object:Gem::Version
1102
1102
  version: '0'
1103
1103
  requirements: []
1104
- rubygems_version: 3.4.17
1104
+ rubygems_version: 3.4.20
1105
1105
  signing_key:
1106
1106
  specification_version: 4
1107
1107
  summary: Ruby Serverless Framework