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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -19
- data/Gemfile +4 -0
- data/README.md +19 -165
- data/Rakefile +3 -3
- data/exe/jets +2 -1
- data/jets.gemspec +15 -22
- data/lib/jets/api/agree.rb +62 -0
- data/lib/jets/api/base.rb +8 -0
- data/lib/jets/api/client.rb +246 -0
- data/lib/jets/api/config.rb +73 -0
- data/lib/jets/api/error.rb +70 -0
- data/lib/jets/api/ping.rb +9 -0
- data/lib/jets/api/project.rb +9 -0
- data/lib/jets/api/release.rb +17 -0
- data/lib/jets/api/response.rb +27 -0
- data/lib/jets/api/sig.rb +13 -0
- data/lib/jets/api/stack.rb +14 -0
- data/lib/jets/api.rb +17 -0
- data/lib/jets/autoloaders/gem.rb +47 -58
- data/lib/jets/autoloaders/main.rb +64 -0
- data/lib/jets/autoloaders.rb +14 -43
- data/lib/jets/aws_services/aws_helpers.rb +17 -0
- data/lib/jets/{aws_info.rb → aws_services/aws_info.rb} +24 -17
- data/lib/jets/aws_services/global_memoist.rb +9 -4
- data/lib/jets/aws_services/s3_bucket.rb +8 -10
- data/lib/jets/aws_services/stack_status.rb +5 -31
- data/lib/jets/aws_services.rb +36 -17
- data/lib/jets/bundle.rb +9 -7
- data/lib/jets/cfn/base.rb +16 -5
- data/lib/jets/cfn/bootstrap.rb +13 -0
- data/lib/jets/cfn/builder/interface.rb +22 -31
- data/lib/jets/cfn/builder/parent/genesis.rb +84 -0
- data/lib/jets/cfn/builder/post_process.rb +3 -3
- data/lib/jets/cfn/delete.rb +17 -0
- data/lib/jets/cfn/deploy.rb +151 -0
- data/lib/jets/cfn/iam/managed_policy.rb +21 -0
- data/lib/jets/cfn/iam/policy.rb +121 -0
- data/lib/jets/cfn/resource/associated.rb +1 -1
- data/lib/jets/cfn/resource/codebuild/fleet.rb +48 -0
- data/lib/jets/cfn/resource/codebuild/iam_role.rb +63 -0
- data/lib/jets/cfn/resource/codebuild/project/base.rb +4 -0
- data/lib/jets/cfn/resource/codebuild/project/ec2.rb +125 -0
- data/lib/jets/cfn/resource/codebuild/project/env.rb +55 -0
- data/lib/jets/cfn/resource/codebuild/project/format_env.rb +35 -0
- data/lib/jets/cfn/resource/codebuild/project/lambda.rb +15 -0
- data/lib/jets/cfn/resource/replacer.rb +5 -5
- data/lib/jets/cfn/resource/s3/bucket.rb +3 -3
- data/lib/jets/cfn/resource/s3/jets_bucket.rb +9 -18
- data/lib/jets/cfn/resource/standardizer.rb +11 -9
- data/lib/jets/cfn/rollback.rb +8 -0
- data/lib/jets/cfn/stack/deployable.rb +16 -0
- data/lib/jets/cfn/stack/rollback.rb +59 -0
- data/lib/jets/cfn/stack/template.rb +47 -0
- data/lib/jets/cfn/stack/yamler.rb +53 -0
- data/lib/jets/cfn/stack.rb +24 -0
- data/lib/jets/cfn/status.rb +41 -6
- data/lib/jets/cfn/teardown/bucket.rb +79 -0
- data/lib/jets/cfn/teardown.rb +20 -0
- data/lib/jets/cli/base.rb +46 -0
- data/lib/jets/cli/bootstrap.rb +17 -0
- data/lib/jets/cli/build.rb +8 -0
- data/lib/jets/cli/call.rb +133 -0
- data/lib/jets/cli/ci/base.rb +54 -0
- data/lib/jets/cli/ci/build.rb +8 -0
- data/lib/jets/cli/ci/delete.rb +25 -0
- data/lib/jets/cli/ci/deploy.rb +17 -0
- data/lib/jets/cli/ci/info.rb +40 -0
- data/lib/jets/cli/ci/init.rb +97 -0
- data/lib/jets/cli/ci/logs.rb +10 -0
- data/lib/jets/cli/ci/start.rb +121 -0
- data/lib/jets/cli/ci/status.rb +29 -0
- data/lib/jets/cli/ci/stop.rb +24 -0
- data/lib/jets/cli/ci/tailer.rb +17 -0
- data/lib/jets/cli/ci/templates/ci.rb.tt +19 -0
- data/lib/jets/cli/ci.rb +55 -0
- data/lib/jets/cli/clean.rb +10 -0
- data/lib/jets/cli/concurrency/base.rb +17 -0
- data/lib/jets/cli/concurrency/get.rb +37 -0
- data/lib/jets/cli/concurrency/info.rb +86 -0
- data/lib/jets/cli/concurrency/set.rb +31 -0
- data/lib/jets/cli/concurrency/unset.rb +21 -0
- data/lib/jets/cli/concurrency.rb +33 -0
- data/lib/jets/cli/curl/adapter/base.rb +8 -0
- data/lib/jets/cli/curl/adapter/cookies/jar.rb +28 -0
- data/lib/jets/cli/curl/adapter/cookies/parser.rb +48 -0
- data/lib/jets/cli/curl/adapter/lambda.rb +142 -0
- data/lib/jets/cli/curl/request.rb +62 -0
- data/lib/jets/cli/curl.rb +9 -0
- data/lib/jets/cli/delete.rb +23 -0
- data/lib/jets/cli/deploy.rb +18 -0
- data/lib/jets/cli/dotenv/base.rb +4 -0
- data/lib/jets/cli/dotenv/get.rb +14 -0
- data/lib/jets/cli/dotenv/list.rb +32 -0
- data/lib/jets/cli/dotenv/set.rb +50 -0
- data/lib/jets/cli/dotenv/ssm.rb +60 -0
- data/lib/jets/cli/dotenv/unset.rb +11 -0
- data/lib/jets/cli/dotenv.rb +28 -0
- data/lib/jets/cli/env/base.rb +13 -0
- data/lib/jets/cli/env/get.rb +13 -0
- data/lib/jets/cli/env/list.rb +19 -0
- data/lib/jets/cli/env/parse.rb +11 -0
- data/lib/jets/cli/env/set.rb +25 -0
- data/lib/jets/cli/env/unset.rb +17 -0
- data/lib/jets/cli/env.rb +29 -0
- data/lib/jets/cli/exec/command.rb +61 -0
- data/lib/jets/cli/exec/repl/history.rb +42 -0
- data/lib/jets/cli/exec/repl.rb +122 -0
- data/lib/jets/cli/exec.rb +14 -0
- data/lib/jets/cli/functions.rb +39 -0
- data/lib/jets/cli/generate/event.rb +29 -0
- data/lib/jets/cli/generate/templates/application_event.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/application_event.rb +4 -0
- data/lib/jets/cli/generate/templates/event_types/dynamodb.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/iot.rb.tt +6 -0
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/kinesis.rb.tt +2 -4
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/log.rb.tt +2 -4
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/rule.rb.tt +2 -4
- data/lib/jets/cli/generate/templates/event_types/s3.rb.tt +13 -0
- data/lib/jets/cli/generate/templates/event_types/scheduled.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/sns.rb.tt +8 -0
- data/lib/jets/cli/generate/templates/event_types/sqs.rb.tt +9 -0
- data/lib/jets/cli/generate.rb +6 -0
- data/lib/jets/cli/group/actions.rb +57 -0
- data/lib/jets/cli/group/base.rb +12 -0
- data/lib/jets/cli/group/helpers.rb +26 -0
- data/lib/jets/cli/help/build.md +1 -0
- data/lib/jets/cli/help/call.md +28 -0
- data/lib/jets/cli/help/curl.md +82 -0
- data/lib/jets/{command → cli}/help/delete.md +4 -4
- data/lib/jets/cli/help/deploy.md +5 -0
- data/lib/jets/cli/help/dotenv/get.md +4 -0
- data/lib/jets/cli/help/dotenv/list.md +5 -0
- data/lib/jets/cli/help/dotenv/set.md +25 -0
- data/lib/jets/cli/help/dotenv/unset.md +12 -0
- data/lib/jets/cli/help/exec.md +53 -0
- data/lib/jets/cli/help/generate/event.md +11 -0
- data/lib/jets/{command → cli}/help/logs.md +2 -2
- data/lib/jets/{command/help/releases.md → cli/help/release/history.md} +3 -3
- data/lib/jets/cli/help/rollback.md +5 -0
- data/lib/jets/cli/help/schedule/validate.md +1 -0
- data/lib/jets/{command → cli}/help/status.md +1 -1
- data/lib/jets/cli/help.rb +16 -0
- data/lib/jets/cli/init/detect.rb +30 -0
- data/lib/jets/cli/init/templates/config/jets/bootstrap.rb.tt +16 -0
- data/lib/jets/cli/init/templates/config/jets/deploy.rb.tt +43 -0
- data/lib/jets/cli/init/templates/config/jets/project.rb.tt +3 -0
- data/lib/jets/cli/init/templates/env/.env.tt +18 -0
- data/lib/jets/cli/init.rb +66 -0
- data/lib/jets/cli/lambda/checks.rb +22 -0
- data/lib/jets/cli/lambda/function.rb +104 -0
- data/lib/jets/cli/lambda/functions.rb +10 -0
- data/lib/jets/cli/lambda/lookup.rb +68 -0
- data/lib/jets/cli/login.rb +7 -0
- data/lib/jets/cli/logout.rb +7 -0
- data/lib/jets/cli/logs.rb +40 -0
- data/lib/jets/cli/maintenance/base.rb +15 -0
- data/lib/jets/cli/maintenance/mode.rb +44 -0
- data/lib/jets/cli/maintenance/web.rb +31 -0
- data/lib/jets/cli/maintenance/worker/base.rb +22 -0
- data/lib/jets/cli/maintenance/worker/restorer.rb +19 -0
- data/lib/jets/cli/maintenance/worker/saver.rb +15 -0
- data/lib/jets/cli/maintenance/worker/zeroer.rb +19 -0
- data/lib/jets/cli/maintenance/worker.rb +31 -0
- data/lib/jets/cli/maintenance.rb +32 -0
- data/lib/jets/cli/package/dockerfile.rb +9 -0
- data/lib/jets/cli/package.rb +8 -0
- data/lib/jets/cli/ping.rb +10 -0
- data/lib/jets/cli/projects.rb +22 -0
- data/lib/jets/cli/release/base.rb +4 -0
- data/lib/jets/cli/release/history.rb +68 -0
- data/lib/jets/cli/release/info.rb +59 -0
- data/lib/jets/cli/release/rollback.rb +15 -0
- data/lib/jets/cli/release.rb +23 -0
- data/lib/jets/cli/schedule/base.rb +5 -0
- data/lib/jets/cli/schedule/translate.rb +168 -0
- data/lib/jets/cli/schedule/validate.rb +95 -0
- data/lib/jets/cli/schedule.rb +15 -0
- data/lib/jets/cli/stacks.rb +33 -0
- data/lib/jets/cli/stop.rb +31 -0
- data/lib/jets/cli/teardown.rb +8 -0
- data/lib/jets/cli/tip.rb +86 -0
- data/lib/jets/cli/url.rb +41 -0
- data/lib/jets/cli/waf/base.rb +7 -0
- data/lib/jets/cli/waf/build.rb +8 -0
- data/lib/jets/cli/waf/delete.rb +17 -0
- data/lib/jets/cli/waf/deploy.rb +17 -0
- data/lib/jets/cli/waf/info.rb +128 -0
- data/lib/jets/cli/waf/init.rb +40 -0
- data/lib/jets/cli/waf/templates/waf.rb.tt +26 -0
- data/lib/jets/cli/waf.rb +38 -0
- data/lib/jets/cli.rb +180 -28
- data/lib/jets/code/copy/base.rb +84 -0
- data/lib/jets/code/copy/full.rb +9 -0
- data/lib/jets/code/copy/git_copy.rb +26 -0
- data/lib/jets/code/copy/git_inline.rb +13 -0
- data/lib/jets/code/copy/rsync.rb +19 -0
- data/lib/jets/code/dummy.rb +11 -0
- data/lib/jets/code/stager.rb +124 -0
- data/lib/jets/code/user.rb +24 -0
- data/lib/jets/code.rb +80 -0
- data/lib/jets/core/booter.rb +58 -0
- data/lib/jets/core/config/base.rb +17 -0
- data/lib/jets/core/config/bootstrap/cfn.rb +12 -0
- data/lib/jets/core/config/bootstrap/code.rb +16 -0
- data/lib/jets/core/config/bootstrap/codebuild.rb +97 -0
- data/lib/jets/core/config/bootstrap/s3_bucket.rb +19 -0
- data/lib/jets/core/config/bootstrap.rb +24 -0
- data/lib/jets/core/config/helpers/ssm.rb +9 -0
- data/lib/jets/core/config/helpers.rb +5 -0
- data/lib/jets/core/config/info.rb +27 -0
- data/lib/jets/core/config/project.rb +103 -0
- data/lib/jets/core.rb +26 -202
- data/lib/jets/core_ext/bundler.rb +6 -4
- data/lib/jets/core_ext.rb +0 -1
- data/lib/jets/dotenv/convention.rb +86 -0
- data/lib/jets/dotenv/ssm.rb +61 -38
- data/lib/jets/dotenv/var.rb +60 -0
- data/lib/jets/dotenv.rb +55 -50
- data/lib/jets/event/base.rb +55 -0
- data/lib/jets/event/dsl/dynamodb_event.rb +8 -0
- data/lib/jets/event/dsl/iot_event.rb +17 -0
- data/lib/jets/event/dsl/kinesis_event.rb +8 -0
- data/lib/jets/event/dsl/log_event.rb +8 -0
- data/lib/jets/event/dsl/rate_expression.rb +27 -0
- data/lib/jets/event/dsl/s3_event.rb +7 -0
- data/lib/jets/event/dsl/scheduled_event.rb +53 -0
- data/lib/jets/event/dsl/sns_event.rb +8 -0
- data/lib/jets/event/dsl/sqs_event.rb +8 -0
- data/lib/jets/{job → event}/dsl.rb +7 -12
- data/lib/jets/{job → event}/helpers/kinesis_event.rb +2 -2
- data/lib/jets/{job → event}/helpers/log_event.rb +5 -5
- data/lib/jets/event/helpers/s3_event.rb +76 -0
- data/lib/jets/event/helpers/sns_event.rb +16 -0
- data/lib/jets/event/helpers/sqs_event.rb +23 -0
- data/lib/jets/event/s3.rb +21 -0
- data/lib/jets/git/azure.rb +64 -0
- data/lib/jets/git/base.rb +26 -0
- data/lib/jets/git/bitbucket.rb +30 -0
- data/lib/jets/git/circleci.rb +23 -0
- data/lib/jets/git/codebuild.rb +49 -0
- data/lib/jets/git/custom.rb +32 -0
- data/lib/jets/git/git_cli.rb +28 -0
- data/lib/jets/git/github.rb +48 -0
- data/lib/jets/git/gitlab.rb +30 -0
- data/lib/jets/git/info.rb +39 -0
- data/lib/jets/git/local.rb +69 -0
- data/lib/jets/git/saved.rb +16 -0
- data/lib/jets/git/user.rb +33 -0
- data/lib/jets/git.rb +5 -0
- data/lib/jets/lambda/definition.rb +22 -16
- data/lib/jets/lambda/dsl.rb +394 -394
- data/lib/jets/lambda/function_constructor.rb +1 -2
- data/lib/jets/lambda/functions.rb +10 -25
- data/lib/jets/names.rb +5 -17
- data/lib/jets/prewarm.rb +27 -0
- data/lib/jets/rdoc.rb +2 -2
- data/lib/jets/remote/base.rb +11 -0
- data/lib/jets/remote/download.rb +65 -0
- data/lib/jets/remote/runner.rb +101 -0
- data/lib/jets/remote/tailer.rb +272 -0
- data/lib/jets/shim/adapter/alb.rb +16 -0
- data/lib/jets/shim/adapter/apigw.rb +37 -0
- data/lib/jets/shim/adapter/base.rb +16 -0
- data/lib/jets/shim/adapter/command.rb +21 -0
- data/lib/jets/shim/adapter/event.rb +27 -0
- data/lib/jets/shim/adapter/fallback.rb +64 -0
- data/lib/jets/shim/adapter/lambda.rb +35 -0
- data/lib/jets/shim/adapter/prewarm.rb +27 -0
- data/lib/jets/shim/adapter/web.rb +145 -0
- data/lib/jets/shim/config.rb +71 -0
- data/lib/jets/shim/handler.rb +60 -0
- data/lib/jets/shim/maintenance/maintenance.html +45 -0
- data/lib/jets/shim/maintenance.rb +37 -0
- data/lib/jets/shim/response/alb.rb +10 -0
- data/lib/jets/shim/response/apigw.rb +4 -0
- data/lib/jets/shim/response/base.rb +124 -0
- data/lib/jets/shim/response/lambda.rb +4 -0
- data/lib/jets/shim/response/web.rb +4 -0
- data/lib/jets/shim.rb +46 -0
- data/lib/jets/stack/{main/dsl → dsl/main}/base.rb +2 -23
- data/lib/jets/stack/dsl/main/cloudwatch.rb +6 -0
- data/lib/jets/stack/dsl/main/iam.rb +6 -0
- data/lib/jets/stack/dsl/main/kinesis.rb +6 -0
- data/lib/jets/stack/dsl/main/lambda.rb +39 -0
- data/lib/jets/stack/dsl/main/s3.rb +9 -0
- data/lib/jets/stack/dsl/main/sns.rb +12 -0
- data/lib/jets/stack/dsl/main/sqs.rb +6 -0
- data/lib/jets/stack/dsl/main.rb +15 -0
- data/lib/jets/stack/dsl/output.rb +11 -0
- data/lib/jets/stack/dsl/parameter.rb +11 -0
- data/lib/jets/stack/dsl/resource.rb +11 -0
- data/lib/jets/stack/dsl.rb +10 -0
- data/lib/jets/stack/{output/lookup.rb → outputs.rb} +7 -6
- data/lib/jets/stack.rb +11 -58
- data/lib/jets/thor/auth.rb +96 -0
- data/lib/jets/thor/base.rb +155 -0
- data/lib/jets/thor/help.rb +129 -0
- data/lib/jets/thor/project_check.rb +50 -0
- data/lib/jets/thor/shared_options.rb +31 -0
- data/lib/jets/thor/version_check.rb +51 -0
- data/lib/jets/util/call_line.rb +9 -0
- data/lib/jets/util/camelize.rb +1 -1
- data/lib/jets/util/git.rb +11 -0
- data/lib/jets/util/logging.rb +16 -0
- data/lib/jets/util/pretty.rb +23 -0
- data/lib/jets/util/sh.rb +38 -0
- data/lib/jets/util/sure.rb +25 -0
- data/lib/jets/util/truthy.rb +9 -0
- data/lib/jets/util/yamler.rb +3 -5
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +4 -8
- metadata +339 -604
- data/.circleci/config.yml +0 -92
- data/.cody/README.md +0 -13
- data/.cody/docs/bin/build.sh +0 -7
- data/.cody/docs/bin/bundler_setup.sh +0 -8
- data/.cody/docs/bin/cli_docs.sh +0 -6
- data/.cody/docs/bin/git_commit.sh +0 -27
- data/.cody/docs/bin/git_setup.sh +0 -12
- data/.cody/docs/bin/subnav.sh +0 -14
- data/.cody/docs/buildspec.yml +0 -10
- data/.cody/docs/project.rb +0 -10
- data/Dockerfile +0 -16
- data/Dockerfile.base +0 -53
- data/Guardfile +0 -22
- data/Procfile +0 -2
- data/engines/internal/app/controllers/jets/application_controller.rb +0 -28
- data/engines/internal/app/controllers/jets/bare_controller.rb +0 -6
- data/engines/internal/app/controllers/jets/health_controller.rb +0 -55
- data/engines/internal/app/controllers/jets/info_controller.rb +0 -45
- data/engines/internal/app/controllers/jets/mailers_controller.rb +0 -95
- data/engines/internal/app/controllers/jets/mount_controller.rb +0 -59
- data/engines/internal/app/controllers/jets/public_controller.rb +0 -35
- data/engines/internal/app/controllers/jets/welcome_controller.rb +0 -9
- data/engines/internal/app/functions/jets/base_path.rb +0 -109
- data/engines/internal/app/functions/jets/base_path_mapping.rb +0 -191
- data/engines/internal/app/jobs/jets/preheat_job.rb +0 -64
- data/engines/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -33
- data/engines/internal/app/views/jets/info/properties.html.erb +0 -1
- data/engines/internal/app/views/jets/info/routes.html.erb +0 -10
- data/engines/internal/app/views/jets/mailers/email.html.erb +0 -165
- data/engines/internal/app/views/jets/mailers/index.html.erb +0 -8
- data/engines/internal/app/views/jets/mailers/mailer.html.erb +0 -6
- data/engines/internal/app/views/jets/welcome/index.html.erb +0 -95
- data/engines/internal/app/views/layouts/application.html.erb +0 -51
- data/engines/internal/lib/internal/actiondispatch.rb +0 -39
- data/engines/internal/lib/internal/actionmailer.rb +0 -51
- data/engines/internal/lib/internal/actionview.rb +0 -152
- data/engines/internal/lib/internal/activerecord.rb +0 -37
- data/engines/internal/lib/internal/activesupport.rb +0 -47
- data/engines/internal/lib/internal/engine.rb +0 -13
- data/engines/internal/lib/internal/i18n_engine.rb +0 -19
- data/engines/internal/lib/internal/jets_controller.rb +0 -46
- data/engines/internal/lib/internal/overrides/debug_exceptions.rb +0 -40
- data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +0 -62
- data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +0 -9
- data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +0 -70
- data/engines/internal/lib/internal/turbines/helpers.rb +0 -18
- data/engines/internal/lib/internal/turbines/routes_helpers.rb +0 -42
- data/lib/jets/app_loader.rb +0 -77
- data/lib/jets/application/bootstrap.rb +0 -100
- data/lib/jets/application/configuration/defaults.rb +0 -256
- data/lib/jets/application/configuration.rb +0 -494
- data/lib/jets/application/default_middleware_stack.rb +0 -140
- data/lib/jets/application/dummy_erb_compiler.rb +0 -18
- data/lib/jets/application/finisher.rb +0 -266
- data/lib/jets/application/routes_reloader.rb +0 -80
- data/lib/jets/application.rb +0 -556
- data/lib/jets/authorizer/base.rb +0 -37
- data/lib/jets/authorizer/dsl.rb +0 -73
- data/lib/jets/authorizer/helpers/iam_helper.rb +0 -49
- data/lib/jets/autoloaders/inflector.rb +0 -21
- data/lib/jets/backtrace_cleaner.rb +0 -27
- data/lib/jets/booter.rb +0 -78
- data/lib/jets/builders/code_builder.rb +0 -359
- data/lib/jets/builders/code_size.rb +0 -58
- data/lib/jets/builders/gem_replacer.rb +0 -83
- data/lib/jets/builders/handler_generator.rb +0 -214
- data/lib/jets/builders/lambda_layer.rb +0 -63
- data/lib/jets/builders/md5.rb +0 -60
- data/lib/jets/builders/md5_zip.rb +0 -61
- data/lib/jets/builders/purger.rb +0 -35
- data/lib/jets/builders/rack_packager.rb +0 -51
- data/lib/jets/builders/rackup_wrappers/rackup +0 -19
- data/lib/jets/builders/rackup_wrappers/rackup.rb +0 -7
- data/lib/jets/builders/ruby_packager.rb +0 -288
- data/lib/jets/builders/shim_vars/app.rb +0 -82
- data/lib/jets/builders/shim_vars/base.rb +0 -25
- data/lib/jets/builders/shim_vars/shared.rb +0 -37
- data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +0 -33
- data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +0 -20
- data/lib/jets/builders/templates/handlers/one_lambda_per_method.rb +0 -18
- data/lib/jets/builders/tidy.rb +0 -107
- data/lib/jets/builders/util.rb +0 -31
- data/lib/jets/cfn/builder/api/base.rb +0 -12
- data/lib/jets/cfn/builder/api/deployment.rb +0 -46
- data/lib/jets/cfn/builder/api/gateway.rb +0 -106
- data/lib/jets/cfn/builder/api/mapping.rb +0 -54
- data/lib/jets/cfn/builder/api/methods.rb +0 -72
- data/lib/jets/cfn/builder/api/paged.rb +0 -30
- data/lib/jets/cfn/builder/api/pages/base.rb +0 -105
- data/lib/jets/cfn/builder/api/pages/methods.rb +0 -17
- data/lib/jets/cfn/builder/api/pages/page.rb +0 -19
- data/lib/jets/cfn/builder/api/pages/resources.rb +0 -21
- data/lib/jets/cfn/builder/api/resources.rb +0 -40
- data/lib/jets/cfn/builder/authorizer.rb +0 -64
- data/lib/jets/cfn/builder/controller.rb +0 -28
- data/lib/jets/cfn/builder/function.rb +0 -9
- data/lib/jets/cfn/builder/job.rb +0 -10
- data/lib/jets/cfn/builder/nested.rb +0 -130
- data/lib/jets/cfn/builder/one_controller.rb +0 -53
- data/lib/jets/cfn/builder/parent/stagger.rb +0 -34
- data/lib/jets/cfn/builder/parent.rb +0 -149
- data/lib/jets/cfn/builder/rule.rb +0 -20
- data/lib/jets/cfn/builder/shared.rb +0 -15
- data/lib/jets/cfn/builder/util/source.rb +0 -21
- data/lib/jets/cfn/builder.rb +0 -230
- data/lib/jets/cfn/deployment.rb +0 -85
- data/lib/jets/cfn/download.rb +0 -39
- data/lib/jets/cfn/params/api/base.rb +0 -39
- data/lib/jets/cfn/params/api/cors.rb +0 -10
- data/lib/jets/cfn/params/api/methods.rb +0 -69
- data/lib/jets/cfn/params/api/resources.rb +0 -28
- data/lib/jets/cfn/params/common.rb +0 -14
- data/lib/jets/cfn/resource/api_gateway/authorizer.rb +0 -82
- data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +0 -57
- data/lib/jets/cfn/resource/api_gateway/base_path/mapping.rb +0 -45
- data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +0 -70
- data/lib/jets/cfn/resource/api_gateway/deployment.rb +0 -73
- data/lib/jets/cfn/resource/api_gateway/domain_name.rb +0 -65
- data/lib/jets/cfn/resource/api_gateway/method/authorization.rb +0 -41
- data/lib/jets/cfn/resource/api_gateway/method.rb +0 -92
- data/lib/jets/cfn/resource/api_gateway/resource.rb +0 -86
- data/lib/jets/cfn/resource/api_gateway/resource_id.rb +0 -25
- data/lib/jets/cfn/resource/api_gateway/rest_api/change_detection.rb +0 -10
- data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id/message.rb +0 -59
- data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id.rb +0 -98
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/base.rb +0 -110
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/media_types.rb +0 -36
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/page.rb +0 -93
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/to.rb +0 -30
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/variable.rb +0 -35
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +0 -27
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +0 -7
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision.rb +0 -121
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes.rb +0 -7
- data/lib/jets/cfn/resource/api_gateway/rest_api.rb +0 -74
- data/lib/jets/cfn/resource/config/config_rule.rb +0 -74
- data/lib/jets/cfn/resource/config/managed_rule.rb +0 -15
- data/lib/jets/cfn/resource/events/rule.rb +0 -31
- data/lib/jets/cfn/resource/iam/application_role.rb +0 -27
- data/lib/jets/cfn/resource/iam/base_role_definition.rb +0 -56
- data/lib/jets/cfn/resource/iam/class_role.rb +0 -74
- data/lib/jets/cfn/resource/iam/function_role.rb +0 -54
- data/lib/jets/cfn/resource/iam/managed_policy.rb +0 -22
- data/lib/jets/cfn/resource/iam/policy.rb +0 -31
- data/lib/jets/cfn/resource/iam/policy_document.rb +0 -42
- data/lib/jets/cfn/resource/iot/topic_rule.rb +0 -34
- data/lib/jets/cfn/resource/lambda/event_source_mapping.rb +0 -31
- data/lib/jets/cfn/resource/lambda/function/controller.rb +0 -21
- data/lib/jets/cfn/resource/lambda/function/environment.rb +0 -64
- data/lib/jets/cfn/resource/lambda/function.rb +0 -266
- data/lib/jets/cfn/resource/lambda/gem_layer.rb +0 -17
- data/lib/jets/cfn/resource/lambda/layer_version.rb +0 -44
- data/lib/jets/cfn/resource/lambda/permission.rb +0 -51
- data/lib/jets/cfn/resource/logs/subscription_filter.rb +0 -31
- data/lib/jets/cfn/resource/nested/api/base.rb +0 -4
- data/lib/jets/cfn/resource/nested/api/deployment.rb +0 -53
- data/lib/jets/cfn/resource/nested/api/gateway.rb +0 -15
- data/lib/jets/cfn/resource/nested/api/mapping.rb +0 -33
- data/lib/jets/cfn/resource/nested/api/methods.rb +0 -30
- data/lib/jets/cfn/resource/nested/api/page.rb +0 -8
- data/lib/jets/cfn/resource/nested/api/resources.rb +0 -22
- data/lib/jets/cfn/resource/nested/app_class.rb +0 -116
- data/lib/jets/cfn/resource/nested/authorizer.rb +0 -34
- data/lib/jets/cfn/resource/nested/base.rb +0 -38
- data/lib/jets/cfn/resource/nested/one_controller.rb +0 -48
- data/lib/jets/cfn/resource/nested/shared.rb +0 -79
- data/lib/jets/cfn/resource/one/function.rb +0 -66
- data/lib/jets/cfn/resource/one/permission.rb +0 -17
- data/lib/jets/cfn/resource/route53/record_set.rb +0 -98
- data/lib/jets/cfn/resource/sns/subscription.rb +0 -29
- data/lib/jets/cfn/resource/sns/topic.rb +0 -35
- data/lib/jets/cfn/resource/sns/topic_policy.rb +0 -40
- data/lib/jets/cfn/resource/sqs/queue.rb +0 -21
- data/lib/jets/cfn/ship.rb +0 -192
- data/lib/jets/cfn/template.rb +0 -93
- data/lib/jets/cfn/upload.rb +0 -163
- data/lib/jets/command/actions.rb +0 -49
- data/lib/jets/command/api_helpers.rb +0 -42
- data/lib/jets/command/aws_helpers.rb +0 -26
- data/lib/jets/command/base.rb +0 -209
- data/lib/jets/command/behavior.rb +0 -83
- data/lib/jets/command/environment_argument.rb +0 -42
- data/lib/jets/command/help/build.md +0 -6
- data/lib/jets/command/help/call.md +0 -48
- data/lib/jets/command/help/clean/build.md +0 -5
- data/lib/jets/command/help/clean/log.md +0 -5
- data/lib/jets/command/help/console.md +0 -18
- data/lib/jets/command/help/db/generate.md +0 -8
- data/lib/jets/command/help/dbconsole.md +0 -9
- data/lib/jets/command/help/degenerate.md +0 -16
- data/lib/jets/command/help/deploy.md +0 -32
- data/lib/jets/command/help/gems/check.md +0 -1
- data/lib/jets/command/help/generate.md +0 -28
- data/lib/jets/command/help/import/rack.md +0 -13
- data/lib/jets/command/help/import/rails.md +0 -11
- data/lib/jets/command/help/new.md +0 -41
- data/lib/jets/command/help/rollback.md +0 -5
- data/lib/jets/command/help/routes.md +0 -15
- data/lib/jets/command/help/runner.md +0 -40
- data/lib/jets/command/help/server.md +0 -15
- data/lib/jets/command/help/upgrade.md +0 -7
- data/lib/jets/command/help.rb +0 -17
- data/lib/jets/command/helpers/editor.rb +0 -35
- data/lib/jets/command/rake_decorate.rb +0 -38
- data/lib/jets/command.rb +0 -142
- data/lib/jets/commands/application/application_command.rb +0 -46
- data/lib/jets/commands/build/build_command.rb +0 -33
- data/lib/jets/commands/call/anonymous_guesser.rb +0 -96
- data/lib/jets/commands/call/autoload_guesser.rb +0 -136
- data/lib/jets/commands/call/base_guesser.rb +0 -62
- data/lib/jets/commands/call/call_command.rb +0 -27
- data/lib/jets/commands/call/caller.rb +0 -184
- data/lib/jets/commands/call/guesser.rb +0 -48
- data/lib/jets/commands/clean/base.rb +0 -24
- data/lib/jets/commands/clean/build.rb +0 -13
- data/lib/jets/commands/clean/clean_command.rb +0 -15
- data/lib/jets/commands/clean/log.rb +0 -111
- data/lib/jets/commands/configure/configure_command.rb +0 -9
- data/lib/jets/commands/console/console_command.rb +0 -38
- data/lib/jets/commands/credentials/USAGE +0 -103
- data/lib/jets/commands/credentials/credentials_command/diffing.rb +0 -51
- data/lib/jets/commands/credentials/credentials_command.rb +0 -139
- data/lib/jets/commands/db/system/change/change_command.rb +0 -24
- data/lib/jets/commands/dbconsole/dbconsole_command.rb +0 -184
- data/lib/jets/commands/degenerate/degenerate_command.rb +0 -21
- data/lib/jets/commands/delete/delete_command.rb +0 -154
- data/lib/jets/commands/deploy/deploy_command.rb +0 -118
- data/lib/jets/commands/dev/dev_command.rb +0 -19
- data/lib/jets/commands/dotenv/dotenv_command.rb +0 -9
- data/lib/jets/commands/encrypted/USAGE +0 -46
- data/lib/jets/commands/encrypted/encrypted_command.rb +0 -87
- data/lib/jets/commands/gems/gems_command.rb +0 -14
- data/lib/jets/commands/generate/generate_command.rb +0 -95
- data/lib/jets/commands/help/USAGE +0 -20
- data/lib/jets/commands/help/help_command.rb +0 -15
- data/lib/jets/commands/initializers/initializers_command.rb +0 -19
- data/lib/jets/commands/logs/logs_command.rb +0 -45
- data/lib/jets/commands/new/new_command.rb +0 -19
- data/lib/jets/commands/notes/notes_command.rb +0 -30
- data/lib/jets/commands/plugin/plugin_command.rb +0 -45
- data/lib/jets/commands/projects/projects_command.rb +0 -30
- data/lib/jets/commands/rake/rake_command.rb +0 -59
- data/lib/jets/commands/releases/releases_command.rb +0 -124
- data/lib/jets/commands/rollback/rollback_command.rb +0 -33
- data/lib/jets/commands/routes/routes_command.rb +0 -19
- data/lib/jets/commands/runner/runner_command.rb +0 -60
- data/lib/jets/commands/server/server_command.rb +0 -291
- data/lib/jets/commands/stacks/stacks_command.rb +0 -39
- data/lib/jets/commands/status/status_command.rb +0 -16
- data/lib/jets/commands/url/url_command.rb +0 -92
- data/lib/jets/commands/version/version_command.rb +0 -11
- data/lib/jets/commands.rb +0 -17
- data/lib/jets/configuration.rb +0 -166
- data/lib/jets/controller/base.rb +0 -117
- data/lib/jets/controller/compat/abstract_controller/base.rb +0 -126
- data/lib/jets/controller/compat/action_controller/metal.rb +0 -99
- data/lib/jets/controller/compat/caching.rb +0 -13
- data/lib/jets/controller/compat/future.rb +0 -13
- data/lib/jets/controller/compat/route_set.rb +0 -47
- data/lib/jets/controller/decorate/apigw_stage.rb +0 -39
- data/lib/jets/controller/decorate/authorization.rb +0 -91
- data/lib/jets/controller/decorate/logging.rb +0 -90
- data/lib/jets/controller/decorate/redirecting.rb +0 -16
- data/lib/jets/controller/decorate/url_for.rb +0 -10
- data/lib/jets/controller/handler/apigw.rb +0 -93
- data/lib/jets/controller/handler.rb +0 -41
- data/lib/jets/controller/middleware/main.rb +0 -61
- data/lib/jets/controller/middleware/mimic/apigw.rb +0 -140
- data/lib/jets/controller/middleware/mimic/lambda_context.rb +0 -44
- data/lib/jets/controller/middleware/mimic.rb +0 -105
- data/lib/jets/controller/middleware/webpacker_setup.rb +0 -6
- data/lib/jets/controller/rack_adapter/action.rb +0 -35
- data/lib/jets/controller/rack_adapter/env.rb +0 -145
- data/lib/jets/controller/request/compat/params.rb +0 -144
- data/lib/jets/controller/request/compat/request.rb +0 -125
- data/lib/jets/controller/request.rb +0 -46
- data/lib/jets/controller/response/compat/response.rb +0 -67
- data/lib/jets/controller/response.rb +0 -144
- data/lib/jets/core_ext/kernel.rb +0 -13
- data/lib/jets/dev_caching.rb +0 -44
- data/lib/jets/dotenv/show.rb +0 -11
- data/lib/jets/engine/configuration.rb +0 -96
- data/lib/jets/engine/turbines.rb +0 -23
- data/lib/jets/engine.rb +0 -380
- data/lib/jets/erb.rb +0 -51
- data/lib/jets/generators/job/job_generator.rb +0 -41
- data/lib/jets/generators/job/templates/application_job.rb.tt +0 -6
- data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/iot.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/s3.rb.tt +0 -11
- data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/sns.rb.tt +0 -11
- data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +0 -11
- data/lib/jets/generators/overrides/app/USAGE +0 -38
- data/lib/jets/generators/overrides/app/app_generator.rb +0 -148
- data/lib/jets/generators/overrides/app/helpers.rb +0 -139
- data/lib/jets/generators/overrides/app/templates/.env +0 -10
- data/lib/jets/generators/overrides/app/templates/.gitignore.tt +0 -13
- data/lib/jets/generators/overrides/app/templates/.jetsignore +0 -6
- data/lib/jets/generators/overrides/app/templates/.rspec +0 -3
- data/lib/jets/generators/overrides/app/templates/Gemfile.tt +0 -28
- data/lib/jets/generators/overrides/app/templates/README.md +0 -11
- data/lib/jets/generators/overrides/app/templates/Rakefile +0 -2
- data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +0 -3
- data/lib/jets/generators/overrides/app/templates/app/assets/images/.keep +0 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/javascripts/.keep +0 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +0 -15
- data/lib/jets/generators/overrides/app/templates/app/controllers/application_controller.rb +0 -2
- data/lib/jets/generators/overrides/app/templates/app/helpers/application_helper.rb +0 -2
- data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +0 -5
- data/lib/jets/generators/overrides/app/templates/app/jobs/application_job.rb +0 -4
- data/lib/jets/generators/overrides/app/templates/app/models/application_record.rb +0 -3
- data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +0 -30
- data/lib/jets/generators/overrides/app/templates/bin/jets +0 -3
- data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +0 -15
- data/lib/jets/generators/overrides/app/templates/config/database.yml.tt +0 -27
- data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +0 -29
- data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +0 -21
- data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +0 -23
- data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +0 -31
- data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +0 -8
- data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +0 -11
- data/lib/jets/generators/overrides/app/templates/config/routes.rb +0 -13
- data/lib/jets/generators/overrides/app/templates/config.ru +0 -5
- data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
- data/lib/jets/generators/overrides/app/templates/public/404.html +0 -67
- data/lib/jets/generators/overrides/app/templates/public/422.html +0 -67
- data/lib/jets/generators/overrides/app/templates/public/500.html +0 -66
- data/lib/jets/generators/overrides/app/templates/public/favicon.ico +0 -0
- data/lib/jets/generators/overrides/app/templates/spec/controllers/posts_controller_spec.rb +0 -15
- data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-index.json +0 -51
- data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-show.json +0 -53
- data/lib/jets/generators/overrides/app/templates/spec/spec_helper.rb.tt +0 -30
- data/lib/jets/generators/overrides/templates/erb/scaffold/_form.html.erb +0 -34
- data/lib/jets/generators/overrides/templates/erb/scaffold/edit.html.erb +0 -6
- data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +0 -22
- data/lib/jets/generators/overrides/templates/erb/scaffold/new.html.erb +0 -5
- data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +0 -8
- data/lib/jets/generators/overrides/templates/erb/scaffold/show.html.erb +0 -9
- data/lib/jets/generators/overrides/templates/rails/assets/javascript.js +0 -2
- data/lib/jets/generators/overrides/templates/rails/assets/stylesheet.css +0 -4
- data/lib/jets/generators/overrides/templates/rails/scaffold/scaffold.css +0 -80
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt +0 -58
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +0 -67
- data/lib/jets/generators.rb +0 -112
- data/lib/jets/inflections.rb +0 -32
- data/lib/jets/info.rb +0 -116
- data/lib/jets/initializable.rb +0 -95
- data/lib/jets/job/base.rb +0 -52
- data/lib/jets/job/dsl/dynamodb_event.rb +0 -78
- data/lib/jets/job/dsl/event_source_mapping.rb +0 -11
- data/lib/jets/job/dsl/iot_event.rb +0 -24
- data/lib/jets/job/dsl/kinesis_event.rb +0 -47
- data/lib/jets/job/dsl/log_event.rb +0 -15
- data/lib/jets/job/dsl/rule_event.rb +0 -78
- data/lib/jets/job/dsl/s3_event.rb +0 -77
- data/lib/jets/job/dsl/sns_event.rb +0 -54
- data/lib/jets/job/dsl/sqs_event.rb +0 -97
- data/lib/jets/job/helpers/s3_event.rb +0 -50
- data/lib/jets/job/helpers/sns_event.rb +0 -26
- data/lib/jets/job/helpers/sqs_event.rb +0 -26
- data/lib/jets/klass.rb +0 -108
- data/lib/jets/lambda/dsl/warnings.rb +0 -57
- data/lib/jets/mega/hash_converter.rb +0 -25
- data/lib/jets/mega/request/source.rb +0 -20
- data/lib/jets/mega/request.rb +0 -163
- data/lib/jets/overrides/dummy/rails.rb +0 -11
- data/lib/jets/overrides/lambda/marshaller.rb +0 -31
- data/lib/jets/overrides/lambda.rb +0 -1
- data/lib/jets/overrides/puma.rb +0 -10
- data/lib/jets/paths.rb +0 -243
- data/lib/jets/poly/base_executor.rb +0 -125
- data/lib/jets/poly/lambda_executor.rb +0 -16
- data/lib/jets/poly/node_error.rb +0 -8
- data/lib/jets/poly/node_executor.rb +0 -54
- data/lib/jets/poly/python_error.rb +0 -8
- data/lib/jets/poly/python_executor.rb +0 -23
- data/lib/jets/poly.rb +0 -73
- data/lib/jets/preheat.rb +0 -110
- data/lib/jets/processors/deducer.rb +0 -65
- data/lib/jets/processors/main_processor.rb +0 -54
- data/lib/jets/rack/logger.rb +0 -77
- data/lib/jets/router/compat/route_set.rb +0 -177
- data/lib/jets/router/dsl/mount.rb +0 -47
- data/lib/jets/router/dsl.rb +0 -164
- data/lib/jets/router/engine_mount.rb +0 -36
- data/lib/jets/router/help.rb +0 -130
- data/lib/jets/router/helpers/named_routes/add_full_url.rb +0 -13
- data/lib/jets/router/helpers/named_routes/generated.rb +0 -197
- data/lib/jets/router/helpers/named_routes/proxy.rb +0 -66
- data/lib/jets/router/matcher.rb +0 -204
- data/lib/jets/router/resources/base.rb +0 -7
- data/lib/jets/router/resources/filter.rb +0 -15
- data/lib/jets/router/resources/options.rb +0 -15
- data/lib/jets/router/route/after_initialize.rb +0 -64
- data/lib/jets/router/route/as.rb +0 -93
- data/lib/jets/router/route/authorizer.rb +0 -58
- data/lib/jets/router/route/compat.rb +0 -45
- data/lib/jets/router/route/info.rb +0 -74
- data/lib/jets/router/route/node.rb +0 -137
- data/lib/jets/router/route/path.rb +0 -93
- data/lib/jets/router/route.rb +0 -249
- data/lib/jets/router/route_set.rb +0 -214
- data/lib/jets/router/scope.rb +0 -230
- data/lib/jets/router/state.rb +0 -67
- data/lib/jets/router/util.rb +0 -8
- data/lib/jets/router.rb +0 -94
- data/lib/jets/ruby_version_check.rb +0 -15
- data/lib/jets/rule/base.rb +0 -20
- data/lib/jets/rule/dsl.rb +0 -109
- data/lib/jets/secrets.rb +0 -110
- data/lib/jets/spec_helpers/controllers/params.rb +0 -8
- data/lib/jets/spec_helpers/controllers/request.rb +0 -107
- data/lib/jets/spec_helpers/controllers/response.rb +0 -10
- data/lib/jets/spec_helpers/controllers.rb +0 -54
- data/lib/jets/spec_helpers/fixtures.rb +0 -11
- data/lib/jets/spec_helpers.rb +0 -15
- data/lib/jets/stack/builder.rb +0 -44
- data/lib/jets/stack/definition.rb +0 -47
- data/lib/jets/stack/depends/item.rb +0 -26
- data/lib/jets/stack/depends.rb +0 -34
- data/lib/jets/stack/function.rb +0 -71
- data/lib/jets/stack/main/dsl/cloudwatch.rb +0 -19
- data/lib/jets/stack/main/dsl/iam.rb +0 -8
- data/lib/jets/stack/main/dsl/kinesis.rb +0 -15
- data/lib/jets/stack/main/dsl/lambda.rb +0 -90
- data/lib/jets/stack/main/dsl/s3.rb +0 -12
- data/lib/jets/stack/main/dsl/sns.rb +0 -16
- data/lib/jets/stack/main/dsl/sqs.rb +0 -10
- data/lib/jets/stack/main/dsl.rb +0 -17
- data/lib/jets/stack/main.rb +0 -4
- data/lib/jets/stack/output/dsl.rb +0 -19
- data/lib/jets/stack/output.rb +0 -35
- data/lib/jets/stack/parameter/dsl.rb +0 -42
- data/lib/jets/stack/parameter.rb +0 -37
- data/lib/jets/stack/resource/dsl.rb +0 -19
- data/lib/jets/stack/resource.rb +0 -31
- data/lib/jets/stack/s3_event.rb +0 -101
- data/lib/jets/tasks/engine.rake +0 -85
- data/lib/jets/tasks/framework.rake +0 -66
- data/lib/jets/tasks/log.rake +0 -41
- data/lib/jets/tasks/middleware.rake +0 -9
- data/lib/jets/tasks/misc.rake +0 -81
- data/lib/jets/tasks/statistics.rake +0 -37
- data/lib/jets/tasks/tmp.rake +0 -51
- data/lib/jets/tasks/yarn.rake +0 -29
- data/lib/jets/tasks/zeitwerk.rake +0 -61
- data/lib/jets/tasks.rb +0 -18
- data/lib/jets/tmp_loader.rb +0 -53
- data/lib/jets/turbine/configurable.rb +0 -36
- data/lib/jets/turbine/configuration.rb +0 -101
- data/lib/jets/turbine.rb +0 -185
- data/lib/jets/util.rb +0 -40
- /data/lib/jets/{command → cli}/help/projects.md +0 -0
- /data/lib/jets/{command → cli}/help/stacks.md +0 -0
- /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
|