jets 2.3.11 → 2.3.12
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 +10 -0
- data/README.md +1 -1
- data/lib/jets/builders/code_builder.rb +2 -1
- data/lib/jets/commands/deploy.rb +2 -0
- data/lib/jets/commands/new.rb +1 -0
- data/lib/jets/commands/templates/skeleton/config/database.yml.tt +4 -4
- data/lib/jets/controller/rendering.rb +2 -1
- data/lib/jets/job/dsl/dynamodb_event.rb +2 -0
- data/lib/jets/lambda/function_constructor.rb +1 -1
- data/lib/jets/overrides/rails/url_helper.rb +5 -6
- data/lib/jets/resource/api_gateway/domain_name.rb +9 -3
- data/lib/jets/resource/route53/record_set.rb +38 -10
- data/lib/jets/tmp_loader.rb +2 -1
- 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: 14f4e12068a48f8ff8d9114f69f9b01da482d89c78a4f7027a42c4c33995de93
|
4
|
+
data.tar.gz: 2a078028215d546115310857ec3c37ec629b0be726182e4c6a4f1d6ddd2f9dd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae698eaaba985b224cb01b43e2ac90015ae5e7a5fd1eaf4a4c9a97e76303b9fc700fe3e251843bc7fb6c209a94c51f7a07743a98203bdb27e79c6dc19c18c026
|
7
|
+
data.tar.gz: 40142abe6a735a848f1931fa1f044f5964191b1c0326cce0b00d3850b05023ab238b97b5c793d13e7c7b78bf5e4e3a1baa747f0fb233c7fd5f4e3535c9207e44
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,16 @@
|
|
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
|
+
## [2.3.12]
|
7
|
+
- #421 use underscore for database name in database.yml
|
8
|
+
- #422 url_for: allow any activemodel compatiable object to work
|
9
|
+
- #423 add apex domain support
|
10
|
+
- #424 md5 fix subtle bug when code doesnt get uploaded from newly generated shims
|
11
|
+
- #425 add hosted zone id support
|
12
|
+
- #426 use headers origin for actual host in case of cloudfront in front
|
13
|
+
- #428 fixes to JETS_BUILD_NO_INTERNET env var option
|
14
|
+
- #429 fix simple function tmp_loader
|
15
|
+
|
6
16
|
## [2.3.11]
|
7
17
|
- #419 Added forward slash before script_name env variable, so that correct path get generated. As it happens Rails
|
8
18
|
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Ruby and Lambda splat out a baby and that child's name is [Jets](http://rubyonjets.com/).
|
6
6
|
|
7
|
-

|
8
8
|
[](https://circleci.com/gh/tongueroo/jets)
|
9
9
|
[](https://badge.fury.io/rb/jets)
|
10
10
|
[](http://rubyonjets.com/support/)
|
@@ -77,6 +77,7 @@ module Jets::Builders
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def exist_on_s3?(filename)
|
80
|
+
return false if ENV['JETS_BUILD_NO_INTERNET']
|
80
81
|
s3_key = "jets/code/#{filename}"
|
81
82
|
begin
|
82
83
|
s3.head_object(bucket: s3_bucket, key: s3_key)
|
@@ -98,8 +99,8 @@ module Jets::Builders
|
|
98
99
|
|
99
100
|
# Code prep and zipping
|
100
101
|
check_code_size!
|
101
|
-
calculate_md5s # must be called before generate_shims and create_zip_files
|
102
102
|
generate_shims
|
103
|
+
calculate_md5s # must be called before create_zip_files because checksums need to be populated
|
103
104
|
create_zip_files
|
104
105
|
end
|
105
106
|
|
data/lib/jets/commands/deploy.rb
CHANGED
@@ -152,6 +152,8 @@ module Jets::Commands
|
|
152
152
|
|
153
153
|
# All CloudFormation states listed here: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html
|
154
154
|
def exit_unless_updateable!
|
155
|
+
return if ENV['JETS_FORCE_UPDATEABLE'] # useful for debugging if stack stack updating
|
156
|
+
|
155
157
|
stack_name = Jets::Naming.parent_stack_name
|
156
158
|
exists = stack_exists?(stack_name)
|
157
159
|
return unless exists # continue because stack could be updating
|
data/lib/jets/commands/new.rb
CHANGED
@@ -24,6 +24,7 @@ module Jets::Commands
|
|
24
24
|
|
25
25
|
def set_initial_variables
|
26
26
|
@project_name = project_folder == '.' ? File.basename(Dir.pwd) : project_folder
|
27
|
+
@database_name = @project_name.gsub('-','_')
|
27
28
|
|
28
29
|
# options is a frozen hash by Thor so cannot modify it.
|
29
30
|
# Also had trouble unfreezing it with .dup. So using instance variables instead
|
@@ -2,7 +2,7 @@ default: &default
|
|
2
2
|
adapter: <%= @database == 'mysql' ? 'mysql2' : 'postgresql' %>
|
3
3
|
encoding: <%= @database == 'mysql' ? 'utf8mb4' : 'unicode' %>
|
4
4
|
pool: <%%= ENV["DB_POOL"] || 5 %>
|
5
|
-
database: <%%= ENV['DB_NAME'] || '<%= @
|
5
|
+
database: <%%= ENV['DB_NAME'] || '<%= @database_name %>_development' %>
|
6
6
|
<% if @database == 'mysql' -%>
|
7
7
|
username: <%%= ENV['DB_USER'] || 'root' %>
|
8
8
|
<% else -%>
|
@@ -15,13 +15,13 @@ default: &default
|
|
15
15
|
|
16
16
|
development:
|
17
17
|
<<: *default
|
18
|
-
database: <%%= ENV['DB_NAME'] || '<%= @
|
18
|
+
database: <%%= ENV['DB_NAME'] || '<%= @database_name %>_development' %>
|
19
19
|
|
20
20
|
test:
|
21
21
|
<<: *default
|
22
|
-
database: <%= @
|
22
|
+
database: <%= @database_name %>_test
|
23
23
|
|
24
24
|
production:
|
25
25
|
<<: *default
|
26
|
-
database: <%= @
|
26
|
+
database: <%= @database_name %>_production
|
27
27
|
url: <%%= ENV['DATABASE_URL'] %>
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Jets::Job::Dsl
|
2
2
|
module DynamodbEvent
|
3
3
|
def dynamodb_event(table_name, options={})
|
4
|
+
return if ENV['JETS_BUILD_NO_INTERNET'] # Disable during build since jets build tries to init this
|
5
|
+
|
4
6
|
stream_arn = full_dynamodb_stream_arn(table_name)
|
5
7
|
default_iam_policy = default_dynamodb_stream_policy(stream_arn)
|
6
8
|
|
@@ -35,7 +35,7 @@ module Jets::Lambda
|
|
35
35
|
def build
|
36
36
|
code = IO.read(@code_path)
|
37
37
|
function_klass = Class.new(Jets::Lambda::Function)
|
38
|
-
function_klass.module_eval(code)
|
38
|
+
function_klass.module_eval(code, @code_path)
|
39
39
|
adjust_tasks(function_klass)
|
40
40
|
function_klass # assign this to a Constant for a pretty class name
|
41
41
|
end
|
@@ -6,17 +6,16 @@ module Jets::UrlHelper
|
|
6
6
|
|
7
7
|
# Basic implementation of url_for to allow use helpers without routes existence
|
8
8
|
def url_for(options = nil) # :nodoc:
|
9
|
-
url =
|
10
|
-
when String
|
9
|
+
url = if options.is_a?(String)
|
11
10
|
options
|
12
|
-
|
11
|
+
elsif options == :back
|
13
12
|
_back_url
|
14
|
-
|
13
|
+
elsif options.respond_to?(:to_model)
|
15
14
|
_handle_model(options)
|
16
|
-
|
15
|
+
elsif options.is_a?(Array)
|
17
16
|
_handle_array(options)
|
18
17
|
else
|
19
|
-
raise ArgumentError, "
|
18
|
+
raise ArgumentError, "The Jets link_to helper only supports some types of arguments. Please provided a String or an object that supports ActiveModel to link_to as the the second argument."
|
20
19
|
end
|
21
20
|
|
22
21
|
add_stage_name(url)
|
@@ -40,9 +40,15 @@ module Jets::Resource::ApiGateway
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def domain_name
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
name = Jets.config.domain.name
|
44
|
+
if Jets.config.domain.apex
|
45
|
+
name ||= Jets.config.domain.hosted_zone_name
|
46
|
+
else
|
47
|
+
subdomain = Jets.project_namespace
|
48
|
+
managed_domain_name = "#{subdomain}.#{Jets.config.domain.hosted_zone_name}"
|
49
|
+
name ||= managed_domain_name
|
50
|
+
end
|
51
|
+
|
46
52
|
# Strip trailing period if there is one set accidentally or else get this error
|
47
53
|
# Trailing period should be omitted from domain name (Service: AmazonApiGateway; Status Code: 400; Error Code: BadRequestException
|
48
54
|
name.sub(/\.$/,'')
|
@@ -18,20 +18,48 @@ module Jets::Resource::Route53
|
|
18
18
|
{
|
19
19
|
dns_record: {
|
20
20
|
type: "AWS::Route53::RecordSet",
|
21
|
-
properties:
|
22
|
-
hosted_zone_name: hosted_zone_name,
|
23
|
-
comment: "DNS record managed by Jets",
|
24
|
-
name: name,
|
25
|
-
type: "CNAME",
|
26
|
-
ttl: "60",
|
27
|
-
resource_records: [
|
28
|
-
cname,
|
29
|
-
],
|
30
|
-
}
|
21
|
+
properties: record_set_properties
|
31
22
|
}
|
32
23
|
}
|
33
24
|
end
|
34
25
|
|
26
|
+
def record_set_properties
|
27
|
+
base = {
|
28
|
+
comment: "DNS record managed by Jets",
|
29
|
+
name: name,
|
30
|
+
}
|
31
|
+
hosted_zone_id = Jets.config.domain.hosted_zone_id
|
32
|
+
if hosted_zone_id
|
33
|
+
base[:hosted_zone_id] = hosted_zone_id
|
34
|
+
else
|
35
|
+
base[:hosted_zone_name] = hosted_zone_name
|
36
|
+
end
|
37
|
+
|
38
|
+
if Jets.config.domain.apex
|
39
|
+
base.merge(
|
40
|
+
alias_target: {
|
41
|
+
dns_name: cname,
|
42
|
+
hosted_zone_id: domain_name_hosted_zone,
|
43
|
+
},
|
44
|
+
type: "A",
|
45
|
+
)
|
46
|
+
else
|
47
|
+
base.merge({
|
48
|
+
type: "CNAME",
|
49
|
+
ttl: "60",
|
50
|
+
resource_records: [cname],
|
51
|
+
})
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def domain_name_hosted_zone
|
56
|
+
if endpoint_types.include?("REGIONAL")
|
57
|
+
"!GetAtt DomainName.RegionalHostedZoneId"
|
58
|
+
else
|
59
|
+
"!GetAtt DomainName.DistributionHostedZoneId"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
35
63
|
def cname
|
36
64
|
if endpoint_types.include?("REGIONAL")
|
37
65
|
"!GetAtt DomainName.RegionalDomainName"
|
data/lib/jets/tmp_loader.rb
CHANGED
@@ -8,7 +8,8 @@ module Jets
|
|
8
8
|
|
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 = YAML.load_file(yaml_path)
|
12
13
|
@s3_bucket = @data['s3_bucket']
|
13
14
|
@rack_zip = @data['rack_zip']
|
14
15
|
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: 2.3.
|
4
|
+
version: 2.3.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-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.
|
1104
|
+
rubygems_version: 3.1.2
|
1105
1105
|
signing_key:
|
1106
1106
|
specification_version: 4
|
1107
1107
|
summary: Ruby Serverless Framework
|