jets 5.0.17 → 6.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (769) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -19
  3. data/Gemfile +4 -0
  4. data/README.md +19 -165
  5. data/Rakefile +3 -3
  6. data/exe/jets +2 -1
  7. data/jets.gemspec +15 -22
  8. data/lib/jets/api/agree.rb +62 -0
  9. data/lib/jets/api/base.rb +8 -0
  10. data/lib/jets/api/client.rb +246 -0
  11. data/lib/jets/api/config.rb +73 -0
  12. data/lib/jets/api/error.rb +70 -0
  13. data/lib/jets/api/ping.rb +9 -0
  14. data/lib/jets/api/project.rb +9 -0
  15. data/lib/jets/api/release.rb +17 -0
  16. data/lib/jets/api/response.rb +27 -0
  17. data/lib/jets/api/sig.rb +13 -0
  18. data/lib/jets/api/stack.rb +14 -0
  19. data/lib/jets/api.rb +17 -0
  20. data/lib/jets/autoloaders/gem.rb +47 -58
  21. data/lib/jets/autoloaders/main.rb +64 -0
  22. data/lib/jets/autoloaders.rb +14 -43
  23. data/lib/jets/aws_services/aws_helpers.rb +17 -0
  24. data/lib/jets/{aws_info.rb → aws_services/aws_info.rb} +24 -17
  25. data/lib/jets/aws_services/global_memoist.rb +9 -4
  26. data/lib/jets/aws_services/s3_bucket.rb +8 -10
  27. data/lib/jets/aws_services/stack_status.rb +5 -31
  28. data/lib/jets/aws_services.rb +36 -17
  29. data/lib/jets/bundle.rb +9 -7
  30. data/lib/jets/cfn/base.rb +16 -5
  31. data/lib/jets/cfn/bootstrap.rb +13 -0
  32. data/lib/jets/cfn/builder/interface.rb +22 -31
  33. data/lib/jets/cfn/builder/parent/genesis.rb +84 -0
  34. data/lib/jets/cfn/builder/post_process.rb +3 -3
  35. data/lib/jets/cfn/delete.rb +17 -0
  36. data/lib/jets/cfn/deploy.rb +151 -0
  37. data/lib/jets/cfn/iam/managed_policy.rb +21 -0
  38. data/lib/jets/cfn/iam/policy.rb +121 -0
  39. data/lib/jets/cfn/resource/associated.rb +1 -1
  40. data/lib/jets/cfn/resource/codebuild/fleet.rb +48 -0
  41. data/lib/jets/cfn/resource/codebuild/iam_role.rb +63 -0
  42. data/lib/jets/cfn/resource/codebuild/project/base.rb +4 -0
  43. data/lib/jets/cfn/resource/codebuild/project/ec2.rb +125 -0
  44. data/lib/jets/cfn/resource/codebuild/project/env.rb +55 -0
  45. data/lib/jets/cfn/resource/codebuild/project/format_env.rb +35 -0
  46. data/lib/jets/cfn/resource/codebuild/project/lambda.rb +15 -0
  47. data/lib/jets/cfn/resource/replacer.rb +5 -5
  48. data/lib/jets/cfn/resource/s3/bucket.rb +3 -3
  49. data/lib/jets/cfn/resource/s3/jets_bucket.rb +9 -18
  50. data/lib/jets/cfn/resource/standardizer.rb +11 -9
  51. data/lib/jets/cfn/rollback.rb +8 -0
  52. data/lib/jets/cfn/stack/deployable.rb +16 -0
  53. data/lib/jets/cfn/stack/rollback.rb +59 -0
  54. data/lib/jets/cfn/stack/template.rb +47 -0
  55. data/lib/jets/cfn/stack/yamler.rb +53 -0
  56. data/lib/jets/cfn/stack.rb +24 -0
  57. data/lib/jets/cfn/status.rb +41 -6
  58. data/lib/jets/cfn/teardown/bucket.rb +79 -0
  59. data/lib/jets/cfn/teardown.rb +20 -0
  60. data/lib/jets/cli/base.rb +46 -0
  61. data/lib/jets/cli/bootstrap.rb +17 -0
  62. data/lib/jets/cli/build.rb +8 -0
  63. data/lib/jets/cli/call.rb +133 -0
  64. data/lib/jets/cli/ci/base.rb +54 -0
  65. data/lib/jets/cli/ci/build.rb +8 -0
  66. data/lib/jets/cli/ci/delete.rb +25 -0
  67. data/lib/jets/cli/ci/deploy.rb +17 -0
  68. data/lib/jets/cli/ci/info.rb +40 -0
  69. data/lib/jets/cli/ci/init.rb +97 -0
  70. data/lib/jets/cli/ci/logs.rb +10 -0
  71. data/lib/jets/cli/ci/start.rb +121 -0
  72. data/lib/jets/cli/ci/status.rb +29 -0
  73. data/lib/jets/cli/ci/stop.rb +24 -0
  74. data/lib/jets/cli/ci/tailer.rb +17 -0
  75. data/lib/jets/cli/ci/templates/ci.rb.tt +19 -0
  76. data/lib/jets/cli/ci.rb +55 -0
  77. data/lib/jets/cli/clean.rb +10 -0
  78. data/lib/jets/cli/concurrency/base.rb +17 -0
  79. data/lib/jets/cli/concurrency/get.rb +37 -0
  80. data/lib/jets/cli/concurrency/info.rb +86 -0
  81. data/lib/jets/cli/concurrency/set.rb +31 -0
  82. data/lib/jets/cli/concurrency/unset.rb +21 -0
  83. data/lib/jets/cli/concurrency.rb +33 -0
  84. data/lib/jets/cli/curl/adapter/base.rb +8 -0
  85. data/lib/jets/cli/curl/adapter/cookies/jar.rb +28 -0
  86. data/lib/jets/cli/curl/adapter/cookies/parser.rb +48 -0
  87. data/lib/jets/cli/curl/adapter/lambda.rb +142 -0
  88. data/lib/jets/cli/curl/request.rb +62 -0
  89. data/lib/jets/cli/curl.rb +9 -0
  90. data/lib/jets/cli/delete.rb +23 -0
  91. data/lib/jets/cli/deploy.rb +18 -0
  92. data/lib/jets/cli/dotenv/base.rb +4 -0
  93. data/lib/jets/cli/dotenv/get.rb +14 -0
  94. data/lib/jets/cli/dotenv/list.rb +32 -0
  95. data/lib/jets/cli/dotenv/set.rb +50 -0
  96. data/lib/jets/cli/dotenv/ssm.rb +60 -0
  97. data/lib/jets/cli/dotenv/unset.rb +11 -0
  98. data/lib/jets/cli/dotenv.rb +28 -0
  99. data/lib/jets/cli/env/base.rb +13 -0
  100. data/lib/jets/cli/env/get.rb +13 -0
  101. data/lib/jets/cli/env/list.rb +19 -0
  102. data/lib/jets/cli/env/parse.rb +11 -0
  103. data/lib/jets/cli/env/set.rb +25 -0
  104. data/lib/jets/cli/env/unset.rb +17 -0
  105. data/lib/jets/cli/env.rb +29 -0
  106. data/lib/jets/cli/exec/command.rb +61 -0
  107. data/lib/jets/cli/exec/repl/history.rb +42 -0
  108. data/lib/jets/cli/exec/repl.rb +122 -0
  109. data/lib/jets/cli/exec.rb +14 -0
  110. data/lib/jets/cli/functions.rb +39 -0
  111. data/lib/jets/cli/generate/event.rb +29 -0
  112. data/lib/jets/cli/generate/templates/application_event.rb.tt +6 -0
  113. data/lib/jets/cli/generate/templates/event_types/application_event.rb +4 -0
  114. data/lib/jets/cli/generate/templates/event_types/dynamodb.rb.tt +6 -0
  115. data/lib/jets/cli/generate/templates/event_types/iot.rb.tt +6 -0
  116. data/lib/jets/{generators/job → cli/generate}/templates/event_types/kinesis.rb.tt +2 -4
  117. data/lib/jets/{generators/job → cli/generate}/templates/event_types/log.rb.tt +2 -4
  118. data/lib/jets/{generators/job → cli/generate}/templates/event_types/rule.rb.tt +2 -4
  119. data/lib/jets/cli/generate/templates/event_types/s3.rb.tt +13 -0
  120. data/lib/jets/cli/generate/templates/event_types/scheduled.rb.tt +6 -0
  121. data/lib/jets/cli/generate/templates/event_types/sns.rb.tt +8 -0
  122. data/lib/jets/cli/generate/templates/event_types/sqs.rb.tt +9 -0
  123. data/lib/jets/cli/generate.rb +6 -0
  124. data/lib/jets/cli/group/actions.rb +57 -0
  125. data/lib/jets/cli/group/base.rb +12 -0
  126. data/lib/jets/cli/group/helpers.rb +26 -0
  127. data/lib/jets/cli/help/build.md +1 -0
  128. data/lib/jets/cli/help/call.md +28 -0
  129. data/lib/jets/cli/help/curl.md +82 -0
  130. data/lib/jets/{command → cli}/help/delete.md +4 -4
  131. data/lib/jets/cli/help/deploy.md +5 -0
  132. data/lib/jets/cli/help/dotenv/get.md +4 -0
  133. data/lib/jets/cli/help/dotenv/list.md +5 -0
  134. data/lib/jets/cli/help/dotenv/set.md +25 -0
  135. data/lib/jets/cli/help/dotenv/unset.md +12 -0
  136. data/lib/jets/cli/help/exec.md +53 -0
  137. data/lib/jets/cli/help/generate/event.md +11 -0
  138. data/lib/jets/{command → cli}/help/logs.md +2 -2
  139. data/lib/jets/{command/help/releases.md → cli/help/release/history.md} +3 -3
  140. data/lib/jets/cli/help/rollback.md +5 -0
  141. data/lib/jets/cli/help/schedule/validate.md +1 -0
  142. data/lib/jets/{command → cli}/help/status.md +1 -1
  143. data/lib/jets/cli/help.rb +16 -0
  144. data/lib/jets/cli/init/detect.rb +30 -0
  145. data/lib/jets/cli/init/templates/config/jets/bootstrap.rb.tt +16 -0
  146. data/lib/jets/cli/init/templates/config/jets/deploy.rb.tt +43 -0
  147. data/lib/jets/cli/init/templates/config/jets/project.rb.tt +3 -0
  148. data/lib/jets/cli/init/templates/env/.env.tt +18 -0
  149. data/lib/jets/cli/init.rb +66 -0
  150. data/lib/jets/cli/lambda/checks.rb +22 -0
  151. data/lib/jets/cli/lambda/function.rb +104 -0
  152. data/lib/jets/cli/lambda/functions.rb +10 -0
  153. data/lib/jets/cli/lambda/lookup.rb +68 -0
  154. data/lib/jets/cli/login.rb +7 -0
  155. data/lib/jets/cli/logout.rb +7 -0
  156. data/lib/jets/cli/logs.rb +40 -0
  157. data/lib/jets/cli/maintenance/base.rb +15 -0
  158. data/lib/jets/cli/maintenance/mode.rb +44 -0
  159. data/lib/jets/cli/maintenance/web.rb +31 -0
  160. data/lib/jets/cli/maintenance/worker/base.rb +22 -0
  161. data/lib/jets/cli/maintenance/worker/restorer.rb +19 -0
  162. data/lib/jets/cli/maintenance/worker/saver.rb +15 -0
  163. data/lib/jets/cli/maintenance/worker/zeroer.rb +19 -0
  164. data/lib/jets/cli/maintenance/worker.rb +31 -0
  165. data/lib/jets/cli/maintenance.rb +32 -0
  166. data/lib/jets/cli/package/dockerfile.rb +9 -0
  167. data/lib/jets/cli/package.rb +8 -0
  168. data/lib/jets/cli/ping.rb +10 -0
  169. data/lib/jets/cli/projects.rb +22 -0
  170. data/lib/jets/cli/release/base.rb +4 -0
  171. data/lib/jets/cli/release/history.rb +68 -0
  172. data/lib/jets/cli/release/info.rb +59 -0
  173. data/lib/jets/cli/release/rollback.rb +15 -0
  174. data/lib/jets/cli/release.rb +23 -0
  175. data/lib/jets/cli/schedule/base.rb +5 -0
  176. data/lib/jets/cli/schedule/translate.rb +168 -0
  177. data/lib/jets/cli/schedule/validate.rb +95 -0
  178. data/lib/jets/cli/schedule.rb +15 -0
  179. data/lib/jets/cli/stacks.rb +33 -0
  180. data/lib/jets/cli/stop.rb +31 -0
  181. data/lib/jets/cli/teardown.rb +8 -0
  182. data/lib/jets/cli/tip.rb +86 -0
  183. data/lib/jets/cli/url.rb +41 -0
  184. data/lib/jets/cli/waf/base.rb +7 -0
  185. data/lib/jets/cli/waf/build.rb +8 -0
  186. data/lib/jets/cli/waf/delete.rb +17 -0
  187. data/lib/jets/cli/waf/deploy.rb +17 -0
  188. data/lib/jets/cli/waf/info.rb +128 -0
  189. data/lib/jets/cli/waf/init.rb +40 -0
  190. data/lib/jets/cli/waf/templates/waf.rb.tt +26 -0
  191. data/lib/jets/cli/waf.rb +38 -0
  192. data/lib/jets/cli.rb +180 -28
  193. data/lib/jets/code/copy/base.rb +84 -0
  194. data/lib/jets/code/copy/full.rb +9 -0
  195. data/lib/jets/code/copy/git_copy.rb +26 -0
  196. data/lib/jets/code/copy/git_inline.rb +13 -0
  197. data/lib/jets/code/copy/rsync.rb +19 -0
  198. data/lib/jets/code/dummy.rb +11 -0
  199. data/lib/jets/code/stager.rb +124 -0
  200. data/lib/jets/code/user.rb +24 -0
  201. data/lib/jets/code.rb +80 -0
  202. data/lib/jets/core/booter.rb +58 -0
  203. data/lib/jets/core/config/base.rb +17 -0
  204. data/lib/jets/core/config/bootstrap/cfn.rb +12 -0
  205. data/lib/jets/core/config/bootstrap/code.rb +16 -0
  206. data/lib/jets/core/config/bootstrap/codebuild.rb +97 -0
  207. data/lib/jets/core/config/bootstrap/s3_bucket.rb +19 -0
  208. data/lib/jets/core/config/bootstrap.rb +24 -0
  209. data/lib/jets/core/config/helpers/ssm.rb +9 -0
  210. data/lib/jets/core/config/helpers.rb +5 -0
  211. data/lib/jets/core/config/info.rb +27 -0
  212. data/lib/jets/core/config/project.rb +103 -0
  213. data/lib/jets/core.rb +26 -202
  214. data/lib/jets/core_ext/bundler.rb +6 -4
  215. data/lib/jets/core_ext.rb +0 -1
  216. data/lib/jets/dotenv/convention.rb +86 -0
  217. data/lib/jets/dotenv/ssm.rb +61 -38
  218. data/lib/jets/dotenv/var.rb +60 -0
  219. data/lib/jets/dotenv.rb +55 -50
  220. data/lib/jets/event/base.rb +55 -0
  221. data/lib/jets/event/dsl/dynamodb_event.rb +8 -0
  222. data/lib/jets/event/dsl/iot_event.rb +17 -0
  223. data/lib/jets/event/dsl/kinesis_event.rb +8 -0
  224. data/lib/jets/event/dsl/log_event.rb +8 -0
  225. data/lib/jets/event/dsl/rate_expression.rb +27 -0
  226. data/lib/jets/event/dsl/s3_event.rb +7 -0
  227. data/lib/jets/event/dsl/scheduled_event.rb +53 -0
  228. data/lib/jets/event/dsl/sns_event.rb +8 -0
  229. data/lib/jets/event/dsl/sqs_event.rb +8 -0
  230. data/lib/jets/{job → event}/dsl.rb +7 -12
  231. data/lib/jets/{job → event}/helpers/kinesis_event.rb +2 -2
  232. data/lib/jets/{job → event}/helpers/log_event.rb +5 -5
  233. data/lib/jets/event/helpers/s3_event.rb +76 -0
  234. data/lib/jets/event/helpers/sns_event.rb +16 -0
  235. data/lib/jets/event/helpers/sqs_event.rb +23 -0
  236. data/lib/jets/event/s3.rb +21 -0
  237. data/lib/jets/git/azure.rb +64 -0
  238. data/lib/jets/git/base.rb +26 -0
  239. data/lib/jets/git/bitbucket.rb +30 -0
  240. data/lib/jets/git/circleci.rb +23 -0
  241. data/lib/jets/git/codebuild.rb +49 -0
  242. data/lib/jets/git/custom.rb +32 -0
  243. data/lib/jets/git/git_cli.rb +28 -0
  244. data/lib/jets/git/github.rb +48 -0
  245. data/lib/jets/git/gitlab.rb +30 -0
  246. data/lib/jets/git/info.rb +39 -0
  247. data/lib/jets/git/local.rb +69 -0
  248. data/lib/jets/git/saved.rb +16 -0
  249. data/lib/jets/git/user.rb +33 -0
  250. data/lib/jets/git.rb +5 -0
  251. data/lib/jets/lambda/definition.rb +22 -16
  252. data/lib/jets/lambda/dsl.rb +394 -394
  253. data/lib/jets/lambda/function_constructor.rb +1 -2
  254. data/lib/jets/lambda/functions.rb +10 -25
  255. data/lib/jets/names.rb +5 -17
  256. data/lib/jets/prewarm.rb +27 -0
  257. data/lib/jets/rdoc.rb +2 -2
  258. data/lib/jets/remote/base.rb +11 -0
  259. data/lib/jets/remote/download.rb +65 -0
  260. data/lib/jets/remote/runner.rb +101 -0
  261. data/lib/jets/remote/tailer.rb +272 -0
  262. data/lib/jets/shim/adapter/alb.rb +16 -0
  263. data/lib/jets/shim/adapter/apigw.rb +37 -0
  264. data/lib/jets/shim/adapter/base.rb +16 -0
  265. data/lib/jets/shim/adapter/command.rb +21 -0
  266. data/lib/jets/shim/adapter/event.rb +27 -0
  267. data/lib/jets/shim/adapter/fallback.rb +64 -0
  268. data/lib/jets/shim/adapter/lambda.rb +35 -0
  269. data/lib/jets/shim/adapter/prewarm.rb +27 -0
  270. data/lib/jets/shim/adapter/web.rb +145 -0
  271. data/lib/jets/shim/config.rb +71 -0
  272. data/lib/jets/shim/handler.rb +60 -0
  273. data/lib/jets/shim/maintenance/maintenance.html +45 -0
  274. data/lib/jets/shim/maintenance.rb +37 -0
  275. data/lib/jets/shim/response/alb.rb +10 -0
  276. data/lib/jets/shim/response/apigw.rb +4 -0
  277. data/lib/jets/shim/response/base.rb +124 -0
  278. data/lib/jets/shim/response/lambda.rb +4 -0
  279. data/lib/jets/shim/response/web.rb +4 -0
  280. data/lib/jets/shim.rb +46 -0
  281. data/lib/jets/stack/{main/dsl → dsl/main}/base.rb +2 -23
  282. data/lib/jets/stack/dsl/main/cloudwatch.rb +6 -0
  283. data/lib/jets/stack/dsl/main/iam.rb +6 -0
  284. data/lib/jets/stack/dsl/main/kinesis.rb +6 -0
  285. data/lib/jets/stack/dsl/main/lambda.rb +39 -0
  286. data/lib/jets/stack/dsl/main/s3.rb +9 -0
  287. data/lib/jets/stack/dsl/main/sns.rb +12 -0
  288. data/lib/jets/stack/dsl/main/sqs.rb +6 -0
  289. data/lib/jets/stack/dsl/main.rb +15 -0
  290. data/lib/jets/stack/dsl/output.rb +11 -0
  291. data/lib/jets/stack/dsl/parameter.rb +11 -0
  292. data/lib/jets/stack/dsl/resource.rb +11 -0
  293. data/lib/jets/stack/dsl.rb +10 -0
  294. data/lib/jets/stack/{output/lookup.rb → outputs.rb} +7 -6
  295. data/lib/jets/stack.rb +11 -58
  296. data/lib/jets/thor/auth.rb +96 -0
  297. data/lib/jets/thor/base.rb +155 -0
  298. data/lib/jets/thor/help.rb +129 -0
  299. data/lib/jets/thor/project_check.rb +50 -0
  300. data/lib/jets/thor/shared_options.rb +31 -0
  301. data/lib/jets/thor/version_check.rb +51 -0
  302. data/lib/jets/util/call_line.rb +9 -0
  303. data/lib/jets/util/camelize.rb +1 -1
  304. data/lib/jets/util/git.rb +11 -0
  305. data/lib/jets/util/logging.rb +16 -0
  306. data/lib/jets/util/pretty.rb +23 -0
  307. data/lib/jets/util/sh.rb +38 -0
  308. data/lib/jets/util/sure.rb +25 -0
  309. data/lib/jets/util/truthy.rb +9 -0
  310. data/lib/jets/util/yamler.rb +3 -5
  311. data/lib/jets/version.rb +1 -1
  312. data/lib/jets.rb +4 -8
  313. metadata +339 -604
  314. data/.circleci/config.yml +0 -92
  315. data/.cody/README.md +0 -13
  316. data/.cody/docs/bin/build.sh +0 -7
  317. data/.cody/docs/bin/bundler_setup.sh +0 -8
  318. data/.cody/docs/bin/cli_docs.sh +0 -6
  319. data/.cody/docs/bin/git_commit.sh +0 -27
  320. data/.cody/docs/bin/git_setup.sh +0 -12
  321. data/.cody/docs/bin/subnav.sh +0 -14
  322. data/.cody/docs/buildspec.yml +0 -10
  323. data/.cody/docs/project.rb +0 -10
  324. data/Dockerfile +0 -16
  325. data/Dockerfile.base +0 -53
  326. data/Guardfile +0 -22
  327. data/Procfile +0 -2
  328. data/engines/internal/app/controllers/jets/application_controller.rb +0 -28
  329. data/engines/internal/app/controllers/jets/bare_controller.rb +0 -6
  330. data/engines/internal/app/controllers/jets/health_controller.rb +0 -55
  331. data/engines/internal/app/controllers/jets/info_controller.rb +0 -45
  332. data/engines/internal/app/controllers/jets/mailers_controller.rb +0 -95
  333. data/engines/internal/app/controllers/jets/mount_controller.rb +0 -59
  334. data/engines/internal/app/controllers/jets/public_controller.rb +0 -35
  335. data/engines/internal/app/controllers/jets/welcome_controller.rb +0 -9
  336. data/engines/internal/app/functions/jets/base_path.rb +0 -109
  337. data/engines/internal/app/functions/jets/base_path_mapping.rb +0 -191
  338. data/engines/internal/app/jobs/jets/preheat_job.rb +0 -64
  339. data/engines/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -33
  340. data/engines/internal/app/views/jets/info/properties.html.erb +0 -1
  341. data/engines/internal/app/views/jets/info/routes.html.erb +0 -10
  342. data/engines/internal/app/views/jets/mailers/email.html.erb +0 -165
  343. data/engines/internal/app/views/jets/mailers/index.html.erb +0 -8
  344. data/engines/internal/app/views/jets/mailers/mailer.html.erb +0 -6
  345. data/engines/internal/app/views/jets/welcome/index.html.erb +0 -95
  346. data/engines/internal/app/views/layouts/application.html.erb +0 -51
  347. data/engines/internal/lib/internal/actiondispatch.rb +0 -39
  348. data/engines/internal/lib/internal/actionmailer.rb +0 -51
  349. data/engines/internal/lib/internal/actionview.rb +0 -152
  350. data/engines/internal/lib/internal/activerecord.rb +0 -37
  351. data/engines/internal/lib/internal/activesupport.rb +0 -47
  352. data/engines/internal/lib/internal/engine.rb +0 -13
  353. data/engines/internal/lib/internal/i18n_engine.rb +0 -19
  354. data/engines/internal/lib/internal/jets_controller.rb +0 -46
  355. data/engines/internal/lib/internal/overrides/debug_exceptions.rb +0 -40
  356. data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +0 -62
  357. data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +0 -9
  358. data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +0 -70
  359. data/engines/internal/lib/internal/turbines/helpers.rb +0 -18
  360. data/engines/internal/lib/internal/turbines/routes_helpers.rb +0 -42
  361. data/lib/jets/app_loader.rb +0 -77
  362. data/lib/jets/application/bootstrap.rb +0 -100
  363. data/lib/jets/application/configuration/defaults.rb +0 -256
  364. data/lib/jets/application/configuration.rb +0 -494
  365. data/lib/jets/application/default_middleware_stack.rb +0 -140
  366. data/lib/jets/application/dummy_erb_compiler.rb +0 -18
  367. data/lib/jets/application/finisher.rb +0 -266
  368. data/lib/jets/application/routes_reloader.rb +0 -80
  369. data/lib/jets/application.rb +0 -556
  370. data/lib/jets/authorizer/base.rb +0 -37
  371. data/lib/jets/authorizer/dsl.rb +0 -73
  372. data/lib/jets/authorizer/helpers/iam_helper.rb +0 -49
  373. data/lib/jets/autoloaders/inflector.rb +0 -21
  374. data/lib/jets/backtrace_cleaner.rb +0 -27
  375. data/lib/jets/booter.rb +0 -78
  376. data/lib/jets/builders/code_builder.rb +0 -359
  377. data/lib/jets/builders/code_size.rb +0 -58
  378. data/lib/jets/builders/gem_replacer.rb +0 -83
  379. data/lib/jets/builders/handler_generator.rb +0 -214
  380. data/lib/jets/builders/lambda_layer.rb +0 -63
  381. data/lib/jets/builders/md5.rb +0 -60
  382. data/lib/jets/builders/md5_zip.rb +0 -61
  383. data/lib/jets/builders/purger.rb +0 -35
  384. data/lib/jets/builders/rack_packager.rb +0 -51
  385. data/lib/jets/builders/rackup_wrappers/rackup +0 -19
  386. data/lib/jets/builders/rackup_wrappers/rackup.rb +0 -7
  387. data/lib/jets/builders/ruby_packager.rb +0 -288
  388. data/lib/jets/builders/shim_vars/app.rb +0 -82
  389. data/lib/jets/builders/shim_vars/base.rb +0 -25
  390. data/lib/jets/builders/shim_vars/shared.rb +0 -37
  391. data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +0 -33
  392. data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +0 -20
  393. data/lib/jets/builders/templates/handlers/one_lambda_per_method.rb +0 -18
  394. data/lib/jets/builders/tidy.rb +0 -107
  395. data/lib/jets/builders/util.rb +0 -31
  396. data/lib/jets/cfn/builder/api/base.rb +0 -12
  397. data/lib/jets/cfn/builder/api/deployment.rb +0 -46
  398. data/lib/jets/cfn/builder/api/gateway.rb +0 -106
  399. data/lib/jets/cfn/builder/api/mapping.rb +0 -54
  400. data/lib/jets/cfn/builder/api/methods.rb +0 -72
  401. data/lib/jets/cfn/builder/api/paged.rb +0 -30
  402. data/lib/jets/cfn/builder/api/pages/base.rb +0 -105
  403. data/lib/jets/cfn/builder/api/pages/methods.rb +0 -17
  404. data/lib/jets/cfn/builder/api/pages/page.rb +0 -19
  405. data/lib/jets/cfn/builder/api/pages/resources.rb +0 -21
  406. data/lib/jets/cfn/builder/api/resources.rb +0 -40
  407. data/lib/jets/cfn/builder/authorizer.rb +0 -64
  408. data/lib/jets/cfn/builder/controller.rb +0 -28
  409. data/lib/jets/cfn/builder/function.rb +0 -9
  410. data/lib/jets/cfn/builder/job.rb +0 -10
  411. data/lib/jets/cfn/builder/nested.rb +0 -130
  412. data/lib/jets/cfn/builder/one_controller.rb +0 -53
  413. data/lib/jets/cfn/builder/parent/stagger.rb +0 -34
  414. data/lib/jets/cfn/builder/parent.rb +0 -149
  415. data/lib/jets/cfn/builder/rule.rb +0 -20
  416. data/lib/jets/cfn/builder/shared.rb +0 -15
  417. data/lib/jets/cfn/builder/util/source.rb +0 -21
  418. data/lib/jets/cfn/builder.rb +0 -230
  419. data/lib/jets/cfn/deployment.rb +0 -85
  420. data/lib/jets/cfn/download.rb +0 -39
  421. data/lib/jets/cfn/params/api/base.rb +0 -39
  422. data/lib/jets/cfn/params/api/cors.rb +0 -10
  423. data/lib/jets/cfn/params/api/methods.rb +0 -69
  424. data/lib/jets/cfn/params/api/resources.rb +0 -28
  425. data/lib/jets/cfn/params/common.rb +0 -14
  426. data/lib/jets/cfn/resource/api_gateway/authorizer.rb +0 -82
  427. data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +0 -57
  428. data/lib/jets/cfn/resource/api_gateway/base_path/mapping.rb +0 -45
  429. data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +0 -70
  430. data/lib/jets/cfn/resource/api_gateway/deployment.rb +0 -73
  431. data/lib/jets/cfn/resource/api_gateway/domain_name.rb +0 -65
  432. data/lib/jets/cfn/resource/api_gateway/method/authorization.rb +0 -41
  433. data/lib/jets/cfn/resource/api_gateway/method.rb +0 -92
  434. data/lib/jets/cfn/resource/api_gateway/resource.rb +0 -86
  435. data/lib/jets/cfn/resource/api_gateway/resource_id.rb +0 -25
  436. data/lib/jets/cfn/resource/api_gateway/rest_api/change_detection.rb +0 -10
  437. data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id/message.rb +0 -59
  438. data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id.rb +0 -98
  439. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/base.rb +0 -110
  440. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/media_types.rb +0 -36
  441. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/page.rb +0 -93
  442. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/to.rb +0 -30
  443. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/variable.rb +0 -35
  444. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +0 -27
  445. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +0 -7
  446. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision.rb +0 -121
  447. data/lib/jets/cfn/resource/api_gateway/rest_api/routes.rb +0 -7
  448. data/lib/jets/cfn/resource/api_gateway/rest_api.rb +0 -74
  449. data/lib/jets/cfn/resource/config/config_rule.rb +0 -74
  450. data/lib/jets/cfn/resource/config/managed_rule.rb +0 -15
  451. data/lib/jets/cfn/resource/events/rule.rb +0 -31
  452. data/lib/jets/cfn/resource/iam/application_role.rb +0 -27
  453. data/lib/jets/cfn/resource/iam/base_role_definition.rb +0 -56
  454. data/lib/jets/cfn/resource/iam/class_role.rb +0 -74
  455. data/lib/jets/cfn/resource/iam/function_role.rb +0 -54
  456. data/lib/jets/cfn/resource/iam/managed_policy.rb +0 -22
  457. data/lib/jets/cfn/resource/iam/policy.rb +0 -31
  458. data/lib/jets/cfn/resource/iam/policy_document.rb +0 -42
  459. data/lib/jets/cfn/resource/iot/topic_rule.rb +0 -34
  460. data/lib/jets/cfn/resource/lambda/event_source_mapping.rb +0 -31
  461. data/lib/jets/cfn/resource/lambda/function/controller.rb +0 -21
  462. data/lib/jets/cfn/resource/lambda/function/environment.rb +0 -64
  463. data/lib/jets/cfn/resource/lambda/function.rb +0 -266
  464. data/lib/jets/cfn/resource/lambda/gem_layer.rb +0 -17
  465. data/lib/jets/cfn/resource/lambda/layer_version.rb +0 -44
  466. data/lib/jets/cfn/resource/lambda/permission.rb +0 -51
  467. data/lib/jets/cfn/resource/logs/subscription_filter.rb +0 -31
  468. data/lib/jets/cfn/resource/nested/api/base.rb +0 -4
  469. data/lib/jets/cfn/resource/nested/api/deployment.rb +0 -53
  470. data/lib/jets/cfn/resource/nested/api/gateway.rb +0 -15
  471. data/lib/jets/cfn/resource/nested/api/mapping.rb +0 -33
  472. data/lib/jets/cfn/resource/nested/api/methods.rb +0 -30
  473. data/lib/jets/cfn/resource/nested/api/page.rb +0 -8
  474. data/lib/jets/cfn/resource/nested/api/resources.rb +0 -22
  475. data/lib/jets/cfn/resource/nested/app_class.rb +0 -116
  476. data/lib/jets/cfn/resource/nested/authorizer.rb +0 -34
  477. data/lib/jets/cfn/resource/nested/base.rb +0 -38
  478. data/lib/jets/cfn/resource/nested/one_controller.rb +0 -48
  479. data/lib/jets/cfn/resource/nested/shared.rb +0 -79
  480. data/lib/jets/cfn/resource/one/function.rb +0 -66
  481. data/lib/jets/cfn/resource/one/permission.rb +0 -17
  482. data/lib/jets/cfn/resource/route53/record_set.rb +0 -98
  483. data/lib/jets/cfn/resource/sns/subscription.rb +0 -29
  484. data/lib/jets/cfn/resource/sns/topic.rb +0 -35
  485. data/lib/jets/cfn/resource/sns/topic_policy.rb +0 -40
  486. data/lib/jets/cfn/resource/sqs/queue.rb +0 -21
  487. data/lib/jets/cfn/ship.rb +0 -192
  488. data/lib/jets/cfn/template.rb +0 -93
  489. data/lib/jets/cfn/upload.rb +0 -163
  490. data/lib/jets/command/actions.rb +0 -49
  491. data/lib/jets/command/api_helpers.rb +0 -42
  492. data/lib/jets/command/aws_helpers.rb +0 -26
  493. data/lib/jets/command/base.rb +0 -209
  494. data/lib/jets/command/behavior.rb +0 -83
  495. data/lib/jets/command/environment_argument.rb +0 -42
  496. data/lib/jets/command/help/build.md +0 -6
  497. data/lib/jets/command/help/call.md +0 -48
  498. data/lib/jets/command/help/clean/build.md +0 -5
  499. data/lib/jets/command/help/clean/log.md +0 -5
  500. data/lib/jets/command/help/console.md +0 -18
  501. data/lib/jets/command/help/db/generate.md +0 -8
  502. data/lib/jets/command/help/dbconsole.md +0 -9
  503. data/lib/jets/command/help/degenerate.md +0 -16
  504. data/lib/jets/command/help/deploy.md +0 -32
  505. data/lib/jets/command/help/gems/check.md +0 -1
  506. data/lib/jets/command/help/generate.md +0 -28
  507. data/lib/jets/command/help/import/rack.md +0 -13
  508. data/lib/jets/command/help/import/rails.md +0 -11
  509. data/lib/jets/command/help/new.md +0 -41
  510. data/lib/jets/command/help/rollback.md +0 -5
  511. data/lib/jets/command/help/routes.md +0 -15
  512. data/lib/jets/command/help/runner.md +0 -40
  513. data/lib/jets/command/help/server.md +0 -15
  514. data/lib/jets/command/help/upgrade.md +0 -7
  515. data/lib/jets/command/help.rb +0 -17
  516. data/lib/jets/command/helpers/editor.rb +0 -35
  517. data/lib/jets/command/rake_decorate.rb +0 -38
  518. data/lib/jets/command.rb +0 -142
  519. data/lib/jets/commands/application/application_command.rb +0 -46
  520. data/lib/jets/commands/build/build_command.rb +0 -33
  521. data/lib/jets/commands/call/anonymous_guesser.rb +0 -96
  522. data/lib/jets/commands/call/autoload_guesser.rb +0 -136
  523. data/lib/jets/commands/call/base_guesser.rb +0 -62
  524. data/lib/jets/commands/call/call_command.rb +0 -27
  525. data/lib/jets/commands/call/caller.rb +0 -184
  526. data/lib/jets/commands/call/guesser.rb +0 -48
  527. data/lib/jets/commands/clean/base.rb +0 -24
  528. data/lib/jets/commands/clean/build.rb +0 -13
  529. data/lib/jets/commands/clean/clean_command.rb +0 -15
  530. data/lib/jets/commands/clean/log.rb +0 -111
  531. data/lib/jets/commands/configure/configure_command.rb +0 -9
  532. data/lib/jets/commands/console/console_command.rb +0 -38
  533. data/lib/jets/commands/credentials/USAGE +0 -103
  534. data/lib/jets/commands/credentials/credentials_command/diffing.rb +0 -51
  535. data/lib/jets/commands/credentials/credentials_command.rb +0 -139
  536. data/lib/jets/commands/db/system/change/change_command.rb +0 -24
  537. data/lib/jets/commands/dbconsole/dbconsole_command.rb +0 -184
  538. data/lib/jets/commands/degenerate/degenerate_command.rb +0 -21
  539. data/lib/jets/commands/delete/delete_command.rb +0 -154
  540. data/lib/jets/commands/deploy/deploy_command.rb +0 -118
  541. data/lib/jets/commands/dev/dev_command.rb +0 -19
  542. data/lib/jets/commands/dotenv/dotenv_command.rb +0 -9
  543. data/lib/jets/commands/encrypted/USAGE +0 -46
  544. data/lib/jets/commands/encrypted/encrypted_command.rb +0 -87
  545. data/lib/jets/commands/gems/gems_command.rb +0 -14
  546. data/lib/jets/commands/generate/generate_command.rb +0 -95
  547. data/lib/jets/commands/help/USAGE +0 -20
  548. data/lib/jets/commands/help/help_command.rb +0 -15
  549. data/lib/jets/commands/initializers/initializers_command.rb +0 -19
  550. data/lib/jets/commands/logs/logs_command.rb +0 -45
  551. data/lib/jets/commands/new/new_command.rb +0 -19
  552. data/lib/jets/commands/notes/notes_command.rb +0 -30
  553. data/lib/jets/commands/plugin/plugin_command.rb +0 -45
  554. data/lib/jets/commands/projects/projects_command.rb +0 -30
  555. data/lib/jets/commands/rake/rake_command.rb +0 -59
  556. data/lib/jets/commands/releases/releases_command.rb +0 -124
  557. data/lib/jets/commands/rollback/rollback_command.rb +0 -33
  558. data/lib/jets/commands/routes/routes_command.rb +0 -19
  559. data/lib/jets/commands/runner/runner_command.rb +0 -60
  560. data/lib/jets/commands/server/server_command.rb +0 -291
  561. data/lib/jets/commands/stacks/stacks_command.rb +0 -39
  562. data/lib/jets/commands/status/status_command.rb +0 -16
  563. data/lib/jets/commands/url/url_command.rb +0 -92
  564. data/lib/jets/commands/version/version_command.rb +0 -11
  565. data/lib/jets/commands.rb +0 -17
  566. data/lib/jets/configuration.rb +0 -166
  567. data/lib/jets/controller/base.rb +0 -117
  568. data/lib/jets/controller/compat/abstract_controller/base.rb +0 -126
  569. data/lib/jets/controller/compat/action_controller/metal.rb +0 -99
  570. data/lib/jets/controller/compat/caching.rb +0 -13
  571. data/lib/jets/controller/compat/future.rb +0 -13
  572. data/lib/jets/controller/compat/route_set.rb +0 -47
  573. data/lib/jets/controller/decorate/apigw_stage.rb +0 -39
  574. data/lib/jets/controller/decorate/authorization.rb +0 -91
  575. data/lib/jets/controller/decorate/logging.rb +0 -90
  576. data/lib/jets/controller/decorate/redirecting.rb +0 -16
  577. data/lib/jets/controller/decorate/url_for.rb +0 -10
  578. data/lib/jets/controller/handler/apigw.rb +0 -93
  579. data/lib/jets/controller/handler.rb +0 -41
  580. data/lib/jets/controller/middleware/main.rb +0 -61
  581. data/lib/jets/controller/middleware/mimic/apigw.rb +0 -140
  582. data/lib/jets/controller/middleware/mimic/lambda_context.rb +0 -44
  583. data/lib/jets/controller/middleware/mimic.rb +0 -105
  584. data/lib/jets/controller/middleware/webpacker_setup.rb +0 -6
  585. data/lib/jets/controller/rack_adapter/action.rb +0 -35
  586. data/lib/jets/controller/rack_adapter/env.rb +0 -145
  587. data/lib/jets/controller/request/compat/params.rb +0 -144
  588. data/lib/jets/controller/request/compat/request.rb +0 -125
  589. data/lib/jets/controller/request.rb +0 -46
  590. data/lib/jets/controller/response/compat/response.rb +0 -67
  591. data/lib/jets/controller/response.rb +0 -144
  592. data/lib/jets/core_ext/kernel.rb +0 -13
  593. data/lib/jets/dev_caching.rb +0 -44
  594. data/lib/jets/dotenv/show.rb +0 -11
  595. data/lib/jets/engine/configuration.rb +0 -96
  596. data/lib/jets/engine/turbines.rb +0 -23
  597. data/lib/jets/engine.rb +0 -380
  598. data/lib/jets/erb.rb +0 -51
  599. data/lib/jets/generators/job/job_generator.rb +0 -41
  600. data/lib/jets/generators/job/templates/application_job.rb.tt +0 -6
  601. data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +0 -8
  602. data/lib/jets/generators/job/templates/event_types/iot.rb.tt +0 -8
  603. data/lib/jets/generators/job/templates/event_types/s3.rb.tt +0 -11
  604. data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +0 -8
  605. data/lib/jets/generators/job/templates/event_types/sns.rb.tt +0 -11
  606. data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +0 -11
  607. data/lib/jets/generators/overrides/app/USAGE +0 -38
  608. data/lib/jets/generators/overrides/app/app_generator.rb +0 -148
  609. data/lib/jets/generators/overrides/app/helpers.rb +0 -139
  610. data/lib/jets/generators/overrides/app/templates/.env +0 -10
  611. data/lib/jets/generators/overrides/app/templates/.gitignore.tt +0 -13
  612. data/lib/jets/generators/overrides/app/templates/.jetsignore +0 -6
  613. data/lib/jets/generators/overrides/app/templates/.rspec +0 -3
  614. data/lib/jets/generators/overrides/app/templates/Gemfile.tt +0 -28
  615. data/lib/jets/generators/overrides/app/templates/README.md +0 -11
  616. data/lib/jets/generators/overrides/app/templates/Rakefile +0 -2
  617. data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +0 -3
  618. data/lib/jets/generators/overrides/app/templates/app/assets/images/.keep +0 -0
  619. data/lib/jets/generators/overrides/app/templates/app/assets/javascripts/.keep +0 -0
  620. data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +0 -15
  621. data/lib/jets/generators/overrides/app/templates/app/controllers/application_controller.rb +0 -2
  622. data/lib/jets/generators/overrides/app/templates/app/helpers/application_helper.rb +0 -2
  623. data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +0 -5
  624. data/lib/jets/generators/overrides/app/templates/app/jobs/application_job.rb +0 -4
  625. data/lib/jets/generators/overrides/app/templates/app/models/application_record.rb +0 -3
  626. data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +0 -30
  627. data/lib/jets/generators/overrides/app/templates/bin/jets +0 -3
  628. data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +0 -15
  629. data/lib/jets/generators/overrides/app/templates/config/database.yml.tt +0 -27
  630. data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +0 -29
  631. data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +0 -21
  632. data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +0 -23
  633. data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +0 -31
  634. data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +0 -8
  635. data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +0 -11
  636. data/lib/jets/generators/overrides/app/templates/config/routes.rb +0 -13
  637. data/lib/jets/generators/overrides/app/templates/config.ru +0 -5
  638. data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
  639. data/lib/jets/generators/overrides/app/templates/public/404.html +0 -67
  640. data/lib/jets/generators/overrides/app/templates/public/422.html +0 -67
  641. data/lib/jets/generators/overrides/app/templates/public/500.html +0 -66
  642. data/lib/jets/generators/overrides/app/templates/public/favicon.ico +0 -0
  643. data/lib/jets/generators/overrides/app/templates/spec/controllers/posts_controller_spec.rb +0 -15
  644. data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-index.json +0 -51
  645. data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-show.json +0 -53
  646. data/lib/jets/generators/overrides/app/templates/spec/spec_helper.rb.tt +0 -30
  647. data/lib/jets/generators/overrides/templates/erb/scaffold/_form.html.erb +0 -34
  648. data/lib/jets/generators/overrides/templates/erb/scaffold/edit.html.erb +0 -6
  649. data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +0 -22
  650. data/lib/jets/generators/overrides/templates/erb/scaffold/new.html.erb +0 -5
  651. data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +0 -8
  652. data/lib/jets/generators/overrides/templates/erb/scaffold/show.html.erb +0 -9
  653. data/lib/jets/generators/overrides/templates/rails/assets/javascript.js +0 -2
  654. data/lib/jets/generators/overrides/templates/rails/assets/stylesheet.css +0 -4
  655. data/lib/jets/generators/overrides/templates/rails/scaffold/scaffold.css +0 -80
  656. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt +0 -58
  657. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +0 -67
  658. data/lib/jets/generators.rb +0 -112
  659. data/lib/jets/inflections.rb +0 -32
  660. data/lib/jets/info.rb +0 -116
  661. data/lib/jets/initializable.rb +0 -95
  662. data/lib/jets/job/base.rb +0 -52
  663. data/lib/jets/job/dsl/dynamodb_event.rb +0 -78
  664. data/lib/jets/job/dsl/event_source_mapping.rb +0 -11
  665. data/lib/jets/job/dsl/iot_event.rb +0 -24
  666. data/lib/jets/job/dsl/kinesis_event.rb +0 -47
  667. data/lib/jets/job/dsl/log_event.rb +0 -15
  668. data/lib/jets/job/dsl/rule_event.rb +0 -78
  669. data/lib/jets/job/dsl/s3_event.rb +0 -77
  670. data/lib/jets/job/dsl/sns_event.rb +0 -54
  671. data/lib/jets/job/dsl/sqs_event.rb +0 -97
  672. data/lib/jets/job/helpers/s3_event.rb +0 -50
  673. data/lib/jets/job/helpers/sns_event.rb +0 -26
  674. data/lib/jets/job/helpers/sqs_event.rb +0 -26
  675. data/lib/jets/klass.rb +0 -108
  676. data/lib/jets/lambda/dsl/warnings.rb +0 -57
  677. data/lib/jets/mega/hash_converter.rb +0 -25
  678. data/lib/jets/mega/request/source.rb +0 -20
  679. data/lib/jets/mega/request.rb +0 -163
  680. data/lib/jets/overrides/dummy/rails.rb +0 -11
  681. data/lib/jets/overrides/lambda/marshaller.rb +0 -31
  682. data/lib/jets/overrides/lambda.rb +0 -1
  683. data/lib/jets/overrides/puma.rb +0 -10
  684. data/lib/jets/paths.rb +0 -243
  685. data/lib/jets/poly/base_executor.rb +0 -125
  686. data/lib/jets/poly/lambda_executor.rb +0 -16
  687. data/lib/jets/poly/node_error.rb +0 -8
  688. data/lib/jets/poly/node_executor.rb +0 -54
  689. data/lib/jets/poly/python_error.rb +0 -8
  690. data/lib/jets/poly/python_executor.rb +0 -23
  691. data/lib/jets/poly.rb +0 -73
  692. data/lib/jets/preheat.rb +0 -110
  693. data/lib/jets/processors/deducer.rb +0 -65
  694. data/lib/jets/processors/main_processor.rb +0 -54
  695. data/lib/jets/rack/logger.rb +0 -77
  696. data/lib/jets/router/compat/route_set.rb +0 -177
  697. data/lib/jets/router/dsl/mount.rb +0 -47
  698. data/lib/jets/router/dsl.rb +0 -164
  699. data/lib/jets/router/engine_mount.rb +0 -36
  700. data/lib/jets/router/help.rb +0 -130
  701. data/lib/jets/router/helpers/named_routes/add_full_url.rb +0 -13
  702. data/lib/jets/router/helpers/named_routes/generated.rb +0 -197
  703. data/lib/jets/router/helpers/named_routes/proxy.rb +0 -66
  704. data/lib/jets/router/matcher.rb +0 -204
  705. data/lib/jets/router/resources/base.rb +0 -7
  706. data/lib/jets/router/resources/filter.rb +0 -15
  707. data/lib/jets/router/resources/options.rb +0 -15
  708. data/lib/jets/router/route/after_initialize.rb +0 -64
  709. data/lib/jets/router/route/as.rb +0 -93
  710. data/lib/jets/router/route/authorizer.rb +0 -58
  711. data/lib/jets/router/route/compat.rb +0 -45
  712. data/lib/jets/router/route/info.rb +0 -74
  713. data/lib/jets/router/route/node.rb +0 -137
  714. data/lib/jets/router/route/path.rb +0 -93
  715. data/lib/jets/router/route.rb +0 -249
  716. data/lib/jets/router/route_set.rb +0 -214
  717. data/lib/jets/router/scope.rb +0 -230
  718. data/lib/jets/router/state.rb +0 -67
  719. data/lib/jets/router/util.rb +0 -8
  720. data/lib/jets/router.rb +0 -94
  721. data/lib/jets/ruby_version_check.rb +0 -15
  722. data/lib/jets/rule/base.rb +0 -20
  723. data/lib/jets/rule/dsl.rb +0 -109
  724. data/lib/jets/secrets.rb +0 -110
  725. data/lib/jets/spec_helpers/controllers/params.rb +0 -8
  726. data/lib/jets/spec_helpers/controllers/request.rb +0 -107
  727. data/lib/jets/spec_helpers/controllers/response.rb +0 -10
  728. data/lib/jets/spec_helpers/controllers.rb +0 -54
  729. data/lib/jets/spec_helpers/fixtures.rb +0 -11
  730. data/lib/jets/spec_helpers.rb +0 -15
  731. data/lib/jets/stack/builder.rb +0 -44
  732. data/lib/jets/stack/definition.rb +0 -47
  733. data/lib/jets/stack/depends/item.rb +0 -26
  734. data/lib/jets/stack/depends.rb +0 -34
  735. data/lib/jets/stack/function.rb +0 -71
  736. data/lib/jets/stack/main/dsl/cloudwatch.rb +0 -19
  737. data/lib/jets/stack/main/dsl/iam.rb +0 -8
  738. data/lib/jets/stack/main/dsl/kinesis.rb +0 -15
  739. data/lib/jets/stack/main/dsl/lambda.rb +0 -90
  740. data/lib/jets/stack/main/dsl/s3.rb +0 -12
  741. data/lib/jets/stack/main/dsl/sns.rb +0 -16
  742. data/lib/jets/stack/main/dsl/sqs.rb +0 -10
  743. data/lib/jets/stack/main/dsl.rb +0 -17
  744. data/lib/jets/stack/main.rb +0 -4
  745. data/lib/jets/stack/output/dsl.rb +0 -19
  746. data/lib/jets/stack/output.rb +0 -35
  747. data/lib/jets/stack/parameter/dsl.rb +0 -42
  748. data/lib/jets/stack/parameter.rb +0 -37
  749. data/lib/jets/stack/resource/dsl.rb +0 -19
  750. data/lib/jets/stack/resource.rb +0 -31
  751. data/lib/jets/stack/s3_event.rb +0 -101
  752. data/lib/jets/tasks/engine.rake +0 -85
  753. data/lib/jets/tasks/framework.rake +0 -66
  754. data/lib/jets/tasks/log.rake +0 -41
  755. data/lib/jets/tasks/middleware.rake +0 -9
  756. data/lib/jets/tasks/misc.rake +0 -81
  757. data/lib/jets/tasks/statistics.rake +0 -37
  758. data/lib/jets/tasks/tmp.rake +0 -51
  759. data/lib/jets/tasks/yarn.rake +0 -29
  760. data/lib/jets/tasks/zeitwerk.rake +0 -61
  761. data/lib/jets/tasks.rb +0 -18
  762. data/lib/jets/tmp_loader.rb +0 -53
  763. data/lib/jets/turbine/configurable.rb +0 -36
  764. data/lib/jets/turbine/configuration.rb +0 -101
  765. data/lib/jets/turbine.rb +0 -185
  766. data/lib/jets/util.rb +0 -40
  767. /data/lib/jets/{command → cli}/help/projects.md +0 -0
  768. /data/lib/jets/{command → cli}/help/stacks.md +0 -0
  769. /data/lib/jets/{command → cli}/help/url.md +0 -0
@@ -1,49 +0,0 @@
1
- module Jets::Authorizer::Helpers
2
- module IamHelper
3
- include Jets::Util::Camelize
4
-
5
- private
6
- # Structure: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html
7
- # Example:
8
- #
9
- # {
10
- # "principalId" => "yyyyyyyy", // The principal user identification associated with the token sent by the client.
11
- # "policyDocument" => {},
12
- # "context" => {},
13
- # "usageIdentifierKey" => "{api-key}"
14
- # }
15
- #
16
- def build_policy(*args)
17
- if args.first.is_a?(Hash) # generalized form
18
- props = args.first
19
- else # build_policy(resource, principal, context, usage_identifier_key) form
20
- resource, principal_id, context, usage_identifier_key = args
21
- props = {
22
- principalId: principal_id || "default_user",
23
- policyDocument: {
24
- Version: "2012-10-17",
25
- Statement: [
26
- Action: "execute-api:Invoke",
27
- Effect: "Allow",
28
- Resource: resource || "*",
29
- ],
30
- },
31
- }
32
- props[:context] = context if context
33
- props[:usageIdentifierKey] = usage_identifier_key if usage_identifier_key
34
- end
35
-
36
- props.transform_keys! { |k| pascalize(k) } # Only top-level keys are pascalized
37
- # policyDocument is camelized, everything else is left alone
38
- props[:policyDocument] = camelize(props[:policyDocument])
39
- props
40
- end
41
-
42
- def pascalize(value)
43
- new_value = value.to_s.camelize
44
- first_char = new_value[0..0].downcase
45
- new_value[0] = first_char
46
- new_value.to_sym
47
- end
48
- end
49
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/inflector"
4
-
5
- module Jets
6
- class Autoloaders
7
- module Inflector # :nodoc:
8
- # Concurrent::Map is not needed. This is a private class, and overrides
9
- # must be defined while the application boots.
10
- @overrides = {}
11
-
12
- def self.camelize(basename, _abspath)
13
- @overrides[basename] || basename.camelize
14
- end
15
-
16
- def self.inflect(overrides)
17
- @overrides.merge!(overrides)
18
- end
19
- end
20
- end
21
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/backtrace_cleaner"
4
- require "active_support/core_ext/string/access"
5
-
6
- module Jets
7
- class BacktraceCleaner < ActiveSupport::BacktraceCleaner
8
- APP_DIRS_PATTERN = /\A(?:\.\/)?(?:app|config|lib|test|\(\w*\))/
9
- RENDER_TEMPLATE_PATTERN = /:in `.*_\w+_{2,3}\d+_\d+'/
10
-
11
- def initialize
12
- super
13
- @root = "#{Jets.root}/"
14
- add_filter do |line|
15
- line.start_with?(@root) ? line.from(@root.size) : line
16
- end
17
- add_filter do |line|
18
- if RENDER_TEMPLATE_PATTERN.match?(line)
19
- line.sub(RENDER_TEMPLATE_PATTERN, "")
20
- else
21
- line
22
- end
23
- end
24
- add_silencer { |line| !APP_DIRS_PATTERN.match?(line) }
25
- end
26
- end
27
- end
data/lib/jets/booter.rb DELETED
@@ -1,78 +0,0 @@
1
- require "jets/core_ext/kernel" # Hack prevents Jets const from being defined
2
-
3
- class Jets::Booter
4
- class << self
5
- @booted = false
6
- def boot!
7
- return if @booted
8
- confirm_jets_project!
9
-
10
- # Registration phase
11
- Jets::Bundle.require # engine config and register initializers
12
- load_internal_engine # internal engine initializers
13
- require_application! # override with user customizations
14
-
15
- # Run phase
16
- Jets.application.initialize!
17
- @booted = true
18
- end
19
-
20
- def require_application!
21
- require ENGINE_PATH if defined?(ENGINE_PATH)
22
-
23
- if defined?(APP_PATH)
24
- check_old_jets_code!
25
- require APP_PATH
26
- else
27
- require "#{Jets.root}/config/application"
28
- end
29
- end
30
-
31
- def load_internal_engine
32
- require File.expand_path("../../engines/internal/lib/internal/engine.rb", __dir__)
33
- end
34
-
35
- # All Turbines
36
- def app_initializers
37
- Dir.glob("#{Jets.root}/config/initializers/**/*").sort.each do |path|
38
- load path
39
- end
40
- end
41
-
42
- # Cannot call this for the jets new
43
- # We check that within a jets project again as Jets.boot
44
- # Also checked in the jets/cli.rb more generally
45
- def confirm_jets_project!
46
- return if defined?(ENGINE_PATH)
47
- unless File.exist?("#{Jets.root}/config/application.rb")
48
- puts "It does not look like you are running this command within a jets project. Please confirm that you are in a jets project and try again.".color(:red)
49
- exit 1
50
- end
51
- end
52
-
53
- def check_old_jets_code!
54
- application_rb = "#{Jets.root}/config/application.rb"
55
- return unless File.exist?(application_rb)
56
- return if File.read(application_rb).include?(' < Jets::Application')
57
- puts "ERROR: Based on config/application.rb, it looks like your app code was written with an older version of Jets.".color(:red)
58
- puts "Please install and run the jets-upgrade command to upgrade your project."
59
- puts " jets-upgrade go".color(:green)
60
- exit 1
61
- end
62
-
63
- def message
64
- "Jets booting up in #{Jets.env.color(:green)} mode!"
65
- end
66
-
67
- def check_config_ru!
68
- config_ru = File.read("#{Jets.root}/config.ru")
69
- unless config_ru.include?("Jets.boot")
70
- puts 'The config.ru file is missing Jets.boot. Please add Jets.boot after require "jets"'.color(:red)
71
- puts "This was changed as made in Jets v1.1.0."
72
- puts "To have Jets update the config.fu file for you, you can run:\n\n"
73
- puts " jets-upgrade"
74
- exit 1
75
- end
76
- end
77
- end
78
- end
@@ -1,359 +0,0 @@
1
- require "action_view"
2
- require "fileutils"
3
- require "net/http"
4
- require "open-uri"
5
- require "socket"
6
-
7
- # Some important folders to help understand how jets builds a project:
8
- #
9
- # /tmp/jets: build root where different jets projects get built.
10
- # /tmp/jets/project: each jets project gets built in a different subdirectory.
11
- #
12
- # The rest of the folders are subfolders under /tmp/jets/project.
13
- #
14
- module Jets::Builders
15
- class CodeBuilder
16
- include Jets::AwsServices
17
- include Util
18
- extend Memoist
19
-
20
- attr_reader :full_project_path
21
- def initialize
22
- # Expanding to the full path and capture now.
23
- # Dir.chdir gets called later and we'll lose this info.
24
- @full_project_path = File.expand_path(Jets.root) + "/"
25
- @version_purger = Purger.new
26
- end
27
-
28
- def build
29
- @version_purger.purge
30
- cache_check_message
31
-
32
- clean_start
33
- reset_dotenv_vars
34
- assets_precompile
35
- run_webpack # easier to do before we copy the project because node and yarn has been likely setup in the that dir
36
- copy_project
37
- copy_ruby_version_file
38
- Dir.chdir("#{stage_area}/code") do
39
- # These commands run from project root
40
- code_setup
41
- package_ruby
42
- code_finish
43
- end
44
- end
45
-
46
- # Resolves the chicken-and-egg problem with md5 checksums. The handlers need
47
- # to reference files with the md5 checksum. The files are the:
48
- #
49
- # jets/code/rack-checksum.zip
50
- # jets/code/opt-checksum.zip
51
- #
52
- # We compute the checksums before we generate the node shim handlers.
53
- def calculate_md5s
54
- Md5.compute! # populates Md5.checksums hash
55
- end
56
-
57
- def generate_shims
58
- headline "Generating shims in the handlers folder."
59
- # Crucial that the Dir.pwd is in the tmp_code because for
60
- # Jets::Builders::app_files because Jets.boot set ups
61
- # autoload_paths and this is how project classes are loaded.
62
- Jets::Builders::HandlerGenerator.build!
63
- end
64
-
65
- def create_zip_files
66
- folders = Md5.stage_folders
67
- # Md5.stage_folders ["stage/bundled", "stage/code"]
68
- folders.each do |folder|
69
- zip = Md5Zip.new(folder)
70
- if exist_on_s3?(zip.md5_name)
71
- puts "Already exists: s3://#{s3_bucket}/jets/code/#{zip.md5_name}"
72
- else
73
- zip = Md5Zip.new(folder)
74
- zip.create
75
- end
76
- end
77
- end
78
-
79
- def exist_on_s3?(filename)
80
- return false if ENV['JETS_NO_INTERNET']
81
- s3_key = "jets/code/#{filename}"
82
- begin
83
- Jets.logger.debug "Checking s3://#{s3_bucket}/#{s3_key}"
84
- s3.head_object(bucket: s3_bucket, key: s3_key)
85
- true
86
- rescue Aws::S3::Errors::NotFound, Aws::S3::Errors::Forbidden
87
- false
88
- end
89
- end
90
-
91
- def code_setup
92
- reconfigure_development_webpacker
93
- end
94
-
95
- def code_finish
96
- # Reconfigure code
97
- store_s3_base_url
98
- disable_webpacker_middleware
99
-
100
- # Code prep and zipping
101
- check_code_size!
102
- calculate_md5s # must be called before create_zip_files and generate_shims because checksums need to be populated
103
- # generate_shims and create_zip_files use checksums
104
- #
105
- # Notes:
106
- #
107
- # Had moved calculate_md5s to fix a what thought was a subtle issue https://github.com/tongueroo/jets/pull/424
108
- # But am unsure about that the fix now. This essentially reverts that issue.
109
- #
110
- # Fix in https://github.com/tongueroo/jets/pull/459
111
- #
112
- generate_shims # the generated handlers/data.yml has rack_zip key
113
- create_zip_files
114
- end
115
-
116
- def check_code_size!
117
- CodeSize.check!
118
- end
119
-
120
- # Thanks https://stackoverflow.com/questions/9354595/recursively-getting-the-size-of-a-directory
121
- # Seems to overestimate a little bit but close enough.
122
- def dir_size(folder)
123
- Dir.glob(File.join(folder, '**', '*'))
124
- .select { |f| File.file?(f) }
125
- .map{ |f| File.size(f) }
126
- .inject(:+)
127
- end
128
-
129
- # Store s3 base url is needed for asset serving from s3 later. Need to package this
130
- # as part of the code so we have a reference to it.
131
- # At this point the minimal stack exists, so we can grab it with the AWS API.
132
- # We do not want to grab this as part of the live request because it is slow.
133
- def store_s3_base_url
134
- return if Jets.config.mode == "job"
135
- return unless gemfile_include?("sprockets-jets")
136
- write_s3_base_url("#{stage_area}/code/config/s3_base_url.txt")
137
- end
138
-
139
- def write_s3_base_url(full_path)
140
- FileUtils.mkdir_p(File.dirname(full_path))
141
- IO.write(full_path, s3_base_url)
142
- end
143
-
144
- def s3_base_url
145
- # Allow user to set assets.base_url
146
- #
147
- # Jets.application.configure do
148
- # config.assets.base_url = "https://cloudfront.com/my/base/path"
149
- # end
150
- #
151
- return Jets.config.assets.base_url if Jets.config.assets.base_url
152
-
153
- # Note: subdomain form works with CORs but the subfolder form does not. Using subfolder form.
154
- region = Jets.aws.region
155
- asset_base_url = region == 'us-east-1' ?
156
- "https://#{s3_bucket}.s3.amazonaws.com/jets" :
157
- "https://#{s3_bucket}.s3-#{region}.amazonaws.com/jets"
158
- end
159
-
160
- def s3_bucket
161
- Jets.aws.s3_bucket
162
- end
163
-
164
- def disable_webpacker_middleware
165
- full_path = "#{"#{stage_area}/code"}/config/disable-webpacker-middleware.txt"
166
- FileUtils.mkdir_p(File.dirname(full_path))
167
- FileUtils.touch(full_path)
168
- end
169
-
170
- def assets_precompile
171
- return if skip_assets?
172
- return unless gemfile_include?("sprockets-jets")
173
- sh "jets assets:precompile"
174
- end
175
-
176
- # This happens in the current app directory not the tmp code for simplicity.
177
- # This is because the node and yarn has likely been set up correctly there.
178
- def run_webpack
179
- return if skip_assets?
180
- return unless gemfile_include?("jetpacker")
181
-
182
- headline "Compling assets in current project directory"
183
- sh("yarn install")
184
-
185
- ENV['WEBPACKER_ASSET_HOST'] = asset_host if Jets.config.assets.base_url
186
- webpack_command = File.exist?("#{Jets.root}/bin/webpack") ?
187
- "bin/webpack" :
188
- `which webpack`.strip
189
- sh "JETS_ENV=#{Jets.env} #{webpack_command}"
190
- end
191
-
192
- def skip_assets?
193
- if ENV['JETS_SKIP_ASSETS']
194
- puts "Skip compiling assets".color(:yellow) # useful for debugging
195
- return true
196
- end
197
- Jets.config.mode == "job"
198
- end
199
-
200
- # Different url for these. Examples:
201
- #
202
- # asset_host https://demo-dev-s3bucket-lw5vq7ht8ip4.s3.us-west-2.amazonaws.com/jets/public/packs/media/images/boltops-0dd1c6bd.png
203
- # s3_base_url https://s3-us-west-2.amazonaws.com/demo-dev-s3bucket-lw5vq7ht8ip4/jets/packs/media/images/boltops-0dd1c6bd.png
204
- #
205
- # Interesting: asset_host works but s3_base_url does not for CORs. IE: reactjs or vuejs requests
206
- # Thinking AWS configures the non-subdomain url endpoint to be more restrictive.
207
- #
208
- # Allow user to set assets.asset_host
209
- #
210
- # Jets.application.configure do
211
- # config.assets.asset_host = "https://cloudfront.com/my/base/path"
212
- # end
213
- #
214
- def asset_host
215
- assets = Jets.config.assets
216
- return assets.base_url if assets.base_url && assets.base_url != "s3_endpoint"
217
-
218
- # By default, will use the s3 url endpoint directly by convention
219
- region = Jets.aws.region
220
- asset_base_url = region == 'us-east-1' ?
221
- "https://#{s3_bucket}.s3.amazonaws.com" :
222
- "https://#{s3_bucket}.s3.#{region}.amazonaws.com"
223
-
224
- "#{asset_base_url}/jets/public" # s3_base_url
225
- end
226
-
227
- def gemfile_include?(name)
228
- # Old code, leaving around for now:
229
- # Thanks: https://stackoverflow.com/questions/4195735/get-list-of-gems-being-used-by-a-bundler-project
230
- # webpacker_loaded = Gem.loaded_specs.keys.include?("webpacker")
231
- # return unless webpacker_loaded
232
-
233
- # Checking this way because when using jets standalone for Afterburner mode we don't want to run into
234
- # bundler gem collisions. TODO: figure out the a better way to handle the collisions.
235
- lines = IO.readlines("#{Jets.root}/Gemfile")
236
- lines.detect { |l| l =~ /gem ['"]#{name}/ && l !~ /^\s*?#/ }
237
- end
238
-
239
- # Cleans out non-cached files like code-*.zip in Jets.build_root
240
- # for a clean start. Also ensure that the /tmp/jets/project build root exists.
241
- #
242
- # Most files are kept around after the build process for inspection and
243
- # debugging. So we have to clean out the files. But we only want to clean out
244
- # some of the files.
245
- def clean_start
246
- Dir.glob("#{Jets.build_root}/code/code-*.zip").each { |f| FileUtils.rm_f(f) }
247
- FileUtils.mkdir_p(Jets.build_root) # /tmp/jets/demo
248
- end
249
-
250
- # Resets Dotenv cached variables so that it will force the Dotenv files to reload including
251
- # the .remote files for deployment
252
- def reset_dotenv_vars
253
- Jets::Dotenv.class_variable_set(:@@vars, nil)
254
- end
255
-
256
- # Copy project into temporary directory. Do this so we can keep the project
257
- # directory untouched and we can also remove a bunch of unnecessary files like
258
- # logs before zipping it up.
259
- def copy_project
260
- headline "Copying current project directory to temporary build area: #{"#{stage_area}/code"}"
261
- FileUtils.rm_rf("#{build_area}/stage") # clear out from previous build's stage area
262
- FileUtils.mkdir_p("#{build_area}/stage")
263
- FileUtils.rm_rf("#{stage_area}/code") # remove current code folder
264
- move_node_modules(Jets.root, Jets.build_root)
265
- begin
266
- Jets::Util.cp_r(@full_project_path, "#{stage_area}/code")
267
- ensure
268
- move_node_modules(Jets.build_root, Jets.root) # move node_modules directory back
269
- end
270
- end
271
-
272
- # Move the node modules to the tmp build folder to speed up project copying.
273
- # A little bit risky because a ctrl-c in the middle of the project copying
274
- # results in a missing node_modules but user can easily rebuild that.
275
- #
276
- # Tesing shows 6.623413 vs 0.027754 speed improvement.
277
- def move_node_modules(source_folder, dest_folder)
278
- source = "#{source_folder}/node_modules"
279
- dest = "#{dest_folder}/node_modules"
280
- if File.exist?(source)
281
- FileUtils.mv(source, dest)
282
- end
283
- end
284
-
285
- # Bit hacky but this saves the user from accidentally forgetting to change this
286
- # when they deploy a jets project in development mode
287
- def reconfigure_development_webpacker
288
- return unless Jets.env.development?
289
- return unless gemfile_include?("jetpacker")
290
- headline "Reconfiguring webpacker development settings for AWS Lambda."
291
-
292
- webpacker_yml = "#{"#{stage_area}/code"}/config/webpacker.yml"
293
- return unless File.exist?(webpacker_yml)
294
-
295
- config = Jets::Util::Yamler.load_file(webpacker_yml)
296
- config["development"]["compile"] = false # force this to be false for deployment
297
- new_yaml = YAML.dump(config)
298
- IO.write(webpacker_yml, new_yaml)
299
- end
300
-
301
- def ruby_packager
302
- RubyPackager.new(tmp_code)
303
- end
304
- memoize :ruby_packager
305
-
306
- def rack_packager
307
- RackPackager.new("#{tmp_code}/rack")
308
- end
309
- memoize :rack_packager
310
-
311
- def package_ruby
312
- if ENV['JETS_SKIP_PACKAGE']
313
- puts "Skip packaging ruby".color(:yellow) # useful for developing handlers
314
- return
315
- end
316
- return unless Jets.gem_layer?
317
-
318
- check_agree
319
- ruby_packager.install
320
- rack_packager.install
321
- ruby_packager.finish # by this time we have a /tmp/jets/demo/stage/code/vendor/gems
322
- rack_packager.finish
323
-
324
- build_lambda_layer
325
- end
326
-
327
- def check_agree
328
- agree = Jets::Api::Agree.new
329
- agree.prompt
330
- end
331
-
332
- def build_lambda_layer
333
- return unless Jets.gem_layer?
334
- lambda_layer = LambdaLayer.new
335
- lambda_layer.build
336
- end
337
-
338
- def cache_check_message
339
- if File.exist?("#{Jets.build_root}/cache")
340
- puts "The #{Jets.build_root}/cache folder exists. Incrementally re-building the jets using the cache. To clear the cache: rm -rf #{Jets.build_root}/cache"
341
- end
342
- end
343
-
344
- def copy_ruby_version_file
345
- ruby_version_path = Jets.root.join(".ruby-version")
346
- return unless File.exists?(ruby_version_path)
347
- FileUtils.cp_r(ruby_version_path, build_area)
348
- end
349
-
350
- # Group all the path settings together here
351
- def self.tmp_code
352
- Jets::Cfn::Builder.tmp_code
353
- end
354
-
355
- def tmp_code
356
- self.class.tmp_code
357
- end
358
- end
359
- end
@@ -1,58 +0,0 @@
1
- module Jets::Builders
2
- class CodeSize
3
- LAMBDA_SIZE_LIMIT = 250 # Total lambda limit is 250MB
4
- include Util
5
-
6
- def self.check!
7
- new.check
8
- end
9
-
10
- def check
11
- return if within_lambda_limit?
12
- say "Over the Lambda size limit of #{LAMBDA_SIZE_LIMIT}MB".color(:red)
13
- say "Please reduce the size of your code."
14
- display_sizes
15
- exit 1
16
- end
17
-
18
- def within_lambda_limit?
19
- total_size < LAMBDA_SIZE_LIMIT * 1024 # 120MB
20
- end
21
-
22
- def total_size
23
- code_size = compute_size("#{stage_area}/code")
24
- opt_size = compute_size("#{stage_area}/opt")
25
- opt_size + code_size # total_size
26
- end
27
-
28
- def display_sizes
29
- code_size = compute_size("#{stage_area}/code")
30
- opt_size = compute_size("#{stage_area}/opt")
31
- total_size = opt_size + code_size
32
- overlimit = (LAMBDA_SIZE_LIMIT * 1024 - total_size) * -1
33
- say "Sizes:"
34
- say "Code: #{megabytes(code_size)} - #{stage_area}/code"
35
- say "Gem Layer: #{megabytes(opt_size)} - #{stage_area}/opt"
36
- say "Total Package: #{megabytes(total_size)}"
37
- say "Over limit by: #{megabytes(overlimit)}"
38
- say "Sometimes blowing away the /tmp/jets cache will reduce the size: rm -rf /tmp/jets"
39
- # sh "du -kcsh #{stage_area}/*" unless Jets.env.test? # uncomment to debug
40
- end
41
-
42
- def compute_size(path)
43
- return 0 unless File.exist?(path)
44
- # -k option is required for macosx but not for linux
45
- out = `du -ks #{path}`
46
- out.split(' ').first.to_i # bytes
47
- end
48
-
49
- def megabytes(bytes)
50
- n = bytes / 1024.0
51
- sprintf('%.1f', n) + 'MB'
52
- end
53
-
54
- def say(message)
55
- puts message unless Jets.env.test?
56
- end
57
- end
58
- end
@@ -1,83 +0,0 @@
1
- module Jets::Builders
2
- class GemReplacer
3
- extend Memoist
4
- include Util
5
-
6
- def initialize(options)
7
- @options = options
8
- end
9
-
10
- def run
11
- # use_gemspec to resolve http-parser gem issue
12
- check = Jets::Api::Gems::Check.new(use_gemspec: true)
13
- if Jets.config.lambda.layers.empty?
14
- found_gems = check.run! # exits early if missing gems found
15
- else
16
- # assumes missing gems are in the provided custom layer by the user
17
- found_gems = check.run # does not exist early
18
- end
19
-
20
- # found gems will only have gems that were found
21
- found_gems.each do |gem_name|
22
- gem_extractor = Jets::Api::Gems::Extract::Gem.new(gem_name, @options)
23
- gem_extractor.run
24
- rename_gem(gem_name)
25
- end
26
-
27
- tidy
28
- end
29
-
30
- def rename_gem(gem_name)
31
- ruby_folder = "#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Api::Gems.ruby_folder}"
32
- gems_folder = "#{ruby_folder}/gems"
33
- expr = "#{gems_folder}/#{gem_name}-x*-{darwin,linux}"
34
- src = Dir.glob(expr).first
35
- return unless src
36
-
37
- dest = src.sub("-darwin", "-linux")
38
- FileUtils.mv(src, dest) unless File.exist?(dest) # looks like rename_gem actually runs twice
39
- end
40
-
41
- def ruby_folder
42
- Jets::Api::Gems.ruby_folder
43
- end
44
-
45
- # remove unnecessary files to reduce package size
46
- def tidy
47
- # project_root: /tmp/jets/demo/stage/code/
48
- # /tmp/jets/demo/stage/code/bundled
49
- tidy_gems("#{@options[:project_root]}/ruby/gems/#{ruby_folder}/*/gems/*")
50
- tidy_gems("#{@options[:project_root]}/ruby/gems/#{ruby_folder}/*/bundler/gems/*")
51
- end
52
-
53
- def tidy_gems(gems_path)
54
- Dir.glob(gems_path).each do |gem_path|
55
- tidy_gem(gem_path)
56
- end
57
- end
58
-
59
- # Clean up some unneeded files to try to keep the package size down
60
- # In a generated jets app this made a decent 9% difference:
61
- # 175M test2
62
- # 191M test3
63
- def tidy_gem(path)
64
- # remove top level tests and cache folders
65
- Dir.glob("#{path}/*").each do |path|
66
- next unless File.directory?(path)
67
- folder = File.basename(path)
68
- if %w[test tests spec features benchmark cache doc].include?(folder)
69
- FileUtils.rm_rf(path)
70
- end
71
- end
72
-
73
- Dir.glob("#{path}/**/*").each do |path|
74
- next unless File.file?(path)
75
- ext = File.extname(path)
76
- if %w[.rdoc .md .markdown].include?(ext) or
77
- path =~ /LICENSE|CHANGELOG|README/
78
- FileUtils.rm_f(path)
79
- end
80
- end
81
- end
82
- end
83
- end