jets 3.2.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/jets.gemspec +1 -1
- data/lib/jets/application/defaults.rb +2 -0
- data/lib/jets/application.rb +6 -7
- data/lib/jets/aws_info.rb +2 -2
- data/lib/jets/booter.rb +48 -1
- data/lib/jets/builders/code_builder.rb +2 -21
- data/lib/jets/builders/gem_replacer.rb +2 -7
- data/lib/jets/builders/ruby_packager.rb +37 -4
- data/lib/jets/cfn/builders/api_deployment_builder.rb +1 -1
- data/lib/jets/cfn/builders/api_gateway_builder.rb +25 -22
- data/lib/jets/cfn/builders/api_resources_builder.rb +1 -1
- data/lib/jets/cfn/builders/authorizer_builder.rb +1 -1
- data/lib/jets/cfn/builders/base_child_builder.rb +20 -1
- data/lib/jets/cfn/builders/interface.rb +19 -0
- data/lib/jets/cfn/builders/parent_builder.rb +3 -3
- data/lib/jets/cfn/builders/shared_builder.rb +1 -1
- data/lib/jets/cfn/built_template.rb +1 -1
- data/lib/jets/cfn/ship.rb +2 -2
- data/lib/jets/cfn/status.rb +1 -1
- data/lib/jets/cfn/upload.rb +2 -2
- data/lib/jets/cli.rb +10 -4
- data/lib/jets/commands/call/base_guesser.rb +1 -1
- data/lib/jets/commands/clean/log.rb +3 -3
- data/lib/jets/commands/configure.rb +1 -1
- data/lib/jets/commands/delete.rb +1 -1
- data/lib/jets/commands/deploy.rb +2 -2
- data/lib/jets/commands/stack_info.rb +1 -1
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +1 -1
- data/lib/jets/commands/url.rb +1 -1
- data/lib/jets/core.rb +14 -2
- data/lib/jets/core_ext/file.rb +9 -0
- data/lib/jets/dotenv.rb +2 -2
- data/lib/jets/erb.rb +1 -1
- data/lib/jets/inflections.rb +1 -1
- data/lib/jets/internal/app/controllers/jets/bare_controller.rb +1 -1
- data/lib/jets/internal/app/functions/jets/base_path.rb +93 -3
- data/lib/jets/internal/app/functions/jets/base_path_mapping.rb +65 -6
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +6 -2
- data/lib/jets/lambda/dsl.rb +6 -1
- data/lib/jets/{naming.rb → names.rb} +3 -3
- data/lib/jets/preheat.rb +9 -6
- data/lib/jets/resource/api_gateway/base_path/role.rb +1 -1
- data/lib/jets/resource/api_gateway/deployment.rb +2 -2
- data/lib/jets/resource/api_gateway/rest_api/logical_id.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api/routes/change/base.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api/routes/change/page.rb +2 -2
- data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api.rb +1 -1
- data/lib/jets/resource/child_stack/api_deployment.rb +1 -1
- data/lib/jets/resource/child_stack/api_resource/page.rb +1 -1
- data/lib/jets/resource/child_stack/api_resource.rb +1 -1
- data/lib/jets/resource/child_stack/app_class.rb +1 -1
- data/lib/jets/resource/child_stack/shared.rb +1 -1
- data/lib/jets/resource/iam/base_role_definition.rb +0 -5
- data/lib/jets/resource/iam/policy.rb +31 -0
- data/lib/jets/resource/lambda/function/environment.rb +2 -1
- data/lib/jets/resource/lambda/function.rb +3 -3
- data/lib/jets/router/route.rb +16 -4
- data/lib/jets/tmp_loader.rb +1 -1
- data/lib/jets/turbo/database_yaml.rb +1 -1
- data/lib/jets/util/yamler.rb +16 -0
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +1 -0
- metadata +7 -9
- data/.python-version +0 -1
- data/.ruby-version +0 -1
@@ -136,9 +136,9 @@ module Jets::Resource::Lambda
|
|
136
136
|
end
|
137
137
|
|
138
138
|
def get_layers(runtime)
|
139
|
-
return nil unless runtime =~ /^ruby/
|
139
|
+
return nil unless runtime =~ /^ruby/ || runtime =~ /^provided/
|
140
140
|
return Jets.config.lambda.layers if Jets.config.gems.disable
|
141
|
-
|
141
|
+
|
142
142
|
["!Ref GemLayer"] + Jets.config.lambda.layers
|
143
143
|
end
|
144
144
|
|
@@ -208,7 +208,7 @@ module Jets::Resource::Lambda
|
|
208
208
|
def get_descripton(props)
|
209
209
|
props[:description] || default_description
|
210
210
|
end
|
211
|
-
|
211
|
+
|
212
212
|
def default_description
|
213
213
|
# Example values:
|
214
214
|
# @app_class: Admin/PagesController
|
data/lib/jets/router/route.rb
CHANGED
@@ -16,6 +16,22 @@ class Jets::Router
|
|
16
16
|
@path = compute_path
|
17
17
|
@to = compute_to
|
18
18
|
@as = compute_as
|
19
|
+
# Pretty tricky. The @options[:mount_class] is a class that is mounted.
|
20
|
+
# For Grape apps, calling ActiveSupport to_json on a Grape class causes an infinite loop.
|
21
|
+
# Can reproduce with `GrapeApp.to_json`
|
22
|
+
# There's some type of collision between Grape and ActiveSupport to_json.
|
23
|
+
# Coerce mount_class option into a string so that when the route is serialized to JSON
|
24
|
+
# it is a string it won't cause an infinite loop. This allows the apigw routes to be
|
25
|
+
# saved to s3 and loaded back up at the end of a deploy.
|
26
|
+
# Related PR: smarter apigw routes paging calculation #635
|
27
|
+
# https://github.com/boltops-tools/jets/pull/635
|
28
|
+
# Debugging notes: https://gist.github.com/tongueroo/c9baa7e98d5ad68bbdd770fde4651963
|
29
|
+
@options[:mount_class] = @options[:mount_class].to_s if @options[:mount_class]
|
30
|
+
end
|
31
|
+
|
32
|
+
# Constantize back to the original class
|
33
|
+
def mount_class
|
34
|
+
@options[:mount_class].constantize
|
19
35
|
end
|
20
36
|
|
21
37
|
def compute_path
|
@@ -187,10 +203,6 @@ class Jets::Router
|
|
187
203
|
end.to_h
|
188
204
|
end
|
189
205
|
|
190
|
-
def mount_class
|
191
|
-
@options[:mount_class]
|
192
|
-
end
|
193
|
-
|
194
206
|
def to_h
|
195
207
|
JSON.load(to_json)
|
196
208
|
end
|
data/lib/jets/tmp_loader.rb
CHANGED
@@ -9,7 +9,7 @@ module Jets
|
|
9
9
|
def initialize(yaml_path=nil)
|
10
10
|
yaml_path ||= "#{Jets.root}/handlers/data.yml"
|
11
11
|
return unless File.exist?(yaml_path)
|
12
|
-
@data =
|
12
|
+
@data = Jets::Util::Yamler.load_file(yaml_path)
|
13
13
|
@s3_bucket = @data['s3_bucket']
|
14
14
|
@rack_zip = @data['rack_zip']
|
15
15
|
end
|
@@ -5,7 +5,7 @@ class Jets::Turbo
|
|
5
5
|
return unless File.exist?(current_yaml)
|
6
6
|
|
7
7
|
vars = {}
|
8
|
-
current_database =
|
8
|
+
current_database = Jets::Util::Yamler.load_file(current_yaml)
|
9
9
|
database_names = infer_database_name(current_database)
|
10
10
|
vars.merge!(database_names)
|
11
11
|
vars['adapter'] = current_database['development']['adapter']
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Named Yamler to make it clear it's not the YAML class.
|
2
|
+
class Jets::Util
|
3
|
+
class Yamler
|
4
|
+
class << self
|
5
|
+
def load(text)
|
6
|
+
options = RUBY_VERSION =~ /^3/ ? {aliases: true} : {} # Ruby 3.0.0 deprecates aliases: true
|
7
|
+
YAML.load(text, **options)
|
8
|
+
end
|
9
|
+
|
10
|
+
def load_file(path)
|
11
|
+
options = RUBY_VERSION =~ /^3/ ? {aliases: true} : {} # Ruby 3.0.0 deprecates aliases: true
|
12
|
+
YAML.load_file(path, **options)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/jets/version.rb
CHANGED
data/lib/jets.rb
CHANGED
@@ -3,6 +3,7 @@ $stdout.sync = true unless ENV["JETS_STDOUT_SYNC"] == "0"
|
|
3
3
|
$:.unshift(File.expand_path("../", __FILE__))
|
4
4
|
|
5
5
|
require "jets/core_ext/bundler"
|
6
|
+
require "jets/core_ext/file"
|
6
7
|
require "jets/autoloaders"
|
7
8
|
Jets::Autoloaders.log! if ENV["JETS_AUTOLOAD_LOG"]
|
8
9
|
Jets::Autoloaders.once.setup # must be called before cli.setup
|
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
|
+
version: 4.0.0
|
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-05-
|
11
|
+
date: 2023-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|
@@ -599,9 +599,7 @@ files:
|
|
599
599
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
600
600
|
- ".gitignore"
|
601
601
|
- ".gitmodules"
|
602
|
-
- ".python-version"
|
603
602
|
- ".rspec"
|
604
|
-
- ".ruby-version"
|
605
603
|
- CHANGELOG.md
|
606
604
|
- CONDUCT.md
|
607
605
|
- CONTRIBUTING.md
|
@@ -814,6 +812,7 @@ files:
|
|
814
812
|
- lib/jets/controller/stage.rb
|
815
813
|
- lib/jets/core.rb
|
816
814
|
- lib/jets/core_ext/bundler.rb
|
815
|
+
- lib/jets/core_ext/file.rb
|
817
816
|
- lib/jets/core_ext/kernel.rb
|
818
817
|
- lib/jets/db.rb
|
819
818
|
- lib/jets/dotenv.rb
|
@@ -882,7 +881,7 @@ files:
|
|
882
881
|
- lib/jets/middleware/default_stack.rb
|
883
882
|
- lib/jets/middleware/layer.rb
|
884
883
|
- lib/jets/middleware/stack.rb
|
885
|
-
- lib/jets/
|
884
|
+
- lib/jets/names.rb
|
886
885
|
- lib/jets/overrides/lambda.rb
|
887
886
|
- lib/jets/overrides/lambda/marshaller.rb
|
888
887
|
- lib/jets/overrides/rails.rb
|
@@ -947,6 +946,7 @@ files:
|
|
947
946
|
- lib/jets/resource/iam/class_role.rb
|
948
947
|
- lib/jets/resource/iam/function_role.rb
|
949
948
|
- lib/jets/resource/iam/managed_policy.rb
|
949
|
+
- lib/jets/resource/iam/policy.rb
|
950
950
|
- lib/jets/resource/iam/policy_document.rb
|
951
951
|
- lib/jets/resource/iot/topic_rule.rb
|
952
952
|
- lib/jets/resource/lambda/event_source_mapping.rb
|
@@ -1038,6 +1038,7 @@ files:
|
|
1038
1038
|
- lib/jets/turbo/rails.rb
|
1039
1039
|
- lib/jets/turbo/templates/config/database.yml
|
1040
1040
|
- lib/jets/util.rb
|
1041
|
+
- lib/jets/util/yamler.rb
|
1041
1042
|
- lib/jets/version.rb
|
1042
1043
|
- readme/prerelease.md
|
1043
1044
|
- readme/testing.md
|
@@ -1094,16 +1095,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1094
1095
|
- - ">="
|
1095
1096
|
- !ruby/object:Gem::Version
|
1096
1097
|
version: 2.5.0
|
1097
|
-
- - "<"
|
1098
|
-
- !ruby/object:Gem::Version
|
1099
|
-
version: 3.0.0
|
1100
1098
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1101
1099
|
requirements:
|
1102
1100
|
- - ">="
|
1103
1101
|
- !ruby/object:Gem::Version
|
1104
1102
|
version: '0'
|
1105
1103
|
requirements: []
|
1106
|
-
rubygems_version: 3.4.
|
1104
|
+
rubygems_version: 3.4.10
|
1107
1105
|
signing_key:
|
1108
1106
|
specification_version: 4
|
1109
1107
|
summary: Ruby Serverless Framework
|
data/.python-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3.8.6
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2.7.7
|