jets 1.0.18 → 1.1.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 +4 -0
- data/Gemfile.lock +10 -10
- data/README/testing.md +5 -2
- data/lib/jets.rb +2 -2
- data/lib/jets/application.rb +69 -40
- data/lib/jets/booter.rb +17 -20
- data/lib/jets/builders/code_builder.rb +7 -8
- data/lib/jets/cfn/ship.rb +0 -6
- data/lib/jets/commands/build.rb +0 -5
- data/lib/jets/commands/deploy.rb +0 -4
- data/lib/jets/commands/main.rb +31 -4
- data/lib/jets/commands/templates/skeleton/{.env → .env.tt} +1 -0
- data/lib/jets/commands/templates/skeleton/config.ru +1 -0
- data/lib/jets/commands/upgrade/v1.rb +12 -0
- data/lib/jets/controller.rb +5 -0
- data/lib/jets/controller/base.rb +43 -21
- data/lib/jets/controller/cookies.rb +40 -0
- data/lib/jets/controller/cookies/jar.rb +269 -0
- data/lib/jets/controller/middleware.rb +4 -0
- data/lib/jets/controller/middleware/local.rb +119 -0
- data/lib/jets/{server/lambda_aws_proxy.rb → controller/middleware/local/api_gateway.rb} +11 -49
- data/lib/jets/controller/middleware/local/mimic_aws_call.rb +38 -0
- data/lib/jets/{server → controller/middleware/local}/route_matcher.rb +4 -4
- data/lib/jets/controller/middleware/main.rb +46 -0
- data/lib/jets/{server → controller/middleware}/webpacker_setup.rb +0 -1
- data/lib/jets/controller/params.rb +2 -1
- data/lib/jets/controller/rack.rb +5 -0
- data/lib/jets/controller/rack/adapter.rb +60 -0
- data/lib/jets/controller/rack/env.rb +96 -0
- data/lib/jets/controller/redirection.rb +1 -1
- data/lib/jets/controller/renderers.rb +1 -1
- data/lib/jets/controller/renderers/base_renderer.rb +0 -4
- data/lib/jets/controller/renderers/{aws_proxy_renderer.rb → rack_renderer.rb} +7 -19
- data/lib/jets/controller/renderers/template_renderer.rb +1 -1
- data/lib/jets/controller/request.rb +14 -44
- data/lib/jets/controller/response.rb +55 -7
- data/lib/jets/internal/app/controllers/jets/rack_controller.rb +13 -3
- data/lib/jets/mega.rb +7 -0
- data/lib/jets/{rack → mega}/hash_converter.rb +1 -1
- data/lib/jets/{rack → mega}/request.rb +17 -4
- data/lib/jets/middleware.rb +38 -0
- data/lib/jets/middleware/configurator.rb +84 -0
- data/lib/jets/middleware/default_stack.rb +44 -0
- data/lib/jets/middleware/layer.rb +34 -0
- data/lib/jets/middleware/stack.rb +77 -0
- data/lib/jets/resource/function.rb +1 -1
- data/lib/jets/ruby_server.rb +1 -1
- data/lib/jets/server.rb +48 -13
- data/lib/jets/version.rb +1 -1
- metadata +24 -17
- data/lib/jets/application/middleware.rb +0 -23
- data/lib/jets/default/application.rb +0 -23
- data/lib/jets/rack.rb +0 -7
- data/lib/jets/rack/server.rb +0 -47
- data/lib/jets/server/api_gateway.rb +0 -39
- data/lib/jets/server/timing_middleware.rb +0 -33
- data/lib/jets/timing.rb +0 -65
- data/lib/jets/timing/report.rb +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c16c6b3b6a3226c7512a79011f134db88f544e86944fd96041c43cfa155c949a
|
4
|
+
data.tar.gz: b598ecc601f5edafb12dc8589be0511e9302b0fb16c61a27a27805612554b1c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e590e98ec4f3b6f6b865d678af0bbb519f4c7b41f0ea99b6d607cd948f18dbfba230cadd30a78342b894dc090eb5ac32de191253538f60715e136b7833a675c7
|
7
|
+
data.tar.gz: 371c670262da7a386880b6a467251c39fa846bb016325eb75b0e0a8e630934c3284134d5e8db27c64a8d62af0e06f927ced345c10faa1fdd862f2c7c84a14cb8
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@
|
|
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/), even before v1.0.
|
5
5
|
|
6
|
+
## [1.1.0]
|
7
|
+
- rack compatibility pull request #72 from tongueroo/rack
|
8
|
+
- remove Jets::Timing pull request #73 from tongueroo/rm-timing
|
9
|
+
|
6
10
|
## [1.0.18]
|
7
11
|
- re-raise exception properly after reporting locally
|
8
12
|
|
data/Gemfile.lock
CHANGED
@@ -11,7 +11,7 @@ GIT
|
|
11
11
|
PATH
|
12
12
|
remote: .
|
13
13
|
specs:
|
14
|
-
jets (1.0
|
14
|
+
jets (1.1.0)
|
15
15
|
actionpack (>= 5.2.1)
|
16
16
|
actionview (>= 5.2.1)
|
17
17
|
activerecord (>= 5.2.1)
|
@@ -65,9 +65,9 @@ GEM
|
|
65
65
|
tzinfo (~> 1.1)
|
66
66
|
arel (9.0.0)
|
67
67
|
aws-eventstream (1.0.1)
|
68
|
-
aws-partitions (1.
|
69
|
-
aws-sdk-cloudformation (1.
|
70
|
-
aws-sdk-core (~> 3, >= 3.
|
68
|
+
aws-partitions (1.114.0)
|
69
|
+
aws-sdk-cloudformation (1.12.0)
|
70
|
+
aws-sdk-core (~> 3, >= 3.37.0)
|
71
71
|
aws-sigv4 (~> 1.0)
|
72
72
|
aws-sdk-cloudwatchlogs (1.10.0)
|
73
73
|
aws-sdk-core (~> 3, >= 3.26.0)
|
@@ -83,15 +83,15 @@ GEM
|
|
83
83
|
aws-sdk-kms (1.11.0)
|
84
84
|
aws-sdk-core (~> 3, >= 3.26.0)
|
85
85
|
aws-sigv4 (~> 1.0)
|
86
|
-
aws-sdk-lambda (1.
|
87
|
-
aws-sdk-core (~> 3, >= 3.
|
86
|
+
aws-sdk-lambda (1.14.0)
|
87
|
+
aws-sdk-core (~> 3, >= 3.37.0)
|
88
88
|
aws-sigv4 (~> 1.0)
|
89
|
-
aws-sdk-s3 (1.
|
90
|
-
aws-sdk-core (~> 3, >= 3.
|
89
|
+
aws-sdk-s3 (1.24.1)
|
90
|
+
aws-sdk-core (~> 3, >= 3.37.0)
|
91
91
|
aws-sdk-kms (~> 1)
|
92
92
|
aws-sigv4 (~> 1.0)
|
93
|
-
aws-sdk-sns (1.8.
|
94
|
-
aws-sdk-core (~> 3, >= 3.
|
93
|
+
aws-sdk-sns (1.8.1)
|
94
|
+
aws-sdk-core (~> 3, >= 3.37.0)
|
95
95
|
aws-sigv4 (~> 1.0)
|
96
96
|
aws-sigv4 (1.0.3)
|
97
97
|
builder (3.2.3)
|
data/README/testing.md
CHANGED
@@ -17,7 +17,7 @@ To run the integration tests locally, you need to create a new Jets CRUD project
|
|
17
17
|
jets new demo
|
18
18
|
cd demo
|
19
19
|
jets generate scaffold Post title:string
|
20
|
-
jets server
|
20
|
+
jets server --no-reload
|
21
21
|
|
22
22
|
Then you can run the postman tests:
|
23
23
|
|
@@ -45,4 +45,7 @@ Run the remote integration script:
|
|
45
45
|
Example:
|
46
46
|
|
47
47
|
BASE_URL=https://wb5dcjc09a.execute-api.us-west-2.amazonaws.com/dev spec/integration/remote.sh
|
48
|
-
|
48
|
+
|
49
|
+
## Manual Test
|
50
|
+
|
51
|
+
Test books create, update and delete manually until it's scripted.
|
data/lib/jets.rb
CHANGED
@@ -32,11 +32,12 @@ module Jets
|
|
32
32
|
autoload :Klass, 'jets/klass'
|
33
33
|
autoload :Lambda, 'jets/lambda'
|
34
34
|
autoload :Logger, "jets/logger"
|
35
|
+
autoload :Mega, "jets/mega"
|
36
|
+
autoload :Middleware, "jets/middleware"
|
35
37
|
autoload :Naming, 'jets/naming'
|
36
38
|
autoload :PolyFun, 'jets/poly_fun'
|
37
39
|
autoload :Preheat, "jets/preheat"
|
38
40
|
autoload :Processors, 'jets/processors'
|
39
|
-
autoload :Rack, "jets/rack"
|
40
41
|
autoload :Rdoc, "jets/rdoc"
|
41
42
|
autoload :Resource, "jets/resource"
|
42
43
|
autoload :Route, "jets/route"
|
@@ -45,7 +46,6 @@ module Jets
|
|
45
46
|
autoload :Rule, 'jets/rule'
|
46
47
|
autoload :Server, "jets/server"
|
47
48
|
autoload :Stack, "jets/stack"
|
48
|
-
autoload :Timing, "jets/timing"
|
49
49
|
autoload :Turbine, 'jets/turbine'
|
50
50
|
autoload :Util, "jets/util"
|
51
51
|
|
data/lib/jets/application.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
require "active_support/ordered_options"
|
2
2
|
require "singleton"
|
3
|
+
require "rack"
|
3
4
|
|
4
5
|
class Jets::Application
|
5
6
|
include Singleton
|
6
7
|
extend Memoist
|
7
|
-
|
8
|
-
|
9
|
-
include Middleware
|
8
|
+
autoload :Middleware, "jets/middleware"
|
9
|
+
include Jets::Middleware
|
10
10
|
|
11
11
|
def configure(&block)
|
12
12
|
instance_eval(&block) if block
|
@@ -23,9 +23,30 @@ class Jets::Application
|
|
23
23
|
Jets::Inflections.load!
|
24
24
|
end
|
25
25
|
|
26
|
-
# Default config
|
27
26
|
def config
|
27
|
+
@config ||= ActiveSupport::OrderedOptions.new # dont use memoize since we reset @config later
|
28
|
+
end
|
29
|
+
|
30
|
+
def default_config(project_name=nil)
|
28
31
|
config = ActiveSupport::OrderedOptions.new
|
32
|
+
config.project_name = project_name
|
33
|
+
config.cors = true
|
34
|
+
config.autoload_paths = %w[
|
35
|
+
app/controllers
|
36
|
+
app/models
|
37
|
+
app/jobs
|
38
|
+
app/rules
|
39
|
+
app/helpers
|
40
|
+
app/shared/resources
|
41
|
+
]
|
42
|
+
config.extra_autoload_paths = []
|
43
|
+
|
44
|
+
# function properties defaults
|
45
|
+
config.function = ActiveSupport::OrderedOptions.new
|
46
|
+
config.function.timeout = 30
|
47
|
+
# default memory setting based on:
|
48
|
+
# https://medium.com/epsagon/how-to-make-lambda-faster-memory-performance-benchmark-be6ebc41f0fc
|
49
|
+
config.function.memory_size = 1536
|
29
50
|
|
30
51
|
config.prewarm = ActiveSupport::OrderedOptions.new
|
31
52
|
config.prewarm.enable = true
|
@@ -51,53 +72,37 @@ class Jets::Application
|
|
51
72
|
config.ruby = ActiveSupport::OrderedOptions.new
|
52
73
|
config.ruby.lazy_load = true # also set in config/environments files
|
53
74
|
|
54
|
-
config
|
55
|
-
end
|
56
|
-
memoize :config
|
75
|
+
config.middleware = Jets::Middleware::Configurator.new
|
57
76
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
# internal_autoload_paths are last
|
62
|
-
autoload_paths += internal_autoload_paths
|
63
|
-
ActiveSupport::Dependencies.autoload_paths += autoload_paths
|
64
|
-
end
|
77
|
+
config.session = ActiveSupport::OrderedOptions.new
|
78
|
+
config.session.store = Rack::Session::Cookie # note when accessing it use session[:store] since .store is an OrderedOptions method
|
79
|
+
config.session.options = {}
|
65
80
|
|
66
|
-
|
67
|
-
internal = File.expand_path("../internal", __FILE__)
|
68
|
-
paths = %w[
|
69
|
-
app/controllers
|
70
|
-
app/models
|
71
|
-
app/jobs
|
72
|
-
]
|
73
|
-
paths.map { |path| "#{internal}/#{path}" }
|
74
|
-
end
|
75
|
-
|
76
|
-
def load_configs
|
77
|
-
# The Jets default/application.rb is loaded.
|
78
|
-
load File.expand_path("../default/application.rb", __FILE__)
|
79
|
-
# Then project config/application.rb is loaded.
|
80
|
-
load_app_config
|
81
|
-
load_db_config
|
82
|
-
load_environments_config
|
81
|
+
config
|
83
82
|
end
|
84
83
|
|
85
|
-
# First time loading this might not have all the values. Some values like
|
86
|
-
# project_namespace depend on project_name. Loading the config twice
|
87
|
-
# resolves the chicken and egg problem here.
|
88
84
|
def load_app_config
|
89
|
-
|
90
|
-
#
|
85
|
+
# First time loading will not have all correct values. Some values like
|
86
|
+
# project_namespace depend on project_name. Loading the config twice
|
87
|
+
# resolves the chicken-and-egg problem with config.project_name.
|
88
|
+
# TODO: Improve the way we this is solved.
|
89
|
+
eval_app_config(squash_exception: true) # first time load to capture the config.project_name
|
90
|
+
@config = default_config(config.project_name) # reset config with the captured project_name
|
91
|
+
|
91
92
|
set_dependent_configs! # things like project_namespace that need project_name
|
92
|
-
eval_app_config # twice to fix values that rely on the dependent configs
|
93
93
|
|
94
|
-
|
94
|
+
# Running eval_app_config the second time, hack to solve the chicken-and-egg problem
|
95
|
+
eval_app_config
|
96
|
+
|
97
|
+
set_iam_policy # relies on dependent values, must be called afterwards
|
95
98
|
normalize_env_vars!
|
96
99
|
end
|
97
100
|
|
98
|
-
def eval_app_config
|
101
|
+
def eval_app_config(squash_exception: false)
|
99
102
|
app_config = "#{Jets.root}config/application.rb"
|
100
|
-
load app_config
|
103
|
+
load app_config
|
104
|
+
rescue NoMethodError => e
|
105
|
+
raise(e) unless squash_exception
|
101
106
|
end
|
102
107
|
|
103
108
|
def load_environments_config
|
@@ -108,6 +113,30 @@ class Jets::Application
|
|
108
113
|
end
|
109
114
|
end
|
110
115
|
|
116
|
+
def load_configs
|
117
|
+
load_app_config
|
118
|
+
load_db_config
|
119
|
+
load_environments_config
|
120
|
+
end
|
121
|
+
|
122
|
+
def setup_auto_load_paths
|
123
|
+
autoload_paths = config.autoload_paths + config.extra_autoload_paths
|
124
|
+
autoload_paths = autoload_paths.uniq.map { |p| "#{Jets.root}#{p}" }
|
125
|
+
# internal_autoload_paths are last
|
126
|
+
autoload_paths += internal_autoload_paths
|
127
|
+
ActiveSupport::Dependencies.autoload_paths += autoload_paths
|
128
|
+
end
|
129
|
+
|
130
|
+
def internal_autoload_paths
|
131
|
+
internal = File.expand_path("../internal", __FILE__)
|
132
|
+
paths = %w[
|
133
|
+
app/controllers
|
134
|
+
app/models
|
135
|
+
app/jobs
|
136
|
+
]
|
137
|
+
paths.map { |path| "#{internal}/#{path}" }
|
138
|
+
end
|
139
|
+
|
111
140
|
# Use the shorter name in stack names, but use the full name when it
|
112
141
|
# comes to checking for the env.
|
113
142
|
#
|
data/lib/jets/booter.rb
CHANGED
@@ -4,18 +4,23 @@ class Jets::Booter
|
|
4
4
|
def boot!(options={})
|
5
5
|
return if @booted
|
6
6
|
|
7
|
-
redirect_output
|
8
7
|
confirm_jets_project!
|
9
8
|
require_bundle_gems
|
10
9
|
Jets::Dotenv.load!
|
11
|
-
Jets.application # triggers
|
10
|
+
Jets.application # triggers Application.instance setup # autoload_paths, routes, etc
|
12
11
|
setup_db
|
13
12
|
app_initializers
|
14
13
|
turbine_initializers
|
14
|
+
build_middleware_stack
|
15
15
|
|
16
16
|
@booted = true
|
17
17
|
end
|
18
18
|
|
19
|
+
# Builds and memoize stack so it only gets built on bootup
|
20
|
+
def build_middleware_stack
|
21
|
+
Jets.application.build_stack
|
22
|
+
end
|
23
|
+
|
19
24
|
def turbine_initializers
|
20
25
|
Jets::Turbine.subclasses.each do |subclass|
|
21
26
|
subclass.initializers.each do |label, block|
|
@@ -30,23 +35,6 @@ class Jets::Booter
|
|
30
35
|
end
|
31
36
|
end
|
32
37
|
|
33
|
-
# AWS Lambda for natively supported languages prints to CloudWatch instead of
|
34
|
-
# mungling up the response. We'll redirect stdout to stderr to mimic AWS Lambda
|
35
|
-
# behavior.
|
36
|
-
#
|
37
|
-
# Also, for local use, printing to stdout can mangle up the response when piping
|
38
|
-
# the value to jq. For example:
|
39
|
-
#
|
40
|
-
# `jets call --local .. | jq`
|
41
|
-
#
|
42
|
-
# By redirecting stderr we can use jq safely.
|
43
|
-
#
|
44
|
-
def redirect_output
|
45
|
-
$stdout.sync = true
|
46
|
-
$stderr.sync = true
|
47
|
-
$stdout = $stderr # jets call and local jets operation
|
48
|
-
end
|
49
|
-
|
50
38
|
# require_bundle_gems called when environment boots up via Jets.boot. It
|
51
39
|
# also useful for when to loading Rake tasks in
|
52
40
|
# Jets::Commands::RakeTasks.load!
|
@@ -105,12 +93,21 @@ class Jets::Booter
|
|
105
93
|
def confirm_jets_project!
|
106
94
|
unless File.exist?("#{Jets.root}config/application.rb")
|
107
95
|
puts "It does not look like you are running this command within a jets project. Please confirm that you are in a jets project and try again.".colorize(:red)
|
108
|
-
exit
|
96
|
+
exit 1
|
109
97
|
end
|
110
98
|
end
|
111
99
|
|
112
100
|
def message
|
113
101
|
"Jets booting up in #{Jets.env.colorize(:green)} mode!"
|
114
102
|
end
|
103
|
+
|
104
|
+
def check_config_ru!
|
105
|
+
config_ru = File.read("#{Jets.root}config.ru")
|
106
|
+
unless config_ru.include?("Jets.boot")
|
107
|
+
puts 'The config.ru file is missing Jets.boot. Please add Jets.boot after require "jets"'.colorize(:red)
|
108
|
+
puts "This was changed as made in Jets v1.1.0"
|
109
|
+
exit 1
|
110
|
+
end
|
111
|
+
end
|
115
112
|
end
|
116
113
|
end
|
@@ -53,7 +53,6 @@ class Jets::Builders
|
|
53
53
|
# https://docs.aws.amazon.com/lambda/latest/dg/limits.html
|
54
54
|
AWS_CODE_SIZE_LIMIT = 250 * 1024 * 1024 # 250MB
|
55
55
|
|
56
|
-
include Jets::Timing
|
57
56
|
include Jets::AwsServices
|
58
57
|
include Util
|
59
58
|
extend Memoist
|
@@ -80,7 +79,6 @@ class Jets::Builders
|
|
80
79
|
code_finish
|
81
80
|
end
|
82
81
|
end
|
83
|
-
time :build
|
84
82
|
|
85
83
|
# Resolves the chicken-and-egg problem with md5 checksums. The handlers need
|
86
84
|
# to reference files with the md5 checksum. The files are the:
|
@@ -113,7 +111,6 @@ class Jets::Builders
|
|
113
111
|
end
|
114
112
|
end
|
115
113
|
end
|
116
|
-
time :create_zip_files
|
117
114
|
|
118
115
|
def exist_on_s3?(filename)
|
119
116
|
s3_key = "jets/code/#{filename}"
|
@@ -163,17 +160,16 @@ class Jets::Builders
|
|
163
160
|
def code_setup
|
164
161
|
reconfigure_development_webpacker
|
165
162
|
end
|
166
|
-
time :code_setup
|
167
163
|
|
168
164
|
def code_finish
|
169
165
|
update_lazy_load_config # at the top, must be called before Jets.lazy_load? is used
|
170
166
|
store_s3_base_url
|
167
|
+
disable_webpacker_middleware
|
171
168
|
setup_tmp
|
172
169
|
calculate_md5s # must be called before generate_node_shims and create_zip_files
|
173
170
|
generate_node_shims
|
174
171
|
create_zip_files
|
175
172
|
end
|
176
|
-
time :code_finish
|
177
173
|
|
178
174
|
def update_lazy_load_config
|
179
175
|
size_limit = AWS_CODE_SIZE_LIMIT
|
@@ -231,6 +227,12 @@ class Jets::Builders
|
|
231
227
|
Jets.aws.s3_bucket
|
232
228
|
end
|
233
229
|
|
230
|
+
def disable_webpacker_middleware
|
231
|
+
full_path = "#{full(tmp_code)}/config/disable-webpacker-middleware.txt"
|
232
|
+
FileUtils.mkdir_p(File.dirname(full_path))
|
233
|
+
FileUtils.touch(full_path)
|
234
|
+
end
|
235
|
+
|
234
236
|
# This happens in the current app directory not the tmp code for simplicity.
|
235
237
|
# This is because the node and yarn has likely been set up correctly there.
|
236
238
|
def compile_assets
|
@@ -250,7 +252,6 @@ class Jets::Builders
|
|
250
252
|
`which webpack`.strip
|
251
253
|
sh("JETS_ENV=#{Jets.env} #{webpack_command}")
|
252
254
|
end
|
253
|
-
time :compile_assets
|
254
255
|
|
255
256
|
# This happens in the current app directory not the tmp code for simplicity
|
256
257
|
# This is because the node likely been set up correctly there.
|
@@ -311,7 +312,6 @@ class Jets::Builders
|
|
311
312
|
move_node_modules(Jets.build_root, Jets.root) # move node_modules directory back
|
312
313
|
end
|
313
314
|
end
|
314
|
-
time :copy_project
|
315
315
|
|
316
316
|
# Move the node modules to the tmp build folder to speed up project copying.
|
317
317
|
# A little bit risky because a ctrl-c in the middle of the project copying
|
@@ -360,7 +360,6 @@ class Jets::Builders
|
|
360
360
|
ruby_packager.finish
|
361
361
|
rack_packager.finish
|
362
362
|
end
|
363
|
-
time :package_ruby
|
364
363
|
|
365
364
|
# TODO: Move logic into plugin instead
|
366
365
|
def reconfigure_rails
|
data/lib/jets/cfn/ship.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
class Jets::Cfn
|
2
2
|
class Ship
|
3
|
-
include Jets::Timing
|
4
3
|
include Jets::AwsServices
|
5
4
|
|
6
5
|
def initialize(options)
|
@@ -35,7 +34,6 @@ class Jets::Cfn
|
|
35
34
|
prewarm
|
36
35
|
show_api_endpoint
|
37
36
|
end
|
38
|
-
time :run
|
39
37
|
|
40
38
|
def save_stack
|
41
39
|
if stack_exists?(@parent_stack_name)
|
@@ -49,7 +47,6 @@ class Jets::Cfn
|
|
49
47
|
# parent stack template is on filesystem and child stacks templates is on s3
|
50
48
|
cfn.create_stack(stack_options)
|
51
49
|
end
|
52
|
-
time :create_stack
|
53
50
|
|
54
51
|
def update_stack
|
55
52
|
begin
|
@@ -59,7 +56,6 @@ class Jets::Cfn
|
|
59
56
|
true # error
|
60
57
|
end
|
61
58
|
end
|
62
|
-
time :update_stack
|
63
59
|
|
64
60
|
# options common to both create_stack and update_stack
|
65
61
|
def stack_options
|
@@ -75,7 +71,6 @@ class Jets::Cfn
|
|
75
71
|
def wait_for_stack
|
76
72
|
Jets::Cfn::Status.new(@options).wait
|
77
73
|
end
|
78
|
-
time :wait_for_stack
|
79
74
|
|
80
75
|
def prewarm
|
81
76
|
if ENV['SKIP_PREWARMING']
|
@@ -147,6 +142,5 @@ class Jets::Cfn
|
|
147
142
|
uploader = Upload.new(@options[:s3_bucket])
|
148
143
|
uploader.upload
|
149
144
|
end
|
150
|
-
time :upload_to_s3
|
151
145
|
end
|
152
146
|
end
|