jets 4.0.3 → 4.0.5
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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/jets/application/defaults.rb +41 -18
- data/lib/jets/commands/help/runner.md +24 -1
- data/lib/jets/commands/main.rb +2 -2
- data/lib/jets/commands/runner.rb +1 -1
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +1 -18
- data/lib/jets/overrides/rails/common_methods.rb +1 -1
- data/lib/jets/resource/iam/base_role_definition.rb +14 -0
- data/lib/jets/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9573f84496ce6067ec6fd2ab846a9387c65755aea56eba1ab24ed35cf2a9cb04
|
4
|
+
data.tar.gz: bc403254b13de9d7db49a146d254b3269b9b02b748e504c98f88ebcd293c20be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e81ee110ee967638949b27431392dda0717497d85ff5bb58613373088695be8b4aaaff706a9fbf7fedcf38fffe33d9bcb8842d1068cf9077637c3616d93fb822
|
7
|
+
data.tar.gz: fa499faf963ecdadbd9cfe0372dd9f02b1378550800a72496fac32b3e8438e05aa0763e9a473e7cfc02545fcaa5e945f7487735be754ee09eeb3950ed5f3d40d
|
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.5] - 2023-10-19
|
7
|
+
- [#665](https://github.com/boltops-tools/jets/pull/665) only add add_stage_name when request is present
|
8
|
+
- [#669](https://github.com/boltops-tools/jets/pull/669) Add optional command args to the jets runner command.
|
9
|
+
|
10
|
+
## [4.0.4] - 2023-09-07
|
11
|
+
- [#662](https://github.com/boltops-tools/jets/pull/662) fix vpc iam permissions
|
12
|
+
|
6
13
|
## [4.0.3] - 2023-08-03
|
7
14
|
- [#657](https://github.com/boltops-tools/jets/pull/657) [Fix] ApiGateway for local Middleware: fix query_string_parameters
|
8
15
|
|
@@ -2,8 +2,8 @@ class Jets::Application
|
|
2
2
|
module Defaults
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
|
5
|
-
|
6
|
-
def
|
5
|
+
class_methods do
|
6
|
+
def default_iam_policy
|
7
7
|
project_namespace = Jets.project_namespace
|
8
8
|
logs = {
|
9
9
|
action: ["logs:*"],
|
@@ -24,24 +24,23 @@ class Jets::Application
|
|
24
24
|
}
|
25
25
|
policies << cloudformation
|
26
26
|
|
27
|
-
if Jets.config.function.vpc_config
|
28
|
-
vpc = {
|
29
|
-
action: %w[
|
30
|
-
ec2:CreateNetworkInterface
|
31
|
-
ec2:DeleteNetworkInterface
|
32
|
-
ec2:DescribeNetworkInterfaces
|
33
|
-
ec2:DescribeVpcs
|
34
|
-
ec2:DescribeSubnets
|
35
|
-
ec2:DescribeSecurityGroups
|
36
|
-
],
|
37
|
-
effect: "Allow",
|
38
|
-
resource: "*",
|
39
|
-
}
|
40
|
-
policies << vpc
|
41
|
-
end
|
42
|
-
|
43
27
|
policies
|
44
28
|
end
|
29
|
+
|
30
|
+
def vpc_iam_policy_statement
|
31
|
+
{
|
32
|
+
Action: %w[
|
33
|
+
ec2:CreateNetworkInterface
|
34
|
+
ec2:DeleteNetworkInterface
|
35
|
+
ec2:DescribeNetworkInterfaces
|
36
|
+
ec2:DescribeVpcs
|
37
|
+
ec2:DescribeSubnets
|
38
|
+
ec2:DescribeSecurityGroups
|
39
|
+
],
|
40
|
+
Effect: "Allow",
|
41
|
+
Resource: "*",
|
42
|
+
}
|
43
|
+
end
|
45
44
|
end
|
46
45
|
|
47
46
|
def default_config
|
@@ -201,5 +200,29 @@ class Jets::Application
|
|
201
200
|
app/shared/functions
|
202
201
|
]
|
203
202
|
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
|
204
227
|
end
|
205
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
|
+
|
data/lib/jets/commands/main.rb
CHANGED
@@ -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"
|
data/lib/jets/commands/runner.rb
CHANGED
@@ -7,24 +7,7 @@ class Jets::PreheatJob < ApplicationJob
|
|
7
7
|
|
8
8
|
class_timeout 30
|
9
9
|
class_memory 1024
|
10
|
-
class_iam_policy(
|
11
|
-
{
|
12
|
-
sid: "Statement1",
|
13
|
-
action: ["logs:*"],
|
14
|
-
effect: "Allow",
|
15
|
-
resource: [
|
16
|
-
sub("arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${WarmLambdaFunction}"),
|
17
|
-
]
|
18
|
-
},
|
19
|
-
{
|
20
|
-
Sid: "Statement2",
|
21
|
-
Action: ["lambda:InvokeFunction", "lambda:InvokeAsync"],
|
22
|
-
Effect: "Allow",
|
23
|
-
Resource: [
|
24
|
-
sub("arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:#{Jets.project_namespace}-*")
|
25
|
-
]
|
26
|
-
}
|
27
|
-
)
|
10
|
+
class_iam_policy(Jets.config.preheat_job_iam_policy)
|
28
11
|
|
29
12
|
rate(PREWARM_RATE) if torching
|
30
13
|
def torch
|
@@ -24,6 +24,12 @@ module Jets::Resource::Iam
|
|
24
24
|
}
|
25
25
|
}
|
26
26
|
|
27
|
+
# Add vpc permissions to all policies
|
28
|
+
definition[logical_id][:properties][:policies] = [
|
29
|
+
policy_name: "vpc", # required, limited to 128-chars
|
30
|
+
policy_document: vpc_policy_document,
|
31
|
+
] if vpc_policy_document
|
32
|
+
|
27
33
|
unless managed_policy_arns.empty?
|
28
34
|
definition[logical_id][:properties][:managed_policy_arns] = managed_policy_arns
|
29
35
|
end
|
@@ -31,6 +37,14 @@ module Jets::Resource::Iam
|
|
31
37
|
definition
|
32
38
|
end
|
33
39
|
|
40
|
+
def vpc_policy_document
|
41
|
+
if Jets.config.function.vpc_config
|
42
|
+
{
|
43
|
+
Statement: [Jets::Application.vpc_iam_policy_statement]
|
44
|
+
}
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
34
48
|
def policy_document
|
35
49
|
PolicyDocument.new(@policy_definitions.flatten.uniq).policy_document
|
36
50
|
end
|
data/lib/jets/version.rb
CHANGED
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
|
+
version: 4.0.5
|
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-
|
11
|
+
date: 2023-10-19 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.
|
1104
|
+
rubygems_version: 3.4.20
|
1105
1105
|
signing_key:
|
1106
1106
|
specification_version: 4
|
1107
1107
|
summary: Ruby Serverless Framework
|