jets 2.3.11 → 2.3.12
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=
|
7
|
+
![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZ08vK2hjOHczQUVoUDhSYnBNNUU4T0gxQWJuOTlLaXpwVGQ1NjJ3NnVDY1dSdFVXQ3d2VXVSQzRFcU1qd1JPMndFZlByRktIcTUrZm5GWlM5dHpjM1ZrPSIsIml2UGFyYW1ldGVyU3BlYyI6Imluc1Qrd25GanhUdHlidjUiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)
|
8
8
|
[![CircleCI](https://circleci.com/gh/tongueroo/jets.svg?style=svg)](https://circleci.com/gh/tongueroo/jets)
|
9
9
|
[![Gem Version](https://badge.fury.io/rb/jets.svg)](https://badge.fury.io/rb/jets)
|
10
10
|
[![Support](https://img.shields.io/badge/Support-Help-blue.svg)](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
|