jets_bb_fork 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) 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 +84 -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 +0 -0
  21. data/.python-version +1 -0
  22. data/.rspec +4 -0
  23. data/.ruby-version +1 -0
  24. data/CHANGELOG.md +734 -0
  25. data/CONDUCT.md +1 -0
  26. data/CONTRIBUTING.md +1 -0
  27. data/Dockerfile +16 -0
  28. data/Dockerfile.base +53 -0
  29. data/Gemfile +14 -0
  30. data/Guardfile +22 -0
  31. data/LICENSE.txt +22 -0
  32. data/Procfile +2 -0
  33. data/README.md +203 -0
  34. data/Rakefile +24 -0
  35. data/backers.md +16 -0
  36. data/bin/release +9 -0
  37. data/buildspec.yml +18 -0
  38. data/exe/jets_bb_fork +14 -0
  39. data/jets.gemspec +68 -0
  40. data/lib/jets.rb +27 -0
  41. data/lib/jets/application.rb +216 -0
  42. data/lib/jets/application/defaults.rb +172 -0
  43. data/lib/jets/autoloaders.rb +97 -0
  44. data/lib/jets/aws_info.rb +113 -0
  45. data/lib/jets/aws_services.rb +65 -0
  46. data/lib/jets/aws_services/global_memoist.rb +57 -0
  47. data/lib/jets/aws_services/s3_bucket.rb +34 -0
  48. data/lib/jets/aws_services/stack_status.rb +59 -0
  49. data/lib/jets/booter.rb +119 -0
  50. data/lib/jets/builders/code_builder.rb +399 -0
  51. data/lib/jets/builders/code_size.rb +57 -0
  52. data/lib/jets/builders/gem_replacer.rb +76 -0
  53. data/lib/jets/builders/handler_generator.rb +186 -0
  54. data/lib/jets/builders/lambda_layer.rb +69 -0
  55. data/lib/jets/builders/md5.rb +60 -0
  56. data/lib/jets/builders/md5_zip.rb +61 -0
  57. data/lib/jets/builders/purger.rb +35 -0
  58. data/lib/jets/builders/rack_packager.rb +51 -0
  59. data/lib/jets/builders/rackup_wrappers/rackup +19 -0
  60. data/lib/jets/builders/rackup_wrappers/rackup.rb +7 -0
  61. data/lib/jets/builders/reconfigure_rails.rb +114 -0
  62. data/lib/jets/builders/reconfigure_rails/config/initializers/jets.rb +16 -0
  63. data/lib/jets/builders/ruby_packager.rb +207 -0
  64. data/lib/jets/builders/shim_vars/app.rb +78 -0
  65. data/lib/jets/builders/shim_vars/base.rb +25 -0
  66. data/lib/jets/builders/shim_vars/shared.rb +37 -0
  67. data/lib/jets/builders/templates/handler.rb +12 -0
  68. data/lib/jets/builders/tidy.rb +107 -0
  69. data/lib/jets/builders/util.rb +31 -0
  70. data/lib/jets/bundle.rb +82 -0
  71. data/lib/jets/camelizer.rb +71 -0
  72. data/lib/jets/cfn/builders/api_deployment_builder.rb +63 -0
  73. data/lib/jets/cfn/builders/api_gateway_builder.rb +157 -0
  74. data/lib/jets/cfn/builders/base_child_builder.rb +75 -0
  75. data/lib/jets/cfn/builders/controller_builder.rb +42 -0
  76. data/lib/jets/cfn/builders/function_builder.rb +14 -0
  77. data/lib/jets/cfn/builders/interface.rb +137 -0
  78. data/lib/jets/cfn/builders/job_builder.rb +14 -0
  79. data/lib/jets/cfn/builders/paged.rb +37 -0
  80. data/lib/jets/cfn/builders/parent_builder.rb +100 -0
  81. data/lib/jets/cfn/builders/rule_builder.rb +24 -0
  82. data/lib/jets/cfn/builders/shared_builder.rb +14 -0
  83. data/lib/jets/cfn/ship.rb +185 -0
  84. data/lib/jets/cfn/status.rb +212 -0
  85. data/lib/jets/cfn/upload.rb +139 -0
  86. data/lib/jets/cli.rb +194 -0
  87. data/lib/jets/commands/base.rb +146 -0
  88. data/lib/jets/commands/build.rb +234 -0
  89. data/lib/jets/commands/call.rb +169 -0
  90. data/lib/jets/commands/call/anonymous_guesser.rb +96 -0
  91. data/lib/jets/commands/call/autoload_guesser.rb +136 -0
  92. data/lib/jets/commands/call/base_guesser.rb +60 -0
  93. data/lib/jets/commands/call/guesser.rb +48 -0
  94. data/lib/jets/commands/clean.rb +19 -0
  95. data/lib/jets/commands/clean/base.rb +24 -0
  96. data/lib/jets/commands/clean/build.rb +13 -0
  97. data/lib/jets/commands/clean/log.rb +107 -0
  98. data/lib/jets/commands/console.rb +12 -0
  99. data/lib/jets/commands/db.rb +13 -0
  100. data/lib/jets/commands/db/environment-task.rake +3 -0
  101. data/lib/jets/commands/db/tasks.rb +44 -0
  102. data/lib/jets/commands/dbconsole.rb +131 -0
  103. data/lib/jets/commands/delete.rb +143 -0
  104. data/lib/jets/commands/deploy.rb +141 -0
  105. data/lib/jets/commands/dynamodb.rb +19 -0
  106. data/lib/jets/commands/dynamodb/migrate.rb +9 -0
  107. data/lib/jets/commands/dynamodb/migrator.rb +36 -0
  108. data/lib/jets/commands/gems.rb +21 -0
  109. data/lib/jets/commands/help.rb +9 -0
  110. data/lib/jets/commands/help/build.md +6 -0
  111. data/lib/jets/commands/help/call.md +61 -0
  112. data/lib/jets/commands/help/clean/build.md +5 -0
  113. data/lib/jets/commands/help/clean/log.md +5 -0
  114. data/lib/jets/commands/help/console.md +18 -0
  115. data/lib/jets/commands/help/db/generate.md +8 -0
  116. data/lib/jets/commands/help/dbconsole.md +9 -0
  117. data/lib/jets/commands/help/delete.md +22 -0
  118. data/lib/jets/commands/help/deploy.md +32 -0
  119. data/lib/jets/commands/help/destroy.md +16 -0
  120. data/lib/jets/commands/help/dynamodb/generate.md +52 -0
  121. data/lib/jets/commands/help/dynamodb/migrate.md +4 -0
  122. data/lib/jets/commands/help/gems/check.md +8 -0
  123. data/lib/jets/commands/help/generate.md +22 -0
  124. data/lib/jets/commands/help/import/rack.md +13 -0
  125. data/lib/jets/commands/help/import/rails.md +11 -0
  126. data/lib/jets/commands/help/new.md +42 -0
  127. data/lib/jets/commands/help/routes.md +16 -0
  128. data/lib/jets/commands/help/runner.md +17 -0
  129. data/lib/jets/commands/help/server.md +15 -0
  130. data/lib/jets/commands/help/status.md +14 -0
  131. data/lib/jets/commands/help/upgrade.md +5 -0
  132. data/lib/jets/commands/help/url.md +6 -0
  133. data/lib/jets/commands/import.rb +12 -0
  134. data/lib/jets/commands/import/base.rb +49 -0
  135. data/lib/jets/commands/import/cheatsheet.rb +35 -0
  136. data/lib/jets/commands/import/rack.rb +16 -0
  137. data/lib/jets/commands/import/rails.rb +74 -0
  138. data/lib/jets/commands/import/sequence.rb +90 -0
  139. data/lib/jets/commands/import/templates/config/database.yml +26 -0
  140. data/lib/jets/commands/import/templates/submodules-cheatsheet.md +89 -0
  141. data/lib/jets/commands/main.rb +157 -0
  142. data/lib/jets/commands/markdown/creator.rb +58 -0
  143. data/lib/jets/commands/markdown/index.rb +27 -0
  144. data/lib/jets/commands/markdown/page.rb +125 -0
  145. data/lib/jets/commands/markdown/shell.rb +11 -0
  146. data/lib/jets/commands/new.rb +157 -0
  147. data/lib/jets/commands/rake_command.rb +61 -0
  148. data/lib/jets/commands/rake_tasks.rb +46 -0
  149. data/lib/jets/commands/runner.rb +16 -0
  150. data/lib/jets/commands/sequence.rb +99 -0
  151. data/lib/jets/commands/stack_info.rb +30 -0
  152. data/lib/jets/commands/templates/skeleton/.gitignore +12 -0
  153. data/lib/jets/commands/templates/skeleton/.jetskeep +1 -0
  154. data/lib/jets/commands/templates/skeleton/.rspec +3 -0
  155. data/lib/jets/commands/templates/skeleton/Gemfile.tt +38 -0
  156. data/lib/jets/commands/templates/skeleton/Procfile +7 -0
  157. data/lib/jets/commands/templates/skeleton/README.md +11 -0
  158. data/lib/jets/commands/templates/skeleton/Rakefile +2 -0
  159. data/lib/jets/commands/templates/skeleton/app/controllers/application_controller.rb +2 -0
  160. data/lib/jets/commands/templates/skeleton/app/helpers/application_helper.rb +2 -0
  161. data/lib/jets/commands/templates/skeleton/app/jobs/application_job.rb +4 -0
  162. data/lib/jets/commands/templates/skeleton/app/models/application_item.rb +2 -0
  163. data/lib/jets/commands/templates/skeleton/app/models/application_record.rb +3 -0
  164. data/lib/jets/commands/templates/skeleton/app/views/layouts/application.html.erb.tt +25 -0
  165. data/lib/jets/commands/templates/skeleton/config.ru +5 -0
  166. data/lib/jets/commands/templates/skeleton/config/application.rb.tt +67 -0
  167. data/lib/jets/commands/templates/skeleton/config/database.yml.tt +26 -0
  168. data/lib/jets/commands/templates/skeleton/config/dynamodb.yml +22 -0
  169. data/lib/jets/commands/templates/skeleton/config/environments/development.rb +7 -0
  170. data/lib/jets/commands/templates/skeleton/config/environments/production.rb +9 -0
  171. data/lib/jets/commands/templates/skeleton/config/environments/test.rb +7 -0
  172. data/lib/jets/commands/templates/skeleton/config/routes.rb +9 -0
  173. data/lib/jets/commands/templates/skeleton/db/.gitkeep +0 -0
  174. data/lib/jets/commands/templates/skeleton/public/404.html +67 -0
  175. data/lib/jets/commands/templates/skeleton/public/422.html +67 -0
  176. data/lib/jets/commands/templates/skeleton/public/500.html +66 -0
  177. data/lib/jets/commands/templates/skeleton/public/favicon.ico +0 -0
  178. data/lib/jets/commands/templates/skeleton/public/index.html.tt +91 -0
  179. data/lib/jets/commands/templates/skeleton/spec/controllers/posts_controller_spec.rb +15 -0
  180. data/lib/jets/commands/templates/skeleton/spec/fixtures/payloads/posts-index.json +51 -0
  181. data/lib/jets/commands/templates/skeleton/spec/fixtures/payloads/posts-show.json +53 -0
  182. data/lib/jets/commands/templates/skeleton/spec/spec_helper.rb.tt +30 -0
  183. data/lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt +14 -0
  184. data/lib/jets/commands/templates/webpacker/app/javascript/packs/theme.scss.tt +24 -0
  185. data/lib/jets/commands/templates/webpacker/app/javascript/src/jets/crud.js +87 -0
  186. data/lib/jets/commands/upgrade.rb +145 -0
  187. data/lib/jets/commands/upgrade/templates/bin/webpack +19 -0
  188. data/lib/jets/commands/upgrade/templates/bin/webpack-dev-server +19 -0
  189. data/lib/jets/commands/url.rb +68 -0
  190. data/lib/jets/commands/webpacker_template.rb +18 -0
  191. data/lib/jets/controller.rb +3 -0
  192. data/lib/jets/controller/base.rb +108 -0
  193. data/lib/jets/controller/callbacks.rb +68 -0
  194. data/lib/jets/controller/cookies.rb +38 -0
  195. data/lib/jets/controller/cookies/jar.rb +269 -0
  196. data/lib/jets/controller/layout.rb +17 -0
  197. data/lib/jets/controller/middleware/cors.rb +60 -0
  198. data/lib/jets/controller/middleware/local.rb +116 -0
  199. data/lib/jets/controller/middleware/local/api_gateway.rb +93 -0
  200. data/lib/jets/controller/middleware/local/mimic_aws_call.rb +38 -0
  201. data/lib/jets/controller/middleware/local/route_matcher.rb +106 -0
  202. data/lib/jets/controller/middleware/main.rb +46 -0
  203. data/lib/jets/controller/middleware/reloader.rb +15 -0
  204. data/lib/jets/controller/middleware/webpacker_setup.rb +6 -0
  205. data/lib/jets/controller/params.rb +87 -0
  206. data/lib/jets/controller/rack/adapter.rb +88 -0
  207. data/lib/jets/controller/rack/env.rb +105 -0
  208. data/lib/jets/controller/redirection.rb +55 -0
  209. data/lib/jets/controller/rendering.rb +79 -0
  210. data/lib/jets/controller/rendering/rack_renderer.rb +250 -0
  211. data/lib/jets/controller/request.rb +29 -0
  212. data/lib/jets/controller/response.rb +61 -0
  213. data/lib/jets/controller/stage.rb +33 -0
  214. data/lib/jets/core.rb +149 -0
  215. data/lib/jets/core_ext/kernel.rb +13 -0
  216. data/lib/jets/db.rb +15 -0
  217. data/lib/jets/dotenv.rb +48 -0
  218. data/lib/jets/dotenv/ssm.rb +48 -0
  219. data/lib/jets/erb.rb +51 -0
  220. data/lib/jets/generator.rb +48 -0
  221. data/lib/jets/generator/templates/erb/controller/view.html.erb +2 -0
  222. data/lib/jets/generator/templates/erb/scaffold/_form.html.erb +39 -0
  223. data/lib/jets/generator/templates/erb/scaffold/edit.html.erb +6 -0
  224. data/lib/jets/generator/templates/erb/scaffold/index.html.erb +29 -0
  225. data/lib/jets/generator/templates/erb/scaffold/new.html.erb +5 -0
  226. data/lib/jets/generator/templates/erb/scaffold/show.html.erb +9 -0
  227. data/lib/jets/generator/templates/rails/assets/javascript.js +2 -0
  228. data/lib/jets/generator/templates/rails/assets/stylesheet.css +4 -0
  229. data/lib/jets/generator/templates/rails/controller/controller.rb +13 -0
  230. data/lib/jets/generator/templates/rails/helper/helper.rb +4 -0
  231. data/lib/jets/generator/templates/rails/scaffold/scaffold.css +80 -0
  232. data/lib/jets/generator/templates/rails/scaffold_controller/api_controller.rb +62 -0
  233. data/lib/jets/generator/templates/rails/scaffold_controller/controller.rb +79 -0
  234. data/lib/jets/inflections.rb +32 -0
  235. data/lib/jets/internal/app/controllers/jets/mailers_controller.rb +97 -0
  236. data/lib/jets/internal/app/controllers/jets/public_controller.rb +31 -0
  237. data/lib/jets/internal/app/controllers/jets/rack_controller.rb +25 -0
  238. data/lib/jets/internal/app/functions/jets/base_path.rb +157 -0
  239. data/lib/jets/internal/app/helpers/jets/mailers_helper.rb +9 -0
  240. data/lib/jets/internal/app/jobs/jets/preheat_job.rb +70 -0
  241. data/lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb +43 -0
  242. data/lib/jets/internal/app/views/jets/mailers/email.html.erb +145 -0
  243. data/lib/jets/internal/app/views/jets/mailers/index.html.erb +8 -0
  244. data/lib/jets/internal/app/views/jets/mailers/mailer.html.erb +6 -0
  245. data/lib/jets/internal/turbines/jets/mailer.rb +51 -0
  246. data/lib/jets/job/base.rb +39 -0
  247. data/lib/jets/job/dsl.rb +40 -0
  248. data/lib/jets/job/dsl/dynamodb_event.rb +65 -0
  249. data/lib/jets/job/dsl/event_source_mapping.rb +11 -0
  250. data/lib/jets/job/dsl/iot_event.rb +24 -0
  251. data/lib/jets/job/dsl/kinesis_event.rb +46 -0
  252. data/lib/jets/job/dsl/log_event.rb +15 -0
  253. data/lib/jets/job/dsl/rule_event.rb +75 -0
  254. data/lib/jets/job/dsl/s3_event.rb +36 -0
  255. data/lib/jets/job/dsl/sns_event.rb +54 -0
  256. data/lib/jets/job/dsl/sqs_event.rb +96 -0
  257. data/lib/jets/job/helpers/kinesis_event_helper.rb +13 -0
  258. data/lib/jets/job/helpers/log_event_helper.rb +17 -0
  259. data/lib/jets/job/helpers/s3_event_helper.rb +13 -0
  260. data/lib/jets/klass.rb +109 -0
  261. data/lib/jets/lambda/dsl.rb +419 -0
  262. data/lib/jets/lambda/function.rb +29 -0
  263. data/lib/jets/lambda/function_constructor.rb +55 -0
  264. data/lib/jets/lambda/functions.rb +34 -0
  265. data/lib/jets/lambda/task.rb +111 -0
  266. data/lib/jets/logger.rb +21 -0
  267. data/lib/jets/mega/hash_converter.rb +25 -0
  268. data/lib/jets/mega/request.rb +139 -0
  269. data/lib/jets/mega/request/source.rb +21 -0
  270. data/lib/jets/middleware.rb +33 -0
  271. data/lib/jets/middleware/configurator.rb +84 -0
  272. data/lib/jets/middleware/default_stack.rb +51 -0
  273. data/lib/jets/middleware/layer.rb +34 -0
  274. data/lib/jets/middleware/stack.rb +77 -0
  275. data/lib/jets/naming.rb +49 -0
  276. data/lib/jets/overrides/lambda.rb +1 -0
  277. data/lib/jets/overrides/lambda/marshaller.rb +31 -0
  278. data/lib/jets/overrides/rails.rb +4 -0
  279. data/lib/jets/overrides/rails/asset_tag_helper.rb +114 -0
  280. data/lib/jets/overrides/rails/common_methods.rb +13 -0
  281. data/lib/jets/overrides/rails/rendering_helper.rb +26 -0
  282. data/lib/jets/overrides/rails/url_helper.rb +25 -0
  283. data/lib/jets/poly_fun.rb +73 -0
  284. data/lib/jets/poly_fun/base_executor.rb +125 -0
  285. data/lib/jets/poly_fun/lambda_executor.rb +16 -0
  286. data/lib/jets/poly_fun/node_error.rb +8 -0
  287. data/lib/jets/poly_fun/node_executor.rb +54 -0
  288. data/lib/jets/poly_fun/python_error.rb +8 -0
  289. data/lib/jets/poly_fun/python_executor.rb +23 -0
  290. data/lib/jets/preheat.rb +117 -0
  291. data/lib/jets/processors/deducer.rb +65 -0
  292. data/lib/jets/processors/main_processor.rb +61 -0
  293. data/lib/jets/rack_server.rb +86 -0
  294. data/lib/jets/rdoc.rb +30 -0
  295. data/lib/jets/resource.rb +71 -0
  296. data/lib/jets/resource/api_gateway/base_path/function.rb +42 -0
  297. data/lib/jets/resource/api_gateway/base_path/mapping.rb +44 -0
  298. data/lib/jets/resource/api_gateway/base_path/role.rb +76 -0
  299. data/lib/jets/resource/api_gateway/cors.rb +61 -0
  300. data/lib/jets/resource/api_gateway/deployment.rb +78 -0
  301. data/lib/jets/resource/api_gateway/domain_name.rb +59 -0
  302. data/lib/jets/resource/api_gateway/method.rb +98 -0
  303. data/lib/jets/resource/api_gateway/resource.rb +101 -0
  304. data/lib/jets/resource/api_gateway/rest_api.rb +56 -0
  305. data/lib/jets/resource/api_gateway/rest_api/change_detection.rb +42 -0
  306. data/lib/jets/resource/api_gateway/rest_api/logical_id.rb +63 -0
  307. data/lib/jets/resource/api_gateway/rest_api/routes.rb +7 -0
  308. data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +8 -0
  309. data/lib/jets/resource/api_gateway/rest_api/routes/change/base.rb +130 -0
  310. data/lib/jets/resource/api_gateway/rest_api/routes/change/to.rb +29 -0
  311. data/lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb +39 -0
  312. data/lib/jets/resource/api_gateway/rest_api/routes/collision.rb +121 -0
  313. data/lib/jets/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +7 -0
  314. data/lib/jets/resource/associated.rb +37 -0
  315. data/lib/jets/resource/base.rb +28 -0
  316. data/lib/jets/resource/child_stack/api_deployment.rb +56 -0
  317. data/lib/jets/resource/child_stack/api_gateway.rb +53 -0
  318. data/lib/jets/resource/child_stack/app_class.rb +107 -0
  319. data/lib/jets/resource/child_stack/base.rb +24 -0
  320. data/lib/jets/resource/child_stack/shared.rb +92 -0
  321. data/lib/jets/resource/config/config_rule.rb +74 -0
  322. data/lib/jets/resource/config/managed_rule.rb +15 -0
  323. data/lib/jets/resource/events/rule.rb +31 -0
  324. data/lib/jets/resource/iam/application_role.rb +27 -0
  325. data/lib/jets/resource/iam/base_role_definition.rb +47 -0
  326. data/lib/jets/resource/iam/class_role.rb +74 -0
  327. data/lib/jets/resource/iam/function_role.rb +54 -0
  328. data/lib/jets/resource/iam/managed_policy.rb +22 -0
  329. data/lib/jets/resource/iam/policy_document.rb +41 -0
  330. data/lib/jets/resource/iot/topic_rule.rb +34 -0
  331. data/lib/jets/resource/lambda/event_source_mapping.rb +31 -0
  332. data/lib/jets/resource/lambda/function.rb +214 -0
  333. data/lib/jets/resource/lambda/function/environment.rb +62 -0
  334. data/lib/jets/resource/lambda/gem_layer.rb +17 -0
  335. data/lib/jets/resource/lambda/layer_version.rb +44 -0
  336. data/lib/jets/resource/logs/subscription_filter.rb +31 -0
  337. data/lib/jets/resource/permission.rb +45 -0
  338. data/lib/jets/resource/replacer.rb +85 -0
  339. data/lib/jets/resource/route53/record_set.rb +70 -0
  340. data/lib/jets/resource/s3/bucket.rb +24 -0
  341. data/lib/jets/resource/sns/subscription.rb +29 -0
  342. data/lib/jets/resource/sns/topic.rb +35 -0
  343. data/lib/jets/resource/sns/topic_policy.rb +40 -0
  344. data/lib/jets/resource/sqs/queue.rb +21 -0
  345. data/lib/jets/resource/standardizer.rb +42 -0
  346. data/lib/jets/route.rb +166 -0
  347. data/lib/jets/router.rb +177 -0
  348. data/lib/jets/router/scope.rb +30 -0
  349. data/lib/jets/rule/base.rb +19 -0
  350. data/lib/jets/rule/dsl.rb +110 -0
  351. data/lib/jets/spec_helpers.rb +54 -0
  352. data/lib/jets/spec_helpers/params.rb +10 -0
  353. data/lib/jets/spec_helpers/request.rb +78 -0
  354. data/lib/jets/spec_helpers/response.rb +5 -0
  355. data/lib/jets/stack.rb +88 -0
  356. data/lib/jets/stack/builder.rb +43 -0
  357. data/lib/jets/stack/definition.rb +50 -0
  358. data/lib/jets/stack/depends.rb +34 -0
  359. data/lib/jets/stack/depends/item.rb +9 -0
  360. data/lib/jets/stack/function.rb +69 -0
  361. data/lib/jets/stack/main.rb +4 -0
  362. data/lib/jets/stack/main/dsl.rb +28 -0
  363. data/lib/jets/stack/main/dsl/base.rb +49 -0
  364. data/lib/jets/stack/main/dsl/cloudwatch.rb +19 -0
  365. data/lib/jets/stack/main/dsl/iam.rb +8 -0
  366. data/lib/jets/stack/main/dsl/lambda.rb +83 -0
  367. data/lib/jets/stack/main/dsl/s3.rb +12 -0
  368. data/lib/jets/stack/main/dsl/sns.rb +16 -0
  369. data/lib/jets/stack/main/dsl/sqs.rb +10 -0
  370. data/lib/jets/stack/output.rb +35 -0
  371. data/lib/jets/stack/output/dsl.rb +19 -0
  372. data/lib/jets/stack/output/lookup.rb +36 -0
  373. data/lib/jets/stack/parameter.rb +37 -0
  374. data/lib/jets/stack/parameter/dsl.rb +42 -0
  375. data/lib/jets/stack/resource.rb +31 -0
  376. data/lib/jets/stack/resource/dsl.rb +19 -0
  377. data/lib/jets/stack/s3_event.rb +87 -0
  378. data/lib/jets/tmp_loader.rb +52 -0
  379. data/lib/jets/turbine.rb +41 -0
  380. data/lib/jets/turbo.rb +55 -0
  381. data/lib/jets/turbo/database_yaml.rb +41 -0
  382. data/lib/jets/turbo/project/.gitignore +12 -0
  383. data/lib/jets/turbo/project/.jetskeep +1 -0
  384. data/lib/jets/turbo/project/Gemfile +16 -0
  385. data/lib/jets/turbo/project/Rakefile +2 -0
  386. data/lib/jets/turbo/project/app/controllers/application_controller.rb +2 -0
  387. data/lib/jets/turbo/project/app/helpers/application_helper.rb +2 -0
  388. data/lib/jets/turbo/project/app/jobs/application_job.rb +4 -0
  389. data/lib/jets/turbo/project/config.ru +5 -0
  390. data/lib/jets/turbo/project/config/application.rb +4 -0
  391. data/lib/jets/turbo/project/config/routes.rb +4 -0
  392. data/lib/jets/turbo/rails.rb +127 -0
  393. data/lib/jets/turbo/templates/config/database.yml +26 -0
  394. data/lib/jets/util.rb +38 -0
  395. data/lib/jets/version.rb +3 -0
  396. data/readme/prerelease.md +6 -0
  397. data/readme/testing.md +60 -0
  398. metadata +1004 -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,84 @@
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. If you repeatedly fail to provide enough
15
+ details, you may be blocked from ever submitting issues to Jets again.
16
+ Please use your best judgment. 👍
17
+
18
+ If you are unsure this is a bug in Jets, please consider asking your question at:
19
+ https://community.rubyonjets.com
20
+
21
+ Thanks!
22
+ -->
23
+
24
+ ## Checklist
25
+
26
+ <!--
27
+ 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.
28
+ -->
29
+
30
+ - [ ] 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/
31
+ - [ ] 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
32
+ - [ ] 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.
33
+
34
+ ## My Environment
35
+
36
+ <!-- Please fill out the table below with debugging info to help: -->
37
+
38
+ | Software | Version |
39
+ | ---------------- | ------- |
40
+ | Operating System | |
41
+ | Jets | |
42
+ | Ruby | |
43
+
44
+ ---
45
+
46
+ ## Expected Behaviour
47
+
48
+ <!--
49
+ 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.
50
+ -->
51
+
52
+ ## Current Behavior
53
+
54
+ <!--
55
+ Describe the details of the bug. Try to keep this to one-paragraph.
56
+ -->
57
+
58
+ ## Step-by-step reproduction instructions
59
+
60
+ <!--
61
+ Be sure to include any steps you took for the problem to exist. This is likely the longest part of the report.
62
+
63
+ 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
64
+
65
+ With long logs, you can also use the <details> tag to keep the report readable. Example:
66
+
67
+ <details>
68
+ <summary>Summary Goes Here</summary>
69
+
70
+ ...this is hidden, collapsable content. start with a blank to get terminal output to format right...
71
+ </details>
72
+ -->
73
+
74
+ ## Code Sample
75
+
76
+ <!--
77
+ Please provide a code repository, gist, code snippet or sample files to reproduce the issue.
78
+ -->
79
+
80
+ ## Solution Suggestion
81
+
82
+ <!--
83
+ 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.
84
+ -->
@@ -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
+ Gemfile.lock
24
+ .byebug_history
File without changes
@@ -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,734 @@
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/).
5
+
6
+ ## [1.9.32]
7
+ - #317 fix jets deploy when no /tmp/jets exists yet
8
+
9
+ ## [1.9.31]
10
+ - #307 Update comment in Gemfile template
11
+ - #315 Improve spec_helpers: Use Rack::Multipart utils to properly build body params (especially with files and nested hashes)from galetahub/master
12
+ - #316 Copy .ruby-version file to build directory
13
+
14
+ ## [1.9.30]
15
+ - #305 allow url paths that contain dashes
16
+
17
+ ## [1.9.29]
18
+ - #303 API Gateway: Do not generate resource names longer than 62 characters
19
+ - #304 Add skip\_before\_action and skip\_after\_action method callbacks
20
+
21
+ ## [1.9.28]
22
+ - #302 improve jets call guesser, do a simple detection at the start
23
+
24
+ ## [1.9.27]
25
+ - sync stdout by default
26
+
27
+ ## [1.9.26]
28
+ - fix ssm dotenv support: ensure Jets.config.project_name is set
29
+
30
+ ## [1.9.25]
31
+ - load dotenv earlier so can use in config/application.rb
32
+
33
+ ## [1.9.24]
34
+ - #301 Fix jets call for long function names. Lookup actual function names for long functions
35
+
36
+ ## [1.9.23]
37
+ - #300 use .jets/project folder for afterburner instead of .jets/app
38
+
39
+ ## [1.9.22]
40
+ - allow usage of env vars in class methods
41
+
42
+ ## [1.9.21]
43
+ - #299 shorten auto-generated iam policy for vpc
44
+
45
+ ## [1.9.20]
46
+ - #298 remove network calls on jets bootup process
47
+ - set AWS_ACCOUNT env var on function to prevent the sts call on Jets.boot on AWS Lambda
48
+ - dont load dotenv on aws lambda, already defined
49
+
50
+ ## [1.9.19]
51
+ - #295 dotenv env extra support, fix precedence again
52
+ - #296 automatically add vpc permissions when using vpc_config at the application-wide iam level
53
+
54
+ ## [1.9.18]
55
+ - #233 SSM Parameter Store support for dotenv files
56
+ - #293 Improvements to SSM Parameter Store support
57
+
58
+ ## [1.9.17]
59
+ - #292 fix routes change detection, aws_lambda client
60
+
61
+ ## [1.9.16]
62
+ - Removed #290, can use the application-wide IAM policy instead
63
+
64
+ ## [1.9.15]
65
+ - #289 add sqs url to shared sqs queue resource
66
+ - #290 allow adjustment for preheat job iam policy
67
+
68
+ ## [1.9.14]
69
+ - #288 fix shared eager loading so only shared classes are loaded
70
+ - #287 fix lambda url on the jets call command
71
+
72
+ ## [1.9.13]
73
+ - #285 optimize by moving reloader middleware after shotgun static middleware
74
+
75
+ ## [1.9.12]
76
+ - #284 use `@@reload_lock` class variable instead of global variable
77
+
78
+ ## [1.9.11]
79
+ - #283 use mutex during reloading
80
+
81
+ ## [1.9.10]
82
+ - #276 Correct CloudFormation debugging url
83
+ - #277 hot reload views for development mode
84
+
85
+ ## [1.9.9]
86
+ - #275 warn about bundler/setup failure
87
+
88
+ ## [1.9.8]
89
+ - #272 Jets Autoloaders with zeitwerk
90
+ - #273 remove need for forked rails
91
+ - #274 remove jets-gems as vendor dependency
92
+
93
+ ## [1.9.7]
94
+ - #271 fix deploy for job mode with no config/routes.rb file
95
+
96
+ ## [1.9.6]
97
+ - #268 Fix starter crud.js due to core-js module
98
+ - #269 Bundler.setup to fix namespace autovivification
99
+
100
+ ## [1.9.5]
101
+ - #266 replace classify with camelize
102
+
103
+ ## [1.9.4]
104
+ - #265 bug fix: show jets url at the end of a jets deploy
105
+
106
+ ## [1.9.3]
107
+ - #264 auto reload routes for development
108
+
109
+ ## [1.9.2]
110
+ - #232 Rename lambda method to aws_lambda to avoid ruby keyword collision
111
+ - #259 fix stage name in dev mode for redirect also
112
+ - #262 Handle nil body on mega request proxy
113
+ - #263 fix for static files now that not using shotgun
114
+
115
+ ## [1.9.1]
116
+ - #257 dont generate handlers for concerns
117
+ - #258 from Fix custom domain base mapping
118
+
119
+ ## [1.9.0]
120
+ - #249 docs grammar improvements
121
+ - #252 docs cli improvements
122
+ - #254 speed up development auto reloading
123
+ - #256 dont add /dev prefix if on_cloud9
124
+
125
+ ## [1.8.14]
126
+ - update jets-gems
127
+
128
+ ## [1.8.13]
129
+ - s3_event: fix s3 bucket ensure_exists check
130
+
131
+ ## [1.8.12]
132
+ - #243 Update activerecord docs
133
+ - #244 Make ENV['HOME'] an absolute path because some file operations will barf otherwise
134
+ - #247 Fix Jets afterburner: fix wait_for_socket on aws lambda, rescue Errno::EAFNOSUPPORT
135
+
136
+ ## [1.8.11]
137
+ - #242 adjust resp when request coming from elb
138
+ - update jets generate scaffold post casing
139
+
140
+ ## [1.8.10]
141
+ - #208 add jets degenerate as opposite of generator
142
+ - #219 fix circleci usage, remove CIRCLECI env
143
+ - #222 fix config.function.dead_letter_config in starter application.rb
144
+ - #223 add jets degenerate as opposite of generator cleanup
145
+ - #224 add jets degenerate as opposite of generator cleanup
146
+ - #228 organize docs better into subfolders
147
+ - #230 Fix ValidationError branch of Cfn::Ship#update_stack
148
+ - #231 Add git submodules to contributing documentation.
149
+ - #234 Better API mode controller generator
150
+ - #238 Fix routing link in considerations-api-gateway doc
151
+ - #239 autoload concerns and allow them to work
152
+
153
+ ## [1.8.9]
154
+ - JETS\_DEBUG\_EAGER_LOAD flag
155
+ - #216 fix webpacker v3.5 to v4 upgrade related issues
156
+
157
+ ## [1.8.8]
158
+ - #206 cache aws service clients globally for lambda performance
159
+ - #211 Jets controller rescue_from support http://rubyonjets.com/docs/rescue-from/
160
+ - #212 fix s3 event function for long bucket names
161
+
162
+ ## [1.8.7]
163
+ - #204 from CodingAnarchy/boot-missing-env
164
+ - #205 rename to rule_event
165
+ - add ref helper method
166
+ - deprecate: events_rule and event_pattern
167
+
168
+ ## [1.8.6]
169
+ - #202 fix on_aws detection when using cloud9 hostname. Fixes #201
170
+ - user friendly error message when s3 bucket name has already been taken
171
+
172
+ ## [1.8.5]
173
+ - #198 DynamoDB Stream Event Support
174
+ - #199 Kinesis Event support
175
+
176
+ ## [1.8.4]
177
+ - rename s3_event_message to s3_event helper
178
+
179
+ ## [1.8.3]
180
+ - #196 CloudWatch Log Event support
181
+ - #197 IoT Event Support
182
+
183
+ ## [1.8.2]
184
+ - fix Jets.on_exception reporting
185
+
186
+ ## [1.8.1]
187
+ - #194 fix jets eager load, order by path length
188
+ - #193 jets new fails during jets webpacker:install
189
+
190
+ ## [1.8.0]
191
+ - #191 Email Support via ActionMailer
192
+ - #192 S3 Event Support
193
+ - Turbine after_initializer
194
+ - Improve Jets.boot ordering
195
+
196
+ ## [1.7.2]
197
+ - #189: spec_helpers: `get` request now converts dangling params to query params. `query` keyword can be used to do the same thing explicitly.
198
+ - #190 SNS Event Lambda Trigger Support
199
+ - Start rack server on 127.0.0.1 for mega mode
200
+
201
+ ## [1.7.1]
202
+ - fix Turbines with no initializer blocks
203
+
204
+ ## [1.7.0]
205
+ - #188 sqs event support
206
+
207
+ ## [1.6.9]
208
+ - #184 improve default cors options request access-control-allow-methods
209
+
210
+ ## [1.6.8]
211
+ - #181 cors middleware
212
+ - #182 more robust handler shim
213
+ - fix polymorphic get_source_path path
214
+ - only upgrade config.ru if exists
215
+
216
+ ## [1.6.7]
217
+ - update faq: JETS_AGREE no interruption flag
218
+
219
+ ## [1.6.6]
220
+ - #175 Fix invalid route changes reading routine when route contains more than one variable in path
221
+ - #175 Fix invalid lambda function names for controllers in deep namespaces like A::B::MyController
222
+ - #176 fix cors for specific domains
223
+ - #177 check if rsync is installed. also stop on sh fail
224
+ - #178 strip trailing period from custom domain if accidentally set
225
+
226
+ ## [1.6.5]
227
+ - #173 application/xml content-type on render xml
228
+
229
+ ## [1.6.4]
230
+ - #171 fix precedence of dotenv files
231
+ - update cors comment on generated skeleton app
232
+
233
+ ## [1.6.3]
234
+ - #168 cors specific authorization_type, default none
235
+ - cors defaults to false. enabled with config.cors = true in config/application.rb
236
+
237
+ ## [1.6.2]
238
+ - #165 remove always trailing slash from Jets.root
239
+ - #166 fix cors headers
240
+ - #167 controller authorization_type declaration
241
+
242
+ ## [1.6.1]
243
+ - #162 from patchkit-net/feature/spec_helpers
244
+ - #163 from tongueroo/spec-helpers
245
+ - Add jets/spec/helpers.rb with rails-style controller testing helpers
246
+ - #164 from tongueroo/encoding-fix: use encoding from content-type for mega request
247
+ - use rainbow gem for terminal colors
248
+
249
+ ## [1.6.0]
250
+ - #158 from mmyoji/fix-docs-urls
251
+ - #159 from patchkit-net/bugfix/invalid-longpath-collision Fix invalid collision detection on paths that already contains path variables
252
+ - #161 from tongueroo/iam-role-name remove pretty iam role name, let CloudFormation generate
253
+
254
+ ## [1.5.10]
255
+ - #157 Improve Route Change Detection: Path Variables
256
+
257
+ ## [1.5.9]
258
+ - #154 from tongueroo/variable-collision raise error on multiple sibling variable paths collision
259
+ - #156 from konnected-io/master: don't prewarm jobs, only prewarm controllers
260
+ - ensure remove BUNDLED WITH remove when no project Gemfile.lock and it gets created by build process
261
+ - jets upgrade: add dynomite to gemfile if needed
262
+ - only clean submodules for bundler version 2+
263
+ - turbo wrapper project: remove Gemfile.lock and let afterburner mode run on latest jets version
264
+ - use pessimistic version for dependencies
265
+
266
+ ## [1.5.8]
267
+ - #155 remove BUNDLED WITH from Gemfile.lock to fix newly released bundler issue
268
+
269
+ ## [1.5.7]
270
+ - Fix prepend_* callbacks: These could modify a global callback array if used first
271
+
272
+ ## [1.5.6]
273
+ - #149 from patchkit-net/feature/prepend-append-callbacks Add prepend/append_before_action and prepend/append_after_action callbacks
274
+ - #150 special s3 url for us-east-1
275
+
276
+ ## [1.5.5]
277
+ - #148 check reserved lambda variables and let user know
278
+
279
+ ## [1.5.4]
280
+ - #146 add and point to helpful docs on deploy error
281
+ - #147 update turbo Gemfile.lock, fixes Jets afterburner when using custom layers
282
+ - slimmer job mode Gemfile
283
+
284
+ ## [1.5.3]
285
+ - #142 from tongueroo/rails-api-afterburner fix jets afterburner for rails api mode apps
286
+
287
+ ## [1.5.2]
288
+ - #138 from patchkit-net/feature/before_action_chain_break Change before_action behavior: allow chain break
289
+ - #139 from patchkit-net/bugfix/spec-gem-files-dir Fix jets.gemspec files listing method
290
+ - #140 from patchkit-net/feature/config-logger Add configurable Jets.application.config.logger
291
+ - Change before_action behavior: When any before action renders or redirects, the filter chain
292
+ is halted, and action code is not executed. This allows before_action to act as guards.
293
+ - Fix jets.gemspec how git command is executed to list files. The listing no longer needs to be done
294
+ from the jets root directory. This change enables including Jets as local bundler gem.
295
+ - Add Jets.application.config.logger field to enable custom logger instance to
296
+ be configured in config/environments/*.rb files.
297
+ - Fix scaffold ajax redirect url
298
+
299
+ ## [1.5.1]
300
+ - #137 from tongueroo/gems-check bypass gems check exit for custom lambda layers
301
+
302
+ ## [1.5.0]
303
+ - #135 from tongueroo/remove-rails-constant Remove Rails Constant
304
+ - #136 from tongueroo/routes-namespace routes namespace support (experimental: will be adjusted)
305
+
306
+ ## [1.4.11]
307
+ - #133 from tongueroo/custom-layer add custom lambda layer support
308
+ - #134 from tongueroo/remove-dynomite-vendor remove vendor/dynomite
309
+
310
+ ## [1.4.10]
311
+ - update vendor/dynomite: fix index creation dsl
312
+
313
+ ## [1.4.9]
314
+ - update vendor/dynomite
315
+ - #128 from Atul9/update-license: update copyright year
316
+ - #130 from tongueroo/fix-specs
317
+
318
+ ## [1.4.8]
319
+ - disable prewarm in `jets new` job mode
320
+
321
+ ## [1.4.7]
322
+ - only create preheat job if prewarm.enable
323
+
324
+ ## [1.4.6]
325
+ - #118 from tongueroo/fix-mega-query-string
326
+ - #120 from tongueroo/tidy-webpacker
327
+ - #123 from tongueroo/cp-r
328
+ - #124 from tongueroo/webpacker-update
329
+ - #125 from tongueroo/fix-redirect-for-custom-domains
330
+ - #126 from tongueroo/route-53-option config.domain.route53 option
331
+ - #127 from tongueroo/github-templates
332
+ - more specific regexp for project_name in parse_project_name
333
+ - tidy webpacker app/javascript/src and public/packs to keep code sizes down
334
+
335
+ ## [1.4.5]
336
+ - include JETS_PROJECT_NAME as jets_env function var when set
337
+
338
+ ## [1.4.4]
339
+ - #116 from tongueroo/assets: fix public assets folders to serve directly from s3
340
+
341
+ ## [1.4.3]
342
+ - fix webpacker:compile on jets build and allow jets deploy to work standalone
343
+
344
+ ## [1.4.2]
345
+ - fix webpacker:compile on jets build
346
+
347
+ ## [1.4.1]
348
+ - allow jets url to run in afterburner mode
349
+ - #111 from tongueroo/db-seed fix jets db:seed
350
+ - #112 from tongueroo/jets-project-name fix JETS_ENV=production jets deploy
351
+ - allow JETS_PROJECT_NAME override
352
+
353
+ ## [1.4.0]
354
+ - Afterburner mode: Allows you to deploy from within a Rails app
355
+ - #110 from tongueroo/jet-pack: Turbo charge mode: enabling afterburner
356
+ - Afterburner is recommended over Mega Mode.
357
+
358
+ ## [1.3.9]
359
+ - #106 from eamsc/sqs-special-map
360
+ - #107 from eamsc/sqs-resource
361
+ - Added SQS sdk/client/resource for use in custom resources
362
+ - Fix shared ruby function runtime
363
+
364
+ ## [1.3.8]
365
+ - Merge pull request #101 from eamsc/sqs-special-map Added SQS RedrivePolicy attributes to special map because they aren't being properly camelized.
366
+ - Merge pull request #102 from eamsc/resource-symbol-sub fix for undefined method `sub` for symbol
367
+
368
+ ## [1.3.7]
369
+ - #100 from tongueroo/vendor-gems bundle in vendor/gems folder to avoid vendor/bundle collison
370
+ - use database from cli option in api mode for new
371
+
372
+ ## [1.3.6]
373
+ - Merge pull request #91 from mveer99/patch-1 jets deploy production docs
374
+ - #96 from tongueroo/mega-mode-prod-deploy fix mega mode prod deploy, fix typo
375
+ - #97 from tongueroo/jets-delete-env support jets delete ENV
376
+ - #98 from tongueroo/support-import-bb-and-gitlab add import support for bitbucket and gitlab also
377
+
378
+ ## [1.3.5]
379
+ - Merge pull request #90 from tongueroo/on-exception fix on_exception hook
380
+
381
+ ## [1.3.4]
382
+ - fix gem replacer for macosx by using rsync to copy
383
+
384
+ ## [1.3.3]
385
+ - Revert Merge pull request #88 from mveer99/master: faulty -T cp option for now
386
+
387
+ ## [1.3.2]
388
+ - Merge pull request #88 from mveer99/master: faulty -T cp option
389
+
390
+ ## [1.3.1]
391
+ - Merge pull request #87 from tongueroo/on-exception
392
+ - fix helpers for binary support
393
+ - deprecate report_exception in favor of on_exception
394
+ - docs: binary upload support
395
+
396
+ ## [1.3.0]
397
+ - Official AWS Ruby Support
398
+ - Ruby Version 2.5.3 upgrade
399
+ - Gem Layer introduced
400
+ - Removed node shim
401
+ - Build purger: /tmp/jets/project is auto purge when major or minor version changes
402
+ - Update default gems source to https://gems2.lambdagems.com
403
+
404
+ ## [1.2.1]
405
+ - remove comments about routes workaround, auto blue-green deployments resolves this
406
+
407
+ ## [1.2.0]
408
+ - major upgrades: binary support, custom domain, bluegreen
409
+ - binary support
410
+ - custom domains support: http://rubyonjets.com/docs/routing-custom-domain/
411
+ - automated bluegreen deploy for api gateway when needed: http://rubyonjets.com/docs/blue-green-deployment/
412
+ - Merge pull request #84 from tongueroo/bluegreen
413
+
414
+ ## [1.1.5]
415
+ - Support multiple path parameters. Also allow path parameters to hold any value other than '/'.
416
+ - Merge pull request #82 from adam-harwood/master
417
+
418
+ ## [1.1.4]
419
+ - Fully qualify bundle install path, to fix issue when building on CodeBuild. Fixes #80.
420
+ - Merge pull request #81 from adam-harwood/master
421
+
422
+ ## [1.1.3]
423
+ - Merge pull request #79 from tongueroo/misc-fixes
424
+ - fix has_poly? check to account for shared functions
425
+ - fix jets new mode job copy_options
426
+ - fix Jets Turbine require active support fixes issue #78
427
+ - parse for project name as workaround to avoid double loading config/application.rb
428
+
429
+ ## [1.1.2]
430
+ - Add option to specify authorization type application-wide option and on a per-route basis.
431
+ - Add option to specify endpoint type of the ApiGateway: config.api.endpoint_type option
432
+ - pull request #74 from adam-harwood/route_authorization
433
+ - pull request #75 from adam-harwood/apig_endpoint_configuration
434
+ - pull request #76 from tongueroo/api-endpoint
435
+ - pull request #77 from tongueroo/api-auth
436
+ - fix jets new, comment out building of middleware during boot for now
437
+
438
+ ## [1.1.1]
439
+ - provide instructions to run jets upgrade for config.ru update
440
+
441
+ ## [1.1.0]
442
+ - rack compatibility pull request #72 from tongueroo/rack
443
+ - remove Jets::Timing pull request #73 from tongueroo/rm-timing
444
+
445
+ ## [1.0.18]
446
+ - re-raise exception properly after reporting locally
447
+
448
+ ## [1.0.17]
449
+ - Initial Jets Turbine support. http://rubyonjets.com/docs/jets-turbines/
450
+ - pull request #71 from tongueroo/turbine
451
+ - Addresses #70 Exception reporting
452
+
453
+ ## [1.0.16]
454
+ - fix application iam policy when Jets::Application.default_iam_policy is used in config/application.rb
455
+ - #69 from tongueroo/fix-app-iam-policy
456
+
457
+ ## [1.0.15]
458
+ - Fix polymorphic support: #67 from tongueroo/poly-fixes
459
+ - update .env.development example
460
+ - remove debugging puts
461
+
462
+ ## [1.0.13]
463
+ - Fix notice when Jets fails to create first git commit This happens when user doesn't have git credentials available yet
464
+ - Merge pull request #63 from onnimonni/fix-missing-git-credentials
465
+
466
+ ## [1.0.12]
467
+ - Fix notice when Jets tries to use aws-cli even when it's not available in PATH
468
+ - Merge pull request #62 from onnimonni/fix-notice-missing-aws-cli
469
+
470
+ ## [1.0.11]
471
+ - Don't fail if AWS credentials are missing Fixes #60
472
+ - Merge pull request #61 from onnimonni/fix-missing-aws-credentials-local-server
473
+
474
+ ## [1.0.10]
475
+ - remove emoji from skeleton index.html starter
476
+
477
+ ## [1.0.9]
478
+ - adjust starter .env.development and config/application.rb
479
+
480
+ ## [1.0.8]
481
+ - fix s3 assets to work with custom domains #58 from tongueroo/fix-assets
482
+
483
+ ## [1.0.7]
484
+ - jets new: adjust skeleton template project
485
+ - jets import:rails: update config/database.yml
486
+
487
+ ## [1.0.6]
488
+ - method fixes: account for inheritance and private keyword #57
489
+
490
+ ## [1.0.5]
491
+ - change config.lambdagems to config.gems
492
+ - friendly info message when yarn is not installed
493
+ - improve rails:import rack/config/database.yml generation
494
+ - update gems check
495
+
496
+ ## [1.0.4]
497
+ - import:rails reconfigure database.yml pull request #56 from tongueroo/database-yml
498
+
499
+ ## [1.0.3]
500
+ - Allow control to prewarming of rack endpoint more
501
+ - add config.prewarm.rack_ratio setting pull request #55 from tongueroo/prewarm-rack-more
502
+
503
+ ## [1.0.2]
504
+ - jets import:rails --submodule option. pull request #54 from tongueroo/import
505
+ - upgrade to jets-gems. pull request #53 from tongueroo/gems
506
+ - jets gems:check command
507
+ - jets gems:sources hidden command
508
+
509
+ ## [1.0.1]
510
+ - jets upgrade command
511
+ - Merge pull request #52 from tongueroo/upgrade-command
512
+
513
+ ## [1.0.0]
514
+ - Mega Mode: Rails Support, Rack Support
515
+ - jets import:rails command
516
+ - Lazy Loading Support
517
+ - MySQL support. MySQL is default for jets new command.
518
+ - Separate Environment configuration support
519
+ - Default function timeout 30s now and 60s for jobs
520
+ - Improve config/inflections.yml support
521
+ - Improve shim: organized code
522
+ - Improve static asset serving
523
+ - Improve deploy performance: lazy loading, separate zip files, and only reupload if md5 checksums change.
524
+ - Improve handler generation: ShimVars concept.
525
+ - Improve code builder: Tidy class
526
+ - Improve cfn builder: separate out cfn upload
527
+ - Improve Jets IO buffer handling
528
+ - Merge pull request #48 from tongueroo/megamode2
529
+
530
+ ## [0.10.4]
531
+ - Merge pull request #51 from tongueroo/fix-aws-account: fix aws account lookup when ~/.aws/config not configured
532
+ - deprecate config.api_mode for api.mode = "api"
533
+
534
+ ## [0.10.3]
535
+ - expose Jets::Application.default_iam_policy so user can re-use
536
+
537
+ ## [0.10.2]
538
+ - fix cloudformation config rule permission race condition with depends on
539
+ - simplify --templates only cli option
540
+ - update config rules docs
541
+
542
+ ## [0.10.1]
543
+ - clear @associated_properties bug
544
+ - fix jets new . , Merge pull request #46 from tongueroo/jets-new-dot
545
+ - update upgrade notes
546
+
547
+ ## [0.10.0]
548
+ - Breaking: Changed logical ids. Refer to upgrading notes: http://rubyonjets.com/docs/upgrading/
549
+ - Merge pull request #45 from tongueroo/remove-internal-welcome
550
+ - Fix routing: Allow multiple paths to point to same controller action
551
+
552
+ ## [0.9.2]
553
+ - s3 assets support: Merge pull request #44 from tongueroo/s3-assets
554
+
555
+ ## [0.9.1]
556
+ - add upgrading notes
557
+ - fix iam policies: flatten
558
+
559
+ ## [0.9.0]
560
+ - Breaking: Changed logical ids. Refer to upgrading notes: http://rubyonjets.com/docs/upgrading/
561
+ - Pretty big update: introduce concept of Shared Resources and Stack DSL
562
+ - Stack DSL: To support the concept of Custom Shared Resources. Supports extensions and simple functions also.
563
+ - Stack DSL: Allow for control of DependsOn attribute.
564
+ - Stack DSL: `MyStack.lookup` method
565
+ - 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.
566
+ - Associated resource extensions support
567
+ - Associated resources multiple form support: long, medium, short
568
+ - Add `jets new --mode`: 3 modes: html, api, job. Remove the `--api`
569
+ - IAM policies inherit from higher precedence and superclasses.
570
+ - Add `jets runner` command
571
+ - Fix AWS Config Rules support
572
+ - Rename event_rule to events_rule
573
+ - Remove submodule project demo fixture in favor of spec/fixtures/apps/franky
574
+ - Add spec/bin/integration.sh - Simpler than the CI one and more immediately useful
575
+ - Improve AWS Config Rules docs
576
+ - Add config rules namespace setting
577
+ - Custom inflections support
578
+
579
+ ## [0.8.18]
580
+ - improve performance of Jets.aws.region, pull request #40 from tongueroo/dir-glob
581
+
582
+ ## [0.8.17]
583
+ - fix Jets.eager_load
584
+
585
+ ## [0.8.16]
586
+ - add minimal deploy iam policy docs
587
+ - harden deploy, auto delete minimal stack in rollback_completed
588
+ - Merge pull request #38 from tongueroo/harden-deploy-rollbacks
589
+
590
+ ## [0.8.15]
591
+ - fix route resources macro for api mode pull request #35
592
+ - remove pg dependency from jets and add as part of project Gemfile pull request #36
593
+
594
+ ## [0.8.14]
595
+ - Add faq docs
596
+ - add setting response headers support for cookies: pull request #31
597
+ - Replace `Timing` header with `X-Runtime`: pull request #30 from y8/patch-1
598
+
599
+ ## [0.8.13]
600
+ - even simpler iam policy expansions: pull request #27 from tongueroo/iam
601
+ - specify rdoc options: pull request #28 from tongueroo/rdoc
602
+ - add gem version badge and specify ruby 2.5.x requirement in gemspec
603
+
604
+ ## [0.8.12]
605
+ - fix jets gem summary and description
606
+
607
+ ## [0.8.11]
608
+ - Inherit class properties from parent classes PR #25
609
+ - Make more puts like methods show up in cloudwatch logs
610
+ - Fix add_logical_id_counter to events
611
+
612
+ ## [0.8.10]
613
+ - allow perform_now to run with default empty event
614
+ - fix env_properties in function resource, fixes stage name
615
+
616
+ ## [0.8.9]
617
+ - clean up convenience properties and add rest of them PR #24
618
+
619
+ ## [0.8.8]
620
+ - fix cron expression
621
+
622
+ ## [0.8.7]
623
+ - add JETS_ENV_REMOTE and fix database config load for jets console
624
+
625
+ ## [0.8.6]
626
+ - fix local server
627
+
628
+ ## [0.8.5]
629
+ - Rename to Camelizer PR #23
630
+ - Fix helpers PR #22
631
+
632
+ ## [0.8.4]
633
+ - fix custom iam policies
634
+ - fix edge case: allow stack to be delete in rollback completed state
635
+
636
+ ## [0.8.3]
637
+ - adjust prewarm.public_ratio default to 10
638
+
639
+ ## [0.8.2]
640
+ - add prewarm.public_ratio option: http://rubyonjets.com/docs/prewarming/
641
+
642
+ ## [0.8.1]
643
+ - Upgrade all cfn resources to use the core jets resource model: request #21 from tongueroo/core-resource2
644
+ - Rid of mimimal-stack.yml and use jets core resource model
645
+ - Rescue encoding exception for the Jets IO flush to prevent process from crashing
646
+ - wip: binary support, set proper isBase64Encoded for binary content, but commented out binary media types due to form post breaking
647
+
648
+ ## [0.8.0]
649
+ - Introduce core resource, pull request #20
650
+ - Future template generation will lead to core resource. Start the move away from the older cfn template generator logic.
651
+ - Allows for more control and customization of the associated resources with the lambda functions.
652
+ - Allows multiple associated resources to be connected to a lambda function.
653
+ - Support for CloudWatch event patterns, not just scheduled expression
654
+
655
+ ## [0.7.1]
656
+ - fix application-wide config.iam_policy ability
657
+
658
+ ## [0.7.0]
659
+ - add managed_iam_policy concept, pull request #19
660
+ - bump to 0.7.0, enough changes since 0.6.x
661
+
662
+ ## [0.6.9]
663
+ - add aws managed rule support, pull request #18
664
+
665
+ ## [0.6.8]
666
+ - add jets clean:log and clean:build commands pull request #17
667
+ - allow integration.sh test script to run locally
668
+
669
+ ## [0.6.7]
670
+ - eager load jets lib also, pull request #16
671
+
672
+ ## [0.6.6]
673
+ - improve puts handling: PR #15
674
+
675
+ ## [0.6.5]
676
+ - fix prewarming after a deploy
677
+
678
+ ## [0.6.4]
679
+ - fix client.puts(result)
680
+
681
+ ## [0.6.3]
682
+ - fix app logging: pull request #14
683
+
684
+ ## [0.6.2]
685
+ - add versions to gemspec dependencies
686
+
687
+ ## [0.6.1]
688
+ - only prewarm if Jets::PreheatJob.warm available
689
+
690
+ ## [0.6.0]
691
+ - fine grain iam policy abilities: pull request #13 from tongueroo/iam-policy
692
+ - changed quite a few logical ids in the CloudFormation templates
693
+
694
+ ## [0.5.8]
695
+ - fix config.prewarm defaults
696
+
697
+ ## [0.5.7]
698
+ - adjust default function memory size to 1536
699
+
700
+ ## [0.5.6]
701
+ - use Lambdagem.log_level = :info
702
+
703
+ ## [0.5.5]
704
+ - clean old git submodules from cache to reduce cache bloat
705
+ - dont prewarm after deploy if disabled :pull request #12
706
+ - update docs
707
+
708
+ ## [0.5.4]
709
+ - add route check before cloudformation update: pull request #11
710
+ - hide confusing debugging logs for node shim for user
711
+ - update docs, grammar fixes
712
+ - update initial welcome page, improve mobile, use encoding: utf-8 for starter index page
713
+ - update to use Jets::RUBY_VERSION
714
+
715
+ ## [0.5.3]
716
+ - add x-jets-prewarm-count and x-jets-call-count headers: pull request #10 from tongueroo/call-count
717
+ - adjust default prewarming concurrency to 2
718
+ - Jets.eager_load as part of warmup
719
+ - rename config.prewarm.enable
720
+ - update docs
721
+
722
+ ## [0.5.2]
723
+ - format the js error in the node shim properly
724
+
725
+ ## [0.5.1]
726
+ - fix gemspec
727
+ - fix Docker base build, comment out unneeded broken maven
728
+ - update docs
729
+
730
+ ## [0.5.0]
731
+ - First big good release
732
+
733
+ ## [0.1.2]
734
+ - Fix bundled gems.