jets-fs 1.6.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (379) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/bin/commit_docs.sh +26 -0
  3. data/.circleci/config.yml +126 -0
  4. data/.codebuild/README.md +68 -0
  5. data/.codebuild/bin/jets +3 -0
  6. data/.codebuild/buildspec-base.yml +14 -0
  7. data/.codebuild/integration.sh +72 -0
  8. data/.codebuild/jets.postman_collection.json +323 -0
  9. data/.codebuild/scripts/install-docker.sh +12 -0
  10. data/.codebuild/scripts/install-dynamodb-local.sh +22 -0
  11. data/.codebuild/scripts/install-java.sh +22 -0
  12. data/.codebuild/scripts/install-node.sh +4 -0
  13. data/.github/ISSUE_TEMPLATE.md +7 -0
  14. data/.github/ISSUE_TEMPLATE/bug_report.md +73 -0
  15. data/.github/ISSUE_TEMPLATE/documentation.md +27 -0
  16. data/.github/ISSUE_TEMPLATE/feature_request.md +64 -0
  17. data/.github/ISSUE_TEMPLATE/question.md +16 -0
  18. data/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  19. data/.gitignore +24 -0
  20. data/.gitmodules +6 -0
  21. data/.python-version +1 -0
  22. data/.rspec +4 -0
  23. data/.ruby-version +1 -0
  24. data/CHANGELOG.md +533 -0
  25. data/Dockerfile +16 -0
  26. data/Dockerfile.base +53 -0
  27. data/Gemfile +14 -0
  28. data/Gemfile.lock +190 -0
  29. data/Guardfile +22 -0
  30. data/LICENSE.txt +22 -0
  31. data/Procfile +2 -0
  32. data/README.md +203 -0
  33. data/Rakefile +21 -0
  34. data/backers.md +16 -0
  35. data/bin/release +9 -0
  36. data/buildspec.yml +18 -0
  37. data/exe/jets +14 -0
  38. data/jets.gemspec +61 -0
  39. data/lib/jets.rb +71 -0
  40. data/lib/jets/application.rb +308 -0
  41. data/lib/jets/aws_info.rb +111 -0
  42. data/lib/jets/aws_services.rb +60 -0
  43. data/lib/jets/aws_services/stack_status.rb +59 -0
  44. data/lib/jets/booter.rb +130 -0
  45. data/lib/jets/builders.rb +16 -0
  46. data/lib/jets/builders/code_builder.rb +379 -0
  47. data/lib/jets/builders/code_size.rb +57 -0
  48. data/lib/jets/builders/gem_replacer.rb +76 -0
  49. data/lib/jets/builders/handler_generator.rb +172 -0
  50. data/lib/jets/builders/lambda_layer.rb +69 -0
  51. data/lib/jets/builders/md5.rb +60 -0
  52. data/lib/jets/builders/md5_zip.rb +61 -0
  53. data/lib/jets/builders/purger.rb +35 -0
  54. data/lib/jets/builders/rack_packager.rb +51 -0
  55. data/lib/jets/builders/rackup_wrappers/rackup +19 -0
  56. data/lib/jets/builders/rackup_wrappers/rackup.rb +7 -0
  57. data/lib/jets/builders/reconfigure_rails.rb +114 -0
  58. data/lib/jets/builders/reconfigure_rails/config/initializers/jets.rb +16 -0
  59. data/lib/jets/builders/ruby_packager.rb +207 -0
  60. data/lib/jets/builders/shim_vars.rb +5 -0
  61. data/lib/jets/builders/shim_vars/app.rb +78 -0
  62. data/lib/jets/builders/shim_vars/base.rb +25 -0
  63. data/lib/jets/builders/shim_vars/shared.rb +37 -0
  64. data/lib/jets/builders/templates/handler.rb +12 -0
  65. data/lib/jets/builders/tidy.rb +107 -0
  66. data/lib/jets/builders/util.rb +31 -0
  67. data/lib/jets/camelizer.rb +67 -0
  68. data/lib/jets/cfn.rb +6 -0
  69. data/lib/jets/cfn/builders.rb +20 -0
  70. data/lib/jets/cfn/builders/api_deployment_builder.rb +58 -0
  71. data/lib/jets/cfn/builders/api_gateway_builder.rb +80 -0
  72. data/lib/jets/cfn/builders/base_child_builder.rb +82 -0
  73. data/lib/jets/cfn/builders/controller_builder.rb +42 -0
  74. data/lib/jets/cfn/builders/function_builder.rb +14 -0
  75. data/lib/jets/cfn/builders/interface.rb +127 -0
  76. data/lib/jets/cfn/builders/job_builder.rb +14 -0
  77. data/lib/jets/cfn/builders/parent_builder.rb +93 -0
  78. data/lib/jets/cfn/builders/rule_builder.rb +24 -0
  79. data/lib/jets/cfn/builders/shared_builder.rb +14 -0
  80. data/lib/jets/cfn/ship.rb +189 -0
  81. data/lib/jets/cfn/status.rb +212 -0
  82. data/lib/jets/cfn/upload.rb +139 -0
  83. data/lib/jets/cli.rb +189 -0
  84. data/lib/jets/commands.rb +27 -0
  85. data/lib/jets/commands/base.rb +164 -0
  86. data/lib/jets/commands/build.rb +217 -0
  87. data/lib/jets/commands/call.rb +174 -0
  88. data/lib/jets/commands/call/anonymous_guesser.rb +96 -0
  89. data/lib/jets/commands/call/autoload_guesser.rb +112 -0
  90. data/lib/jets/commands/call/base_guesser.rb +33 -0
  91. data/lib/jets/commands/call/guesser.rb +48 -0
  92. data/lib/jets/commands/clean.rb +23 -0
  93. data/lib/jets/commands/clean/base.rb +24 -0
  94. data/lib/jets/commands/clean/build.rb +13 -0
  95. data/lib/jets/commands/clean/log.rb +107 -0
  96. data/lib/jets/commands/console.rb +13 -0
  97. data/lib/jets/commands/db.rb +15 -0
  98. data/lib/jets/commands/db/environment-task.rake +3 -0
  99. data/lib/jets/commands/db/tasks.rb +44 -0
  100. data/lib/jets/commands/dbconsole.rb +131 -0
  101. data/lib/jets/commands/delete.rb +143 -0
  102. data/lib/jets/commands/deploy.rb +131 -0
  103. data/lib/jets/commands/dynamodb.rb +22 -0
  104. data/lib/jets/commands/dynamodb/migrate.rb +9 -0
  105. data/lib/jets/commands/dynamodb/migrator.rb +36 -0
  106. data/lib/jets/commands/gems.rb +21 -0
  107. data/lib/jets/commands/help.rb +9 -0
  108. data/lib/jets/commands/help/build.md +6 -0
  109. data/lib/jets/commands/help/call.md +61 -0
  110. data/lib/jets/commands/help/clean/build.md +5 -0
  111. data/lib/jets/commands/help/clean/log.md +5 -0
  112. data/lib/jets/commands/help/console.md +18 -0
  113. data/lib/jets/commands/help/db/generate.md +8 -0
  114. data/lib/jets/commands/help/dbconsole.md +9 -0
  115. data/lib/jets/commands/help/delete.md +22 -0
  116. data/lib/jets/commands/help/deploy.md +32 -0
  117. data/lib/jets/commands/help/dynamodb/generate.md +52 -0
  118. data/lib/jets/commands/help/dynamodb/migrate.md +4 -0
  119. data/lib/jets/commands/help/gems/check.md +8 -0
  120. data/lib/jets/commands/help/generate.md +22 -0
  121. data/lib/jets/commands/help/import/rack.md +13 -0
  122. data/lib/jets/commands/help/import/rails.md +11 -0
  123. data/lib/jets/commands/help/new.md +42 -0
  124. data/lib/jets/commands/help/routes.md +16 -0
  125. data/lib/jets/commands/help/runner.md +17 -0
  126. data/lib/jets/commands/help/server.md +15 -0
  127. data/lib/jets/commands/help/status.md +14 -0
  128. data/lib/jets/commands/help/upgrade.md +5 -0
  129. data/lib/jets/commands/help/url.md +6 -0
  130. data/lib/jets/commands/import.rb +18 -0
  131. data/lib/jets/commands/import/base.rb +49 -0
  132. data/lib/jets/commands/import/cheatsheet.rb +35 -0
  133. data/lib/jets/commands/import/rack.rb +16 -0
  134. data/lib/jets/commands/import/rail.rb +74 -0
  135. data/lib/jets/commands/import/sequence.rb +90 -0
  136. data/lib/jets/commands/import/templates/config/database.yml +26 -0
  137. data/lib/jets/commands/import/templates/submodules-cheatsheet.md +89 -0
  138. data/lib/jets/commands/main.rb +152 -0
  139. data/lib/jets/commands/markdown.rb +8 -0
  140. data/lib/jets/commands/markdown/creator.rb +58 -0
  141. data/lib/jets/commands/markdown/index.rb +27 -0
  142. data/lib/jets/commands/markdown/page.rb +125 -0
  143. data/lib/jets/commands/markdown/shell.rb +11 -0
  144. data/lib/jets/commands/new.rb +157 -0
  145. data/lib/jets/commands/rake_command.rb +61 -0
  146. data/lib/jets/commands/rake_tasks.rb +45 -0
  147. data/lib/jets/commands/runner.rb +18 -0
  148. data/lib/jets/commands/sequence.rb +99 -0
  149. data/lib/jets/commands/stack_info.rb +30 -0
  150. data/lib/jets/commands/templates/skeleton/.gitignore +12 -0
  151. data/lib/jets/commands/templates/skeleton/.jetskeep +1 -0
  152. data/lib/jets/commands/templates/skeleton/.rspec +3 -0
  153. data/lib/jets/commands/templates/skeleton/Gemfile.tt +35 -0
  154. data/lib/jets/commands/templates/skeleton/Procfile +7 -0
  155. data/lib/jets/commands/templates/skeleton/README.md +11 -0
  156. data/lib/jets/commands/templates/skeleton/Rakefile +2 -0
  157. data/lib/jets/commands/templates/skeleton/app/controllers/application_controller.rb +2 -0
  158. data/lib/jets/commands/templates/skeleton/app/helpers/application_helper.rb +2 -0
  159. data/lib/jets/commands/templates/skeleton/app/jobs/application_job.rb +4 -0
  160. data/lib/jets/commands/templates/skeleton/app/models/application_item.rb +2 -0
  161. data/lib/jets/commands/templates/skeleton/app/models/application_record.rb +3 -0
  162. data/lib/jets/commands/templates/skeleton/app/views/layouts/application.html.erb.tt +25 -0
  163. data/lib/jets/commands/templates/skeleton/config.ru +5 -0
  164. data/lib/jets/commands/templates/skeleton/config/application.rb.tt +66 -0
  165. data/lib/jets/commands/templates/skeleton/config/database.yml.tt +26 -0
  166. data/lib/jets/commands/templates/skeleton/config/dynamodb.yml +22 -0
  167. data/lib/jets/commands/templates/skeleton/config/environments/development.rb +4 -0
  168. data/lib/jets/commands/templates/skeleton/config/environments/production.rb +4 -0
  169. data/lib/jets/commands/templates/skeleton/config/routes.rb +9 -0
  170. data/lib/jets/commands/templates/skeleton/db/.gitkeep +0 -0
  171. data/lib/jets/commands/templates/skeleton/public/404.html +67 -0
  172. data/lib/jets/commands/templates/skeleton/public/422.html +67 -0
  173. data/lib/jets/commands/templates/skeleton/public/500.html +66 -0
  174. data/lib/jets/commands/templates/skeleton/public/favicon.ico +0 -0
  175. data/lib/jets/commands/templates/skeleton/public/index.html.tt +91 -0
  176. data/lib/jets/commands/templates/skeleton/spec/controllers/posts_controller_spec.rb +15 -0
  177. data/lib/jets/commands/templates/skeleton/spec/fixtures/payloads/posts-index.json +51 -0
  178. data/lib/jets/commands/templates/skeleton/spec/fixtures/payloads/posts-show.json +53 -0
  179. data/lib/jets/commands/templates/skeleton/spec/spec_helper.rb.tt +30 -0
  180. data/lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt +14 -0
  181. data/lib/jets/commands/templates/webpacker/app/javascript/packs/theme.scss.tt +24 -0
  182. data/lib/jets/commands/templates/webpacker/app/javascript/src/jets/crud.js +87 -0
  183. data/lib/jets/commands/upgrade.rb +146 -0
  184. data/lib/jets/commands/upgrade/templates/bin/webpack +19 -0
  185. data/lib/jets/commands/upgrade/templates/bin/webpack-dev-server +19 -0
  186. data/lib/jets/commands/url.rb +68 -0
  187. data/lib/jets/commands/webpacker_template.rb +18 -0
  188. data/lib/jets/controller.rb +16 -0
  189. data/lib/jets/controller/base.rb +103 -0
  190. data/lib/jets/controller/callbacks.rb +62 -0
  191. data/lib/jets/controller/cookies.rb +40 -0
  192. data/lib/jets/controller/cookies/jar.rb +269 -0
  193. data/lib/jets/controller/layout.rb +17 -0
  194. data/lib/jets/controller/middleware.rb +5 -0
  195. data/lib/jets/controller/middleware/cors.rb +60 -0
  196. data/lib/jets/controller/middleware/local.rb +119 -0
  197. data/lib/jets/controller/middleware/local/api_gateway.rb +93 -0
  198. data/lib/jets/controller/middleware/local/mimic_aws_call.rb +38 -0
  199. data/lib/jets/controller/middleware/local/route_matcher.rb +97 -0
  200. data/lib/jets/controller/middleware/main.rb +46 -0
  201. data/lib/jets/controller/middleware/webpacker_setup.rb +6 -0
  202. data/lib/jets/controller/params.rb +87 -0
  203. data/lib/jets/controller/rack.rb +5 -0
  204. data/lib/jets/controller/rack/adapter.rb +63 -0
  205. data/lib/jets/controller/rack/env.rb +105 -0
  206. data/lib/jets/controller/redirection.rb +55 -0
  207. data/lib/jets/controller/rendering.rb +84 -0
  208. data/lib/jets/controller/rendering/rack_renderer.rb +238 -0
  209. data/lib/jets/controller/request.rb +29 -0
  210. data/lib/jets/controller/response.rb +61 -0
  211. data/lib/jets/core.rb +211 -0
  212. data/lib/jets/core_ext/kernel.rb +56 -0
  213. data/lib/jets/db.rb +15 -0
  214. data/lib/jets/dotenv.rb +39 -0
  215. data/lib/jets/erb.rb +51 -0
  216. data/lib/jets/generator.rb +41 -0
  217. data/lib/jets/generator/templates/erb/controller/view.html.erb +2 -0
  218. data/lib/jets/generator/templates/erb/scaffold/_form.html.erb +39 -0
  219. data/lib/jets/generator/templates/erb/scaffold/edit.html.erb +6 -0
  220. data/lib/jets/generator/templates/erb/scaffold/index.html.erb +29 -0
  221. data/lib/jets/generator/templates/erb/scaffold/new.html.erb +5 -0
  222. data/lib/jets/generator/templates/erb/scaffold/show.html.erb +9 -0
  223. data/lib/jets/generator/templates/rails/assets/javascript.js +2 -0
  224. data/lib/jets/generator/templates/rails/assets/stylesheet.css +4 -0
  225. data/lib/jets/generator/templates/rails/controller/controller.rb +13 -0
  226. data/lib/jets/generator/templates/rails/helper/helper.rb +4 -0
  227. data/lib/jets/generator/templates/rails/scaffold/scaffold.css +80 -0
  228. data/lib/jets/generator/templates/rails/scaffold_controller/api_controller.rb +62 -0
  229. data/lib/jets/generator/templates/rails/scaffold_controller/controller.rb +79 -0
  230. data/lib/jets/inflections.rb +32 -0
  231. data/lib/jets/internal/app/controllers/jets/public_controller.rb +31 -0
  232. data/lib/jets/internal/app/controllers/jets/rack_controller.rb +25 -0
  233. data/lib/jets/internal/app/functions/jets/base_path.rb +153 -0
  234. data/lib/jets/internal/app/jobs/jets/preheat_job.rb +62 -0
  235. data/lib/jets/io.rb +14 -0
  236. data/lib/jets/job.rb +4 -0
  237. data/lib/jets/job/base.rb +29 -0
  238. data/lib/jets/job/dsl.rb +108 -0
  239. data/lib/jets/klass.rb +109 -0
  240. data/lib/jets/lambda.rb +18 -0
  241. data/lib/jets/lambda/dsl.rb +384 -0
  242. data/lib/jets/lambda/function.rb +29 -0
  243. data/lib/jets/lambda/function_constructor.rb +55 -0
  244. data/lib/jets/lambda/functions.rb +34 -0
  245. data/lib/jets/lambda/task.rb +111 -0
  246. data/lib/jets/logger.rb +24 -0
  247. data/lib/jets/mega.rb +7 -0
  248. data/lib/jets/mega/hash_converter.rb +25 -0
  249. data/lib/jets/mega/request.rb +140 -0
  250. data/lib/jets/mega/request/source.rb +21 -0
  251. data/lib/jets/middleware.rb +38 -0
  252. data/lib/jets/middleware/configurator.rb +84 -0
  253. data/lib/jets/middleware/default_stack.rb +49 -0
  254. data/lib/jets/middleware/layer.rb +34 -0
  255. data/lib/jets/middleware/stack.rb +77 -0
  256. data/lib/jets/naming.rb +49 -0
  257. data/lib/jets/overrides/lambda.rb +1 -0
  258. data/lib/jets/overrides/lambda/marshaller.rb +31 -0
  259. data/lib/jets/overrides/rails.rb +4 -0
  260. data/lib/jets/overrides/rails/asset_tag_helper.rb +114 -0
  261. data/lib/jets/overrides/rails/common_methods.rb +20 -0
  262. data/lib/jets/overrides/rails/rendering_helper.rb +26 -0
  263. data/lib/jets/overrides/rails/url_helper.rb +25 -0
  264. data/lib/jets/poly_fun.rb +82 -0
  265. data/lib/jets/poly_fun/base_executor.rb +125 -0
  266. data/lib/jets/poly_fun/lambda_executor.rb +16 -0
  267. data/lib/jets/poly_fun/node_error.rb +8 -0
  268. data/lib/jets/poly_fun/node_executor.rb +54 -0
  269. data/lib/jets/poly_fun/python_error.rb +8 -0
  270. data/lib/jets/poly_fun/python_executor.rb +23 -0
  271. data/lib/jets/preheat.rb +117 -0
  272. data/lib/jets/processors.rb +4 -0
  273. data/lib/jets/processors/deducer.rb +65 -0
  274. data/lib/jets/processors/main_processor.rb +59 -0
  275. data/lib/jets/rack_server.rb +80 -0
  276. data/lib/jets/rdoc.rb +30 -0
  277. data/lib/jets/resource.rb +74 -0
  278. data/lib/jets/resource/api_gateway.rb +9 -0
  279. data/lib/jets/resource/api_gateway/base_path.rb +5 -0
  280. data/lib/jets/resource/api_gateway/base_path/function.rb +42 -0
  281. data/lib/jets/resource/api_gateway/base_path/mapping.rb +44 -0
  282. data/lib/jets/resource/api_gateway/base_path/role.rb +76 -0
  283. data/lib/jets/resource/api_gateway/cors.rb +61 -0
  284. data/lib/jets/resource/api_gateway/deployment.rb +78 -0
  285. data/lib/jets/resource/api_gateway/domain_name.rb +59 -0
  286. data/lib/jets/resource/api_gateway/method.rb +98 -0
  287. data/lib/jets/resource/api_gateway/resource.rb +78 -0
  288. data/lib/jets/resource/api_gateway/rest_api.rb +60 -0
  289. data/lib/jets/resource/api_gateway/rest_api/change_detection.rb +42 -0
  290. data/lib/jets/resource/api_gateway/rest_api/logical_id.rb +63 -0
  291. data/lib/jets/resource/api_gateway/rest_api/routes.rb +11 -0
  292. data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +12 -0
  293. data/lib/jets/resource/api_gateway/rest_api/routes/change/base.rb +130 -0
  294. data/lib/jets/resource/api_gateway/rest_api/routes/change/to.rb +29 -0
  295. data/lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb +39 -0
  296. data/lib/jets/resource/api_gateway/rest_api/routes/collision.rb +123 -0
  297. data/lib/jets/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +7 -0
  298. data/lib/jets/resource/associated.rb +26 -0
  299. data/lib/jets/resource/base.rb +28 -0
  300. data/lib/jets/resource/child_stack.rb +7 -0
  301. data/lib/jets/resource/child_stack/api_deployment.rb +56 -0
  302. data/lib/jets/resource/child_stack/api_gateway.rb +29 -0
  303. data/lib/jets/resource/child_stack/app_class.rb +112 -0
  304. data/lib/jets/resource/child_stack/base.rb +24 -0
  305. data/lib/jets/resource/child_stack/shared.rb +90 -0
  306. data/lib/jets/resource/config.rb +4 -0
  307. data/lib/jets/resource/config/config_rule.rb +74 -0
  308. data/lib/jets/resource/config/managed_rule.rb +15 -0
  309. data/lib/jets/resource/events.rb +3 -0
  310. data/lib/jets/resource/events/rule.rb +31 -0
  311. data/lib/jets/resource/iam.rb +8 -0
  312. data/lib/jets/resource/iam/application_role.rb +27 -0
  313. data/lib/jets/resource/iam/base_role_definition.rb +47 -0
  314. data/lib/jets/resource/iam/class_role.rb +74 -0
  315. data/lib/jets/resource/iam/function_role.rb +54 -0
  316. data/lib/jets/resource/iam/managed_policy.rb +22 -0
  317. data/lib/jets/resource/iam/policy_document.rb +41 -0
  318. data/lib/jets/resource/lambda.rb +5 -0
  319. data/lib/jets/resource/lambda/function.rb +216 -0
  320. data/lib/jets/resource/lambda/function/environment.rb +61 -0
  321. data/lib/jets/resource/lambda/gem_layer.rb +17 -0
  322. data/lib/jets/resource/lambda/layer_version.rb +44 -0
  323. data/lib/jets/resource/permission.rb +45 -0
  324. data/lib/jets/resource/replacer.rb +77 -0
  325. data/lib/jets/resource/route53.rb +3 -0
  326. data/lib/jets/resource/route53/record_set.rb +70 -0
  327. data/lib/jets/resource/s3.rb +17 -0
  328. data/lib/jets/resource/sns.rb +3 -0
  329. data/lib/jets/resource/sqs.rb +3 -0
  330. data/lib/jets/resource/standardizer.rb +42 -0
  331. data/lib/jets/route.rb +166 -0
  332. data/lib/jets/router.rb +175 -0
  333. data/lib/jets/router/scope.rb +30 -0
  334. data/lib/jets/rule.rb +4 -0
  335. data/lib/jets/rule/base.rb +19 -0
  336. data/lib/jets/rule/dsl.rb +110 -0
  337. data/lib/jets/spec_helpers.rb +52 -0
  338. data/lib/jets/spec_helpers/params.rb +10 -0
  339. data/lib/jets/spec_helpers/request.rb +98 -0
  340. data/lib/jets/spec_helpers/response.rb +5 -0
  341. data/lib/jets/stack.rb +103 -0
  342. data/lib/jets/stack/builder.rb +38 -0
  343. data/lib/jets/stack/definition.rb +50 -0
  344. data/lib/jets/stack/function.rb +60 -0
  345. data/lib/jets/stack/main.rb +5 -0
  346. data/lib/jets/stack/main/dsl.rb +33 -0
  347. data/lib/jets/stack/main/extensions/base.rb +45 -0
  348. data/lib/jets/stack/main/extensions/cloudwatch.rb +19 -0
  349. data/lib/jets/stack/main/extensions/lambda.rb +71 -0
  350. data/lib/jets/stack/main/extensions/sns.rb +12 -0
  351. data/lib/jets/stack/main/extensions/sqs.rb +36 -0
  352. data/lib/jets/stack/output.rb +38 -0
  353. data/lib/jets/stack/output/dsl.rb +19 -0
  354. data/lib/jets/stack/output/lookup.rb +36 -0
  355. data/lib/jets/stack/parameter.rb +38 -0
  356. data/lib/jets/stack/parameter/dsl.rb +42 -0
  357. data/lib/jets/stack/resource.rb +32 -0
  358. data/lib/jets/stack/resource/dsl.rb +19 -0
  359. data/lib/jets/tmp_loader.rb +52 -0
  360. data/lib/jets/turbine.rb +30 -0
  361. data/lib/jets/turbo.rb +47 -0
  362. data/lib/jets/turbo/database_yaml.rb +41 -0
  363. data/lib/jets/turbo/project/.gitignore +12 -0
  364. data/lib/jets/turbo/project/.jetskeep +1 -0
  365. data/lib/jets/turbo/project/Gemfile +16 -0
  366. data/lib/jets/turbo/project/Rakefile +2 -0
  367. data/lib/jets/turbo/project/app/controllers/application_controller.rb +2 -0
  368. data/lib/jets/turbo/project/app/helpers/application_helper.rb +2 -0
  369. data/lib/jets/turbo/project/app/jobs/application_job.rb +4 -0
  370. data/lib/jets/turbo/project/config.ru +5 -0
  371. data/lib/jets/turbo/project/config/application.rb +4 -0
  372. data/lib/jets/turbo/project/config/routes.rb +4 -0
  373. data/lib/jets/turbo/rail.rb +113 -0
  374. data/lib/jets/turbo/templates/config/database.yml +26 -0
  375. data/lib/jets/util.rb +38 -0
  376. data/lib/jets/version.rb +3 -0
  377. data/readme/prerelease.md +6 -0
  378. data/readme/testing.md +60 -0
  379. metadata +859 -0
@@ -0,0 +1,12 @@
1
+ #!/bin/bash -eux
2
+
3
+ # docker client
4
+ # https://docs.docker.com/install/linux/docker-ce/debian/#install-using-the-convenience-script
5
+ # Install docker client because we're going to use docker to
6
+ curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
7
+
8
+ # docker-compose
9
+ # to find latest releases:
10
+ # https://github.com/docker/compose/releases
11
+ curl -s -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
12
+ chmod +x /usr/local/bin/docker-compose
@@ -0,0 +1,22 @@
1
+ #!/bin/bash -eux
2
+
3
+ mkdir -p /usr/local/dynamodb_local
4
+ curl -s https://s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.tar.gz -o /usr/local/dynamodb_local/dynamodb_local_latest.tar.gz
5
+ cd /usr/local/dynamodb_local
6
+ tar zxf dynamodb_local_latest.tar.gz
7
+
8
+ cat > /usr/local/bin/dynamodb-local <<EOL
9
+ #!/bin/bash
10
+
11
+ # for dynamodb-local and dynamodb-admin
12
+ # More details: https://github.com/tongueroo/jets/wiki/Dynamodb-Local-Setup-Walkthrough
13
+ export AWS_SECRET_ACCESS_KEY=fakekey
14
+ export AWS_ACCESS_KEY_ID=fakeid
15
+
16
+ # Based on: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/dynamodb-local.rb
17
+ # I manually extracted out the dynamodb local tar to /opt/dynamodb_local
18
+ cd /usr/local/dynamodb_local
19
+
20
+ exec java -Djava.library.path='./DynamoDBLocal_lib' -jar 'DynamoDBLocal.jar' "$@" 2>&1 &
21
+ EOL
22
+ chmod a+x /usr/local/bin/dynamodb-local
@@ -0,0 +1,22 @@
1
+ #!/bin/bash -exu
2
+
3
+ # https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-debian-8
4
+ apt-get update
5
+ apt-get install default-jre -y
6
+
7
+ # to make java 1.8 by default if you keep java-1.7.0. We dont need to do this:
8
+ # update-alternatives --config java #pick java 1.8
9
+ # update-alternatives --config javac #pick java 1.8
10
+
11
+ # to show java_home
12
+ java -XshowSettings:properties -version
13
+
14
+ ###
15
+ # maven install: https://maven.apache.org/install.html
16
+ #
17
+ # maven url is down, comment out since we're not using maven
18
+ # wget http://mirror.cogentco.com/pub/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz
19
+ # tar zxf apache-maven-3.5.3-bin.tar.gz
20
+ # mkdir -p /opt
21
+ # mv apache-maven-3.5.3 /opt/maven
22
+ # ln -s /opt/maven/bin/mvn /usr/local/bin/mvn
@@ -0,0 +1,4 @@
1
+ #!/bin/bash -eux
2
+ curl -sL https://deb.nodesource.com/setup_10.x | bash -
3
+ apt-get install -y nodejs
4
+ npm install -g yarn
@@ -0,0 +1,7 @@
1
+ Please fill out one of the templates on https://github.com/tongueroo/jets/issues/new/choose
2
+
3
+ If you want to ask a question please do so on the Jets Community forum: https://community.rubyonjets.com
4
+
5
+ To be sensitive to everyone's time, we may close issues asking questions without comment. Posting your questions in the Jets community forum is the best place. It also benefits others by making the questions easier to find. Here are some additional options also http://rubyonjets.com/docs/support/ 👌
6
+
7
+ Thank you!
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: Reproducible Bug Report
3
+ about: Is something not working as expected?
4
+ title: ''
5
+ labels: 'bug'
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ <!--
11
+ Hi! Thanks for considering to file a bug with Jets. Please take the time to
12
+ answer the basic questions. Please try to be as detailed as possible.
13
+ To be sensitive to everyone's time, if not enough details are provided, the
14
+ issue may be closed without comment. Please use your best judgment. 👌
15
+
16
+ If you are unsure this is a bug in Jets, please consider asking your question at https://community.rubyonjets.com
17
+
18
+ Thanks!
19
+ -->
20
+
21
+ ## Checklist
22
+
23
+ <!--
24
+ Make sure that you've done all of these. To mark a checkbox done, replace [ ] with [x]. Or after you create the issue you can click the checkbox.
25
+ -->
26
+
27
+ - [ ] Upgrade Jets: Are you using the latest version of Jets? This allows Jets to fix issues fast. There's a `jets upgrade` command that makes this a simple task. There's also an Upgrading Guide: http://rubyonjets.com/docs/upgrading/
28
+ - [ ] Reproducibility: Are you reporting a bug others will be able to reproduce and not asking a question. If you're unsure or want to ask a question, do so on https://community.rubyonjets.com
29
+ - [ ] Code sample: Have you put together a code sample to reproduce the issue and make it available? Code samples help speed up fixes dramatically. If it's an easily reproducible issue, then code samples are not needed. If you're unsure, please include a code sample.
30
+
31
+ ## My Environment
32
+
33
+ <!-- Please fill out the table below with debugging info to help: -->
34
+
35
+ | Software | Version |
36
+ | ---------------- | ------- |
37
+ | Operating System | |
38
+ | Jets | |
39
+ | Ruby | |
40
+
41
+ ---
42
+
43
+ ## Expected Behaviour
44
+
45
+ <!--
46
+ What is it you expected to happen? This should be a description of how the functionality you tried to use is supposed to work. Try to keep this to one-paragraph.
47
+ -->
48
+
49
+ ## Current Behavior
50
+
51
+ <!--
52
+ Describe the details of the bug. Try to keep this to one-paragraph.
53
+ -->
54
+
55
+ ## Step-by-step reproduction instructions
56
+
57
+ <!--
58
+ Be sure to include any steps you took for the problem to exist. This is likely the longest part of the report.
59
+
60
+ Please include any logs you think relevant here. If the logs are long (more than 50 lines) please make a gist of the logs and link to it. https://gist.github.com
61
+ -->
62
+
63
+ ## Code Sample
64
+
65
+ <!--
66
+ Please provide a code repository, gist, code snippet or sample files to reproduce the issue.
67
+ -->
68
+
69
+ ## Solution Suggestion
70
+
71
+ <!--
72
+ Please provide possible solutions. If you can't think of anything, feel free to omit. Please be kind and add helpful possible solutions. For example, "Fix it!" is not a helpful solution suggestion. We are mere mortals. Please be constructive.
73
+ -->
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: Documentation
3
+ about: Found a typo or something that isn't crystal clear in the docs?
4
+ title: ''
5
+ labels: docs
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ <!--
11
+ Thanks for taking the time to open a documentation issue and help us make Jets better!
12
+
13
+ Great documentation is key to great software and is very important. So thank you!
14
+
15
+ If it is just a typo or grammar fix, you don't have to fill out any of the sections below. 🚀
16
+ -->
17
+
18
+ ## Motivation
19
+
20
+ <!-- Why should the docs be updated? -->
21
+
22
+
23
+ ## Suggestion
24
+
25
+ <!-- What can be done instead? -->
26
+
27
+ <!-- Thanks again for taking the time to open an issue and help us make Jets better! -->
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: New Feature Suggestion
3
+ about: Want to add a feature to Jets?
4
+ title: ''
5
+ labels: feature
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ <!--
11
+ Hi! Thanks for considering to file a feature request with Jets. Please take the time to answer the basic questions. Please try to be as detailed as possible.
12
+
13
+ Thanks!
14
+ -->
15
+
16
+ ## Summary
17
+
18
+ <!--
19
+ A one-paragraph explanation of the feature.
20
+ -->
21
+
22
+ ## Motivation
23
+
24
+ <!--
25
+ Why do you want to see this feature in Jets? What use cases does it support?
26
+
27
+ How the feature would be relevant to 80% or more of Jets users.
28
+ -->
29
+
30
+ ## Guide-level explanation
31
+
32
+ <!--
33
+ Explain the proposal as if it was already included in the project and you were teaching it to another programmer. That generally means:
34
+
35
+ - Introducing new named concepts.
36
+ - Explaining the feature largely in terms of examples.
37
+ - If applicable, provide sample error messages, deprecation warnings, or upgrade guidance.
38
+
39
+ If this is a small feature, you may omit this section.
40
+ -->
41
+
42
+ ## Reference-level explanation
43
+
44
+ <!--
45
+ This is the technical portion of the feature request. Explain the design in sufficient detail that:
46
+
47
+ - Its interaction with other features is clear.
48
+ - It is reasonably clear how the feature would be implemented.
49
+ - Corner cases are dissected by example.
50
+
51
+ If you do not know how to answer this, you can omit it. No worries!
52
+ -->
53
+
54
+ ## Drawbacks
55
+
56
+ <!--
57
+ Why should we *not* do this?
58
+ -->
59
+
60
+ ## Unresolved Questions
61
+
62
+ <!--
63
+ What related issues do you consider out of scope for this feature that could be addressed in the future independently of the solution that comes out of this feature?
64
+ -->
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: Question
3
+ about: Have any questions about how Jets works?
4
+ title: ''
5
+ labels: 'question'
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ <!--
11
+ The Jets issue tracker IS NOT for usage questions! Please post your question on our dedicated forum at https://community.rubyonjets.com
12
+
13
+ To be sensitive to everyone's time, we may close issues asking questions without comment. Posting your questions in the Jets community forum is the best place. It also benefits others by making the questions easier to find. Here are some additional options also http://rubyonjets.com/docs/support/ 👌
14
+
15
+ Thank you!
16
+ -->
@@ -0,0 +1,42 @@
1
+ <!--
2
+ Thanks for creating a Pull Request! Before you submit, please make sure you've done the following:
3
+
4
+ - I read the contributing document at https://rubyonjets.com/docs/contributing/
5
+ -->
6
+
7
+ <!--
8
+ Make our lives easier! Choose one of the following by uncommenting it:
9
+ -->
10
+
11
+ <!-- This is a 🐞 bug fix. -->
12
+ <!-- This is a 🙋‍♂️ feature or enhancement. -->
13
+ <!-- This is a 🧐 documentation change. -->
14
+
15
+ <!--
16
+ Before you submit this pull request, make sure to have a look at the following checklist. To mark a checkbox done, replace [ ] with [x]. Or after you create the issue you can click the checkbox.
17
+
18
+ If you don't know how to do some of these, that's fine! Submit your pull request and we will help you out on the way.
19
+ -->
20
+
21
+ - [ ] I've added tests (if it's a bug, feature or enhancement)
22
+ - [ ] I've adjusted the documentation (if it's a feature or enhancement)
23
+ - [ ] The test suite passes (run `bundle exec rspec` to verify this)
24
+
25
+ ## Summary
26
+
27
+ <!--
28
+ Provide a description of what your pull request changes.
29
+ -->
30
+
31
+ ## Context
32
+
33
+ <!--
34
+ Is this related to any GitHub issue(s) or another relevant link?
35
+ -->
36
+
37
+ ## Version Changes
38
+
39
+ <!--
40
+ Which semantic version change would you recommend?
41
+ If you don't know, feel free to omit it.
42
+ -->
@@ -0,0 +1,24 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ InstalledFiles
7
+ _yardoc
8
+ coverage
9
+ doc/
10
+ lib/bundler/man
11
+ pkg
12
+ rdoc
13
+ spec/reports
14
+ test/tmp
15
+ test/version_tmp
16
+ tmp
17
+
18
+ spec/fixtures/project/handlers
19
+ .codebuild/definitions
20
+ demo*
21
+ /html
22
+ spec/fixtures/apps/franky/dynamodb/migrate
23
+
24
+ .idea/*
@@ -0,0 +1,6 @@
1
+ [submodule "vendor/jets-gems"]
2
+ path = vendor/jets-gems
3
+ url = https://github.com/tongueroo/jets-gems
4
+ [submodule "vendor/rails"]
5
+ path = vendor/rails
6
+ url = https://github.com/tongueroo/rails.git
@@ -0,0 +1 @@
1
+ 3.6.6
data/.rspec ADDED
@@ -0,0 +1,4 @@
1
+ --color
2
+ --exclude-pattern spec/fixtures/apps/**/*
3
+ --format documentation
4
+ --require spec_helper
@@ -0,0 +1 @@
1
+ 2.5.3
@@ -0,0 +1,533 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
5
+
6
+ ## [1.6.9]
7
+ - #184 improve default cors options request access-control-allow-methods
8
+
9
+ ## [1.6.8]
10
+ - #181 cors middleware
11
+ - #182 more robust handler shim
12
+ - fix polymorphic get_source_path path
13
+ - only upgrade config.ru if exists
14
+
15
+ ## [1.6.7]
16
+ - update faq: JETS_AGREE no interruption flag
17
+
18
+ ## [1.6.6]
19
+ - #175 Fix invalid route changes reading routine when route contains more than one variable in path
20
+ - #175 Fix invalid lambda function names for controllers in deep namespaces like A::B::MyController
21
+ - #176 fix cors for specific domains
22
+ - #177 check if rsync is installed. also stop on sh fail
23
+ - #178 strip trailing period from custom domain if accidentally set
24
+
25
+ ## [1.6.5]
26
+ - #173 application/xml content-type on render xml
27
+
28
+ ## [1.6.4]
29
+ - #171 fix precedence of dotenv files
30
+ - update cors comment on generated skeleton app
31
+
32
+ ## [1.6.3]
33
+ - #168 cors specific authorization_type, default none
34
+ - cors defaults to false. enabled with config.cors = true in config/application.rb
35
+
36
+ ## [1.6.2]
37
+ - #165 remove always trailing slash from Jets.root
38
+ - #166 fix cors headers
39
+ - #167 controller authorization_type declaration
40
+
41
+ ## [1.6.1]
42
+ - #162 from patchkit-net/feature/spec_helpers
43
+ - #163 from tongueroo/spec-helpers
44
+ - Add jets/spec/helpers.rb with rails-style controller testing helpers
45
+ - #164 from tongueroo/encoding-fix: use encoding from content-type for mega request
46
+ - use rainbow gem for terminal colors
47
+
48
+ ## [1.6.0]
49
+ - #158 from mmyoji/fix-docs-urls
50
+ - #159 from patchkit-net/bugfix/invalid-longpath-collision Fix invalid collision detection on paths that already contains path variables
51
+ - #161 from tongueroo/iam-role-name remove pretty iam role name, let CloudFormation generate
52
+
53
+ ## [1.5.10]
54
+ - #157 Improve Route Change Detection: Path Variables
55
+
56
+ ## [1.5.9]
57
+ - #154 from tongueroo/variable-collision raise error on multiple sibling variable paths collision
58
+ - #156 from konnected-io/master: don't prewarm jobs, only prewarm controllers
59
+ - ensure remove BUNDLED WITH remove when no project Gemfile.lock and it gets created by build process
60
+ - jets upgrade: add dynomite to gemfile if needed
61
+ - only clean submodules for bundler version 2+
62
+ - turbo wrapper project: remove Gemfile.lock and let afterburner mode run on latest jets version
63
+ - use pessimistic version for dependencies
64
+
65
+ ## [1.5.8]
66
+ - #155 remove BUNDLED WITH from Gemfile.lock to fix newly released bundler issue
67
+
68
+ ## [1.5.7]
69
+ - Fix prepend_* callbacks: These could modify a global callback array if used first
70
+
71
+ ## [1.5.6]
72
+ - #149 from patchkit-net/feature/prepend-append-callbacks Add prepend/append_before_action and prepend/append_after_action callbacks
73
+ - #150 special s3 url for us-east-1
74
+
75
+ ## [1.5.5]
76
+ - #148 check reserved lambda variables and let user know
77
+
78
+ ## [1.5.4]
79
+ - #146 add and point to helpful docs on deploy error
80
+ - #147 update turbo Gemfile.lock, fixes Jets afterburner when using custom layers
81
+ - slimmer job mode Gemfile
82
+
83
+ ## [1.5.3]
84
+ - #142 from tongueroo/rails-api-afterburner fix jets afterburner for rails api mode apps
85
+
86
+ ## [1.5.2]
87
+ - #138 from patchkit-net/feature/before_action_chain_break Change before_action behavior: allow chain break
88
+ - #139 from patchkit-net/bugfix/spec-gem-files-dir Fix jets.gemspec files listing method
89
+ - #140 from patchkit-net/feature/config-logger Add configurable Jets.application.config.logger
90
+ - Change before_action behavior: When any before action renders or redirects, the filter chain
91
+ is halted, and action code is not executed. This allows before_action to act as guards.
92
+ - Fix jets.gemspec how git command is executed to list files. The listing no longer needs to be done
93
+ from the jets root directory. This change enables including Jets as local bundler gem.
94
+ - Add Jets.application.config.logger field to enable custom logger instance to
95
+ be configured in config/environments/*.rb files.
96
+ - Fix scaffold ajax redirect url
97
+
98
+ ## [1.5.1]
99
+ - #137 from tongueroo/gems-check bypass gems check exit for custom lambda layers
100
+
101
+ ## [1.5.0]
102
+ - #135 from tongueroo/remove-rails-constant Remove Rails Constant
103
+ - #136 from tongueroo/routes-namespace routes namespace support (experimental: will be adjusted)
104
+
105
+ ## [1.4.11]
106
+ - #133 from tongueroo/custom-layer add custom lambda layer support
107
+ - #134 from tongueroo/remove-dynomite-vendor remove vendor/dynomite
108
+
109
+ ## [1.4.10]
110
+ - update vendor/dynomite: fix index creation dsl
111
+
112
+ ## [1.4.9]
113
+ - update vendor/dynomite
114
+ - #128 from Atul9/update-license: update copyright year
115
+ - #130 from tongueroo/fix-specs
116
+
117
+ ## [1.4.8]
118
+ - disable prewarm in `jets new` job mode
119
+
120
+ ## [1.4.7]
121
+ - only create preheat job if prewarm.enable
122
+
123
+ ## [1.4.6]
124
+ - #118 from tongueroo/fix-mega-query-string
125
+ - #120 from tongueroo/tidy-webpacker
126
+ - #123 from tongueroo/cp-r
127
+ - #124 from tongueroo/webpacker-update
128
+ - #125 from tongueroo/fix-redirect-for-custom-domains
129
+ - #126 from tongueroo/route-53-option config.domain.route53 option
130
+ - #127 from tongueroo/github-templates
131
+ - more specific regexp for project_name in parse_project_name
132
+ - tidy webpacker app/javascript/src and public/packs to keep code sizes down
133
+
134
+ ## [1.4.5]
135
+ - include JETS_PROJECT_NAME as jets_env function var when set
136
+
137
+ ## [1.4.4]
138
+ - #116 from tongueroo/assets: fix public assets folders to serve directly from s3
139
+
140
+ ## [1.4.3]
141
+ - fix webpacker:compile on jets build and allow jets deploy to work standalone
142
+
143
+ ## [1.4.2]
144
+ - fix webpacker:compile on jets build
145
+
146
+ ## [1.4.1]
147
+ - allow jets url to run in afterburner mode
148
+ - #111 from tongueroo/db-seed fix jets db:seed
149
+ - #112 from tongueroo/jets-project-name fix JETS_ENV=production jets deploy
150
+ - allow JETS_PROJECT_NAME override
151
+
152
+ ## [1.4.0]
153
+ - Afterburner mode: Allows you to deploy from within a Rails app
154
+ - #110 from tongueroo/jet-pack: Turbo charge mode: enabling afterburner
155
+ - Afterburner is recommended over Mega Mode.
156
+
157
+ ## [1.3.9]
158
+ - #106 from eamsc/sqs-special-map
159
+ - #107 from eamsc/sqs-resource
160
+ - Added SQS sdk/client/resource for use in custom resources
161
+ - Fix shared ruby function runtime
162
+
163
+ ## [1.3.8]
164
+ - Merge pull request #101 from eamsc/sqs-special-map Added SQS RedrivePolicy attributes to special map because they aren't being properly camelized.
165
+ - Merge pull request #102 from eamsc/resource-symbol-sub fix for undefined method `sub` for symbol
166
+
167
+ ## [1.3.7]
168
+ - #100 from tongueroo/vendor-gems bundle in vendor/gems folder to avoid vendor/bundle collison
169
+ - use database from cli option in api mode for new
170
+
171
+ ## [1.3.6]
172
+ - Merge pull request #91 from mveer99/patch-1 jets deploy production docs
173
+ - #96 from tongueroo/mega-mode-prod-deploy fix mega mode prod deploy, fix typo
174
+ - #97 from tongueroo/jets-delete-env support jets delete ENV
175
+ - #98 from tongueroo/support-import-bb-and-gitlab add import support for bitbucket and gitlab also
176
+
177
+ ## [1.3.5]
178
+ - Merge pull request #90 from tongueroo/on-exception fix on_exception hook
179
+
180
+ ## [1.3.4]
181
+ - fix gem replacer for macosx by using rsync to copy
182
+
183
+ ## [1.3.3]
184
+ - Revert Merge pull request #88 from mveer99/master: faulty -T cp option for now
185
+
186
+ ## [1.3.2]
187
+ - Merge pull request #88 from mveer99/master: faulty -T cp option
188
+
189
+ ## [1.3.1]
190
+ - Merge pull request #87 from tongueroo/on-exception
191
+ - fix helpers for binary support
192
+ - deprecate report_exception in favor of on_exception
193
+ - docs: binary upload support
194
+
195
+ ## [1.3.0]
196
+ - Official AWS Ruby Support
197
+ - Ruby Version 2.5.3 upgrade
198
+ - Gem Layer introduced
199
+ - Removed node shim
200
+ - Build purger: /tmp/jets/project is auto purge when major or minor version changes
201
+ - Update default gems source to https://gems2.lambdagems.com
202
+
203
+ ## [1.2.1]
204
+ - remove comments about routes workaround, auto blue-green deployments resolves this
205
+
206
+ ## [1.2.0]
207
+ - major upgrades: binary support, custom domain, bluegreen
208
+ - binary support
209
+ - custom domains support: http://rubyonjets.com/docs/routing-custom-domain/
210
+ - automated bluegreen deploy for api gateway when needed: http://rubyonjets.com/docs/blue-green-deployment/
211
+ - Merge pull request #84 from tongueroo/bluegreen
212
+
213
+ ## [1.1.5]
214
+ - Support multiple path parameters. Also allow path parameters to hold any value other than '/'.
215
+ - Merge pull request #82 from adam-harwood/master
216
+
217
+ ## [1.1.4]
218
+ - Fully qualify bundle install path, to fix issue when building on CodeBuild. Fixes #80.
219
+ - Merge pull request #81 from adam-harwood/master
220
+
221
+ ## [1.1.3]
222
+ - Merge pull request #79 from tongueroo/misc-fixes
223
+ - fix has_poly? check to account for shared functions
224
+ - fix jets new mode job copy_options
225
+ - fix Jets Turbine require active support fixes issue #78
226
+ - parse for project name as workaround to avoid double loading config/application.rb
227
+
228
+ ## [1.1.2]
229
+ - Add option to specify authorization type application-wide option and on a per-route basis.
230
+ - Add option to specify endpoint type of the ApiGateway: config.api.endpoint_type option
231
+ - pull request #74 from adam-harwood/route_authorization
232
+ - pull request #75 from adam-harwood/apig_endpoint_configuration
233
+ - pull request #76 from tongueroo/api-endpoint
234
+ - pull request #77 from tongueroo/api-auth
235
+ - fix jets new, comment out building of middleware during boot for now
236
+
237
+ ## [1.1.1]
238
+ - provide instructions to run jets upgrade for config.ru update
239
+
240
+ ## [1.1.0]
241
+ - rack compatibility pull request #72 from tongueroo/rack
242
+ - remove Jets::Timing pull request #73 from tongueroo/rm-timing
243
+
244
+ ## [1.0.18]
245
+ - re-raise exception properly after reporting locally
246
+
247
+ ## [1.0.17]
248
+ - Initial Jets Turbine support. http://rubyonjets.com/docs/jets-turbines/
249
+ - pull request #71 from tongueroo/turbine
250
+ - Addresses #70 Exception reporting
251
+
252
+ ## [1.0.16]
253
+ - fix application iam policy when Jets::Application.default_iam_policy is used in config/application.rb
254
+ - #69 from tongueroo/fix-app-iam-policy
255
+
256
+ ## [1.0.15]
257
+ - Fix polymorphic support: #67 from tongueroo/poly-fixes
258
+ - update .env.development example
259
+ - remove debugging puts
260
+
261
+ ## [1.0.13]
262
+ - Fix notice when Jets fails to create first git commit This happens when user doesn't have git credentials available yet
263
+ - Merge pull request #63 from onnimonni/fix-missing-git-credentials
264
+
265
+ ## [1.0.12]
266
+ - Fix notice when Jets tries to use aws-cli even when it's not available in PATH
267
+ - Merge pull request #62 from onnimonni/fix-notice-missing-aws-cli
268
+
269
+ ## [1.0.11]
270
+ - Don't fail if AWS credentials are missing Fixes #60
271
+ - Merge pull request #61 from onnimonni/fix-missing-aws-credentials-local-server
272
+
273
+ ## [1.0.10]
274
+ - remove emoji from skeleton index.html starter
275
+
276
+ ## [1.0.9]
277
+ - adjust starter .env.development and config/application.rb
278
+
279
+ ## [1.0.8]
280
+ - fix s3 assets to work with custom domains #58 from tongueroo/fix-assets
281
+
282
+ ## [1.0.7]
283
+ - jets new: adjust skeleton template project
284
+ - jets import:rails: update config/database.yml
285
+
286
+ ## [1.0.6]
287
+ - method fixes: account for inheritance and private keyword #57
288
+
289
+ ## [1.0.5]
290
+ - change config.lambdagems to config.gems
291
+ - friendly info message when yarn is not installed
292
+ - improve rails:import rack/config/database.yml generation
293
+ - update gems check
294
+
295
+ ## [1.0.4]
296
+ - import:rails reconfigure database.yml pull request #56 from tongueroo/database-yml
297
+
298
+ ## [1.0.3]
299
+ - Allow control to prewarming of rack endpoint more
300
+ - add config.prewarm.rack_ratio setting pull request #55 from tongueroo/prewarm-rack-more
301
+
302
+ ## [1.0.2]
303
+ - jets import:rails --submodule option. pull request #54 from tongueroo/import
304
+ - upgrade to jets-gems. pull request #53 from tongueroo/gems
305
+ - jets gems:check command
306
+ - jets gems:sources hidden command
307
+
308
+ ## [1.0.1]
309
+ - jets upgrade command
310
+ - Merge pull request #52 from tongueroo/upgrade-command
311
+
312
+ ## [1.0.0]
313
+ - Mega Mode: Rails Support, Rack Support
314
+ - jets import:rails command
315
+ - Lazy Loading Support
316
+ - MySQL support. MySQL is default for jets new command.
317
+ - Separate Environment configuration support
318
+ - Default function timeout 30s now and 60s for jobs
319
+ - Improve config/inflections.yml support
320
+ - Improve shim: organized code
321
+ - Improve static asset serving
322
+ - Improve deploy performance: lazy loading, separate zip files, and only reupload if md5 checksums change.
323
+ - Improve handler generation: ShimVars concept.
324
+ - Improve code builder: Tidy class
325
+ - Improve cfn builder: separate out cfn upload
326
+ - Improve Jets IO buffer handling
327
+ - Merge pull request #48 from tongueroo/megamode2
328
+
329
+ ## [0.10.4]
330
+ - Merge pull request #51 from tongueroo/fix-aws-account: fix aws account lookup when ~/.aws/config not configured
331
+ - deprecate config.api_mode for api.mode = "api"
332
+
333
+ ## [0.10.3]
334
+ - expose Jets::Application.default_iam_policy so user can re-use
335
+
336
+ ## [0.10.2]
337
+ - fix cloudformation config rule permission race condition with depends on
338
+ - simplify --templates only cli option
339
+ - update config rules docs
340
+
341
+ ## [0.10.1]
342
+ - clear @associated_properties bug
343
+ - fix jets new . , Merge pull request #46 from tongueroo/jets-new-dot
344
+ - update upgrade notes
345
+
346
+ ## [0.10.0]
347
+ - Breaking: Changed logical ids. Refer to upgrading notes: http://rubyonjets.com/docs/upgrading/
348
+ - Merge pull request #45 from tongueroo/remove-internal-welcome
349
+ - Fix routing: Allow multiple paths to point to same controller action
350
+
351
+ ## [0.9.2]
352
+ - s3 assets support: Merge pull request #44 from tongueroo/s3-assets
353
+
354
+ ## [0.9.1]
355
+ - add upgrading notes
356
+ - fix iam policies: flatten
357
+
358
+ ## [0.9.0]
359
+ - Breaking: Changed logical ids. Refer to upgrading notes: http://rubyonjets.com/docs/upgrading/
360
+ - Pretty big update: introduce concept of Shared Resources and Stack DSL
361
+ - Stack DSL: To support the concept of Custom Shared Resources. Supports extensions and simple functions also.
362
+ - Stack DSL: Allow for control of DependsOn attribute.
363
+ - Stack DSL: `MyStack.lookup` method
364
+ - Remove class name from the namespace. So namespace only has method name now. NOTE: This means upgrading from 0.8.x to 0.9.x requires a blue-green update.
365
+ - Associated resource extensions support
366
+ - Associated resources multiple form support: long, medium, short
367
+ - Add `jets new --mode`: 3 modes: html, api, job. Remove the `--api`
368
+ - IAM policies inherit from higher precedence and superclasses.
369
+ - Add `jets runner` command
370
+ - Fix AWS Config Rules support
371
+ - Rename event_rule to events_rule
372
+ - Remove submodule project demo fixture in favor of spec/fixtures/apps/franky
373
+ - Add spec/bin/integration.sh - Simpler than the CI one and more immediately useful
374
+ - Improve AWS Config Rules docs
375
+ - Add config rules namespace setting
376
+ - Custom inflections support
377
+
378
+ ## [0.8.18]
379
+ - improve performance of Jets.aws.region, pull request #40 from tongueroo/dir-glob
380
+
381
+ ## [0.8.17]
382
+ - fix Jets.eager_load
383
+
384
+ ## [0.8.16]
385
+ - add minimal deploy iam policy docs
386
+ - harden deploy, auto delete minimal stack in rollback_completed
387
+ - Merge pull request #38 from tongueroo/harden-deploy-rollbacks
388
+
389
+ ## [0.8.15]
390
+ - fix route resources macro for api mode pull request #35
391
+ - remove pg dependency from jets and add as part of project Gemfile pull request #36
392
+
393
+ ## [0.8.14]
394
+ - Add faq docs
395
+ - add setting response headers support for cookies: pull request #31
396
+ - Replace `Timing` header with `X-Runtime`: pull request #30 from y8/patch-1
397
+
398
+ ## [0.8.13]
399
+ - even simpler iam policy expansions: pull request #27 from tongueroo/iam
400
+ - specify rdoc options: pull request #28 from tongueroo/rdoc
401
+ - add gem version badge and specify ruby 2.5.x requirement in gemspec
402
+
403
+ ## [0.8.12]
404
+ - fix jets gem summary and description
405
+
406
+ ## [0.8.11]
407
+ - Inherit class properties from parent classes PR #25
408
+ - Make more puts like methods show up in cloudwatch logs
409
+ - Fix add_logical_id_counter to events
410
+
411
+ ## [0.8.10]
412
+ - allow perform_now to run with default empty event
413
+ - fix env_properties in function resource, fixes stage name
414
+
415
+ ## [0.8.9]
416
+ - clean up convenience properties and add rest of them PR #24
417
+
418
+ ## [0.8.8]
419
+ - fix cron expression
420
+
421
+ ## [0.8.7]
422
+ - add JETS_ENV_REMOTE and fix database config load for jets console
423
+
424
+ ## [0.8.6]
425
+ - fix local server
426
+
427
+ ## [0.8.5]
428
+ - Rename to Camelizer PR #23
429
+ - Fix helpers PR #22
430
+
431
+ ## [0.8.4]
432
+ - fix custom iam policies
433
+ - fix edge case: allow stack to be delete in rollback completed state
434
+
435
+ ## [0.8.3]
436
+ - adjust prewarm.public_ratio default to 10
437
+
438
+ ## [0.8.2]
439
+ - add prewarm.public_ratio option: http://rubyonjets.com/docs/prewarming/
440
+
441
+ ## [0.8.1]
442
+ - Upgrade all cfn resources to use the core jets resource model: request #21 from tongueroo/core-resource2
443
+ - Rid of mimimal-stack.yml and use jets core resource model
444
+ - Rescue encoding exception for the Jets IO flush to prevent process from crashing
445
+ - wip: binary support, set proper isBase64Encoded for binary content, but commented out binary media types due to form post breaking
446
+
447
+ ## [0.8.0]
448
+ - Introduce core resource, pull request #20
449
+ - Future template generation will lead to core resource. Start the move away from the older cfn template generator logic.
450
+ - Allows for more control and customization of the associated resources with the lambda functions.
451
+ - Allows multiple associated resources to be connected to a lambda function.
452
+ - Support for CloudWatch event patterns, not just scheduled expression
453
+
454
+ ## [0.7.1]
455
+ - fix application-wide config.iam_policy ability
456
+
457
+ ## [0.7.0]
458
+ - add managed_iam_policy concept, pull request #19
459
+ - bump to 0.7.0, enough changes since 0.6.x
460
+
461
+ ## [0.6.9]
462
+ - add aws managed rule support, pull request #18
463
+
464
+ ## [0.6.8]
465
+ - add jets clean:log and clean:build commands pull request #17
466
+ - allow integration.sh test script to run locally
467
+
468
+ ## [0.6.7]
469
+ - eager load jets lib also, pull request #16
470
+
471
+ ## [0.6.6]
472
+ - improve puts handling: PR #15
473
+
474
+ ## [0.6.5]
475
+ - fix prewarming after a deploy
476
+
477
+ ## [0.6.4]
478
+ - fix client.puts(result)
479
+
480
+ ## [0.6.3]
481
+ - fix app logging: pull request #14
482
+
483
+ ## [0.6.2]
484
+ - add versions to gemspec dependencies
485
+
486
+ ## [0.6.1]
487
+ - only prewarm if Jets::PreheatJob.warm available
488
+
489
+ ## [0.6.0]
490
+ - fine grain iam policy abilities: pull request #13 from tongueroo/iam-policy
491
+ - changed quite a few logical ids in the CloudFormation templates
492
+
493
+ ## [0.5.8]
494
+ - fix config.prewarm defaults
495
+
496
+ ## [0.5.7]
497
+ - adjust default function memory size to 1536
498
+
499
+ ## [0.5.6]
500
+ - use Lambdagem.log_level = :info
501
+
502
+ ## [0.5.5]
503
+ - clean old git submodules from cache to reduce cache bloat
504
+ - dont prewarm after deploy if disabled :pull request #12
505
+ - update docs
506
+
507
+ ## [0.5.4]
508
+ - add route check before cloudformation update: pull request #11
509
+ - hide confusing debugging logs for node shim for user
510
+ - update docs, grammar fixes
511
+ - update initial welcome page, improve mobile, use encoding: utf-8 for starter index page
512
+ - update to use Jets::RUBY_VERSION
513
+
514
+ ## [0.5.3]
515
+ - add x-jets-prewarm-count and x-jets-call-count headers: pull request #10 from tongueroo/call-count
516
+ - adjust default prewarming concurrency to 2
517
+ - Jets.eager_load as part of warmup
518
+ - rename config.prewarm.enable
519
+ - update docs
520
+
521
+ ## [0.5.2]
522
+ - format the js error in the node shim properly
523
+
524
+ ## [0.5.1]
525
+ - fix gemspec
526
+ - fix Docker base build, comment out unneeded broken maven
527
+ - update docs
528
+
529
+ ## [0.5.0]
530
+ - First big good release
531
+
532
+ ## [0.1.2]
533
+ - Fix bundled gems.