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
data/lib/jets/generators.rb
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# Piggy back off of Rails Generators.
|
|
2
|
-
|
|
3
|
-
module Jets
|
|
4
|
-
# Original Rails::Generators is a module.
|
|
5
|
-
# It cannot be included or inherited given the way Rails module is defined.
|
|
6
|
-
# We use a class that delegates to the Rails::Generators.invoke method.
|
|
7
|
-
class Generators
|
|
8
|
-
include Jets::Command::Behavior
|
|
9
|
-
|
|
10
|
-
def initialize(namespace, args = ARGV, config = {})
|
|
11
|
-
@namespace, @args, @config = namespace, args, config
|
|
12
|
-
@args << '--pretend' if noop?
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# Used to delegate noop option to Rails generator pretend option. Both work:
|
|
16
|
-
#
|
|
17
|
-
# jets generate scaffold user title:string --noop
|
|
18
|
-
# jets generate scaffold user title:string --pretend
|
|
19
|
-
#
|
|
20
|
-
# Grabbing directly from the ARGV because think its cleaner than passing options from
|
|
21
|
-
# Thor all the way down.
|
|
22
|
-
def noop?
|
|
23
|
-
ARGV.include?('--noop')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def run(behavior=:invoke)
|
|
27
|
-
if @namespace == "job"
|
|
28
|
-
run_job_generator
|
|
29
|
-
else
|
|
30
|
-
# Required by:
|
|
31
|
-
# jets generate migration create_articles user:references
|
|
32
|
-
# jets generate model article user:references
|
|
33
|
-
# Makes use of Rails.application
|
|
34
|
-
if %w[model migration].include?(@namespace)
|
|
35
|
-
require "jets/overrides/dummy/rails"
|
|
36
|
-
end
|
|
37
|
-
run_rails_generator
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# For job generators, use a more custom generator instead of Rails generators.
|
|
42
|
-
# We this for more control over the jobs and can add more features.
|
|
43
|
-
# IE: Different event based jobs.
|
|
44
|
-
def run_job_generator
|
|
45
|
-
require "jets/generators/job/job_generator"
|
|
46
|
-
JobGenerator.start(@args, @config)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def run_rails_generator
|
|
50
|
-
# We lazy require so Rails const is only defined when using generators
|
|
51
|
-
# Using require at the top and configuring do_not_eager_load is not enough.
|
|
52
|
-
# This is because we call require "jets/generators" throughout the codebase.
|
|
53
|
-
require "rails/generators"
|
|
54
|
-
require "rails/configuration"
|
|
55
|
-
|
|
56
|
-
# => Jets::Generators.configure! => Rails::Generators.configure!(config)
|
|
57
|
-
self.class.configure!(config)
|
|
58
|
-
|
|
59
|
-
# Ultimately, Rails::Generator.invoke is called.
|
|
60
|
-
# Here are some examples to show how args are passed to Rails::Generator.invoke.
|
|
61
|
-
#
|
|
62
|
-
# jets generate kingsman:controllers users -c=sessions
|
|
63
|
-
# @namespace kingsman:controllers
|
|
64
|
-
# @args ["users", "-c=sessions"]
|
|
65
|
-
#
|
|
66
|
-
# jets generate scaffold post title:string body:text published:boolean --force
|
|
67
|
-
# @args ["post", "title:string", "body:text", "published:boolean", "--force"]
|
|
68
|
-
|
|
69
|
-
Rails::Generators.invoke(@namespace, @args, @config)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def config
|
|
73
|
-
config = Jets.application.config.generators
|
|
74
|
-
config.orm :active_record, migration: true, timestamps: true
|
|
75
|
-
config.templates = [jets_templates_path] # add jets_templates_path for customizations
|
|
76
|
-
if Jets.application.config.mode == 'api'
|
|
77
|
-
config.api_only = true
|
|
78
|
-
config.template_engine nil
|
|
79
|
-
else
|
|
80
|
-
config.template_engine :erb
|
|
81
|
-
end
|
|
82
|
-
config
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
# Rails and Thor allows overriding the provided templates with source root.
|
|
86
|
-
# The structure is slightly different with source_paths.
|
|
87
|
-
# source_root railties-7.0.8/lib/rails/generators/erb/scaffold/templates
|
|
88
|
-
# source_paths lib/jets/generators/overrides/templates/erb/scaffold
|
|
89
|
-
# See how templates is prefix instead of a suffix.
|
|
90
|
-
# erb/scaffold/templates
|
|
91
|
-
# templates/erb/scaffold
|
|
92
|
-
# This is nice because everything is together in the overrides/template folder.
|
|
93
|
-
def jets_templates_path
|
|
94
|
-
File.expand_path("generators/overrides/templates", __dir__)
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
class << self
|
|
98
|
-
def configure!(config)
|
|
99
|
-
require "rails/generators"
|
|
100
|
-
Rails::Generators.configure!(config)
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def invoke(generator, args = ARGV, config = {})
|
|
104
|
-
new(generator, args, config).run(:invoke)
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
def revoke(generator, args = ARGV, config = {})
|
|
108
|
-
new(generator, args, config).run(:revoke)
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
data/lib/jets/inflections.rb
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
module Jets
|
|
2
|
-
class Inflections
|
|
3
|
-
class << self
|
|
4
|
-
def load!
|
|
5
|
-
ActiveSupport::Inflector.inflections(:en) do |inflect|
|
|
6
|
-
load(inflect, base)
|
|
7
|
-
load(inflect, custom)
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def load(inflect, inflections)
|
|
12
|
-
inflections.each do |k,v|
|
|
13
|
-
inflect.irregular k,v
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
# base custom inflections
|
|
18
|
-
def base
|
|
19
|
-
{
|
|
20
|
-
sns: 'sns',
|
|
21
|
-
sqs: 'sqs'
|
|
22
|
-
}
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# User defined custom inflections
|
|
26
|
-
def custom
|
|
27
|
-
path = "#{Jets.root}/config/inflections.yml"
|
|
28
|
-
File.exist?(path) ? Jets::Util::Yamler.load_file(path) : {}
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
data/lib/jets/info.rb
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "cgi"
|
|
4
|
-
require "rack"
|
|
5
|
-
|
|
6
|
-
module Jets
|
|
7
|
-
# This module helps build the runtime properties that are displayed in
|
|
8
|
-
# Jets::InfoController responses. These include the active Jets version,
|
|
9
|
-
# Ruby version, Rack version, and so on.
|
|
10
|
-
module Info
|
|
11
|
-
mattr_accessor :properties, default: []
|
|
12
|
-
|
|
13
|
-
class << @@properties
|
|
14
|
-
def names
|
|
15
|
-
map(&:first)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def value_for(property_name)
|
|
19
|
-
if property = assoc(property_name)
|
|
20
|
-
property.last
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
class << self # :nodoc:
|
|
26
|
-
def property(name, value = nil)
|
|
27
|
-
value ||= yield
|
|
28
|
-
properties << [name, value] if value
|
|
29
|
-
rescue Exception
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def to_s
|
|
33
|
-
column_width = properties.names.map(&:length).max
|
|
34
|
-
info = properties.map do |name, value|
|
|
35
|
-
value = value.join(", ") if value.is_a?(Array)
|
|
36
|
-
"%-#{column_width}s %s" % [name, value]
|
|
37
|
-
end
|
|
38
|
-
info.unshift "About your application's environment"
|
|
39
|
-
info * "\n"
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
alias inspect to_s
|
|
43
|
-
|
|
44
|
-
def to_html
|
|
45
|
-
(+"<table>").tap do |table|
|
|
46
|
-
properties.each do |(name, value)|
|
|
47
|
-
table << %(<tr><td class="name">#{CGI.escapeHTML(name.to_s)}</td>)
|
|
48
|
-
formatted_value = if value.kind_of?(Array)
|
|
49
|
-
"<ul>" + value.map { |v| "<li>#{CGI.escapeHTML(v.to_s)}</li>" }.join + "</ul>"
|
|
50
|
-
else
|
|
51
|
-
CGI.escapeHTML(value.to_s)
|
|
52
|
-
end
|
|
53
|
-
table << %(<td class="value">#{formatted_value}</td></tr>)
|
|
54
|
-
end
|
|
55
|
-
table << "</table>"
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# The Jets version.
|
|
61
|
-
property "Jets version" do
|
|
62
|
-
Jets.version.to_s
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# The Ruby version and platform, e.g. "2.0.0-p247 (x86_64-darwin12.4.0)".
|
|
66
|
-
property "Ruby version" do
|
|
67
|
-
RUBY_DESCRIPTION
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
# The RubyGems version, if it's installed.
|
|
71
|
-
property "RubyGems version" do
|
|
72
|
-
Gem::VERSION
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
property "Rack version" do
|
|
76
|
-
::Rack.release
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
property "JavaScript Runtime" do
|
|
80
|
-
ExecJS.runtime.name
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
# Note: The Jets.configuration.middleware is not available until Jets.boot finishes.
|
|
84
|
-
# It's important for the jets gem not to eager load because
|
|
85
|
-
# Jets.configuration.middleware is not available until after Jets.boot.
|
|
86
|
-
#
|
|
87
|
-
# Originally called Jets.boot here, but it results in a boot twice.
|
|
88
|
-
# That results in weird behavior like commenting out DebugException middleware
|
|
89
|
-
# breaks startup with ActiveSupport::Dependencies.autoload_paths freeze error.
|
|
90
|
-
# The side-effect errors are hard to debug. Jets::Info should be loaded lazily.
|
|
91
|
-
#
|
|
92
|
-
# In Jets::Autoloaders::Gem we do_not_eager_load Jets::Info to avoid this issue.
|
|
93
|
-
property "Middleware" do
|
|
94
|
-
Jets.configuration.middleware.map(&:inspect)
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
# The application's location on the filesystem.
|
|
98
|
-
property "Application root" do
|
|
99
|
-
File.expand_path(Jets.root)
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
# The current Jets environment (development, test, or production).
|
|
103
|
-
property "Environment" do
|
|
104
|
-
Jets.env
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
# The name of the database adapter for the current environment.
|
|
108
|
-
property "Database adapter" do
|
|
109
|
-
ActiveRecord::Base.connection.pool.db_config.adapter
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
property "Database schema version" do
|
|
113
|
-
ActiveRecord::Base.connection.migration_context.current_version rescue nil
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
end
|
data/lib/jets/initializable.rb
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "tsort"
|
|
4
|
-
|
|
5
|
-
module Jets
|
|
6
|
-
module Initializable
|
|
7
|
-
def self.included(base) # :nodoc:
|
|
8
|
-
base.extend ClassMethods
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
class Initializer
|
|
12
|
-
attr_reader :name, :block
|
|
13
|
-
|
|
14
|
-
def initialize(name, context, options, &block)
|
|
15
|
-
options[:group] ||= :default
|
|
16
|
-
@name, @context, @options, @block = name, context, options, block
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def before
|
|
20
|
-
@options[:before]
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def after
|
|
24
|
-
@options[:after]
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def belongs_to?(group)
|
|
28
|
-
@options[:group] == group || @options[:group] == :all
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def run(*args)
|
|
32
|
-
@context.instance_exec(*args, &block)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def bind(context)
|
|
36
|
-
return self if @context
|
|
37
|
-
Initializer.new(@name, context, @options, &block)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def context_class
|
|
41
|
-
@context.class
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
class Collection < Array
|
|
46
|
-
include TSort
|
|
47
|
-
|
|
48
|
-
alias :tsort_each_node :each
|
|
49
|
-
def tsort_each_child(initializer, &block)
|
|
50
|
-
select { |i| i.before == initializer.name || i.name == initializer.after }.each(&block)
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def +(other)
|
|
54
|
-
Collection.new(to_a + other.to_a)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def run_initializers(group = :default, *args)
|
|
59
|
-
return if instance_variable_defined?(:@ran)
|
|
60
|
-
initializers.tsort_each do |initializer|
|
|
61
|
-
initializer.run(*args) if initializer.belongs_to?(group)
|
|
62
|
-
end
|
|
63
|
-
@ran = true
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def initializers
|
|
67
|
-
@initializers ||= self.class.initializers_for(self)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
module ClassMethods
|
|
71
|
-
def initializers
|
|
72
|
-
@initializers ||= Collection.new
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def initializers_chain
|
|
76
|
-
initializers = Collection.new
|
|
77
|
-
ancestors.reverse_each do |klass|
|
|
78
|
-
next unless klass.respond_to?(:initializers)
|
|
79
|
-
initializers = initializers + klass.initializers
|
|
80
|
-
end
|
|
81
|
-
initializers
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
def initializers_for(binding)
|
|
85
|
-
Collection.new(initializers_chain.map { |i| i.bind(binding) })
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
def initializer(name, opts = {}, &blk)
|
|
89
|
-
raise ArgumentError, "A block must be passed when defining an initializer" unless blk
|
|
90
|
-
opts[:after] ||= initializers.last.name unless initializers.empty? || initializers.find { |i| i.name == opts[:before] }
|
|
91
|
-
initializers << Initializer.new(name, nil, opts, &blk)
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
data/lib/jets/job/base.rb
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
require 'json'
|
|
2
|
-
|
|
3
|
-
# Job public methods get turned into Lambda functions.
|
|
4
|
-
#
|
|
5
|
-
# Jets::Job::Base < Jets::Lambda::Functions
|
|
6
|
-
# Both Jets::Job::Base and Jets::Lambda::Functions have Dsl modules included.
|
|
7
|
-
# So the Jets::Job::Dsl overrides some of the Jets::Lambda::Functions behavior.
|
|
8
|
-
module Jets::Job
|
|
9
|
-
class Base < Jets::Lambda::Functions
|
|
10
|
-
include Dsl
|
|
11
|
-
|
|
12
|
-
# non-DSL methods
|
|
13
|
-
include Helpers::KinesisEvent
|
|
14
|
-
include Helpers::LogEvent
|
|
15
|
-
include Helpers::S3Event
|
|
16
|
-
include Helpers::SnsEvent
|
|
17
|
-
include Helpers::SqsEvent
|
|
18
|
-
prepend Jets::ExceptionReporting::Process
|
|
19
|
-
|
|
20
|
-
# Tracks bucket each time an s3_event is declared
|
|
21
|
-
# Map of bucket_name => stack_name (nested part)
|
|
22
|
-
cattr_accessor :_s3_events # dont want this to be inheritable intentionally
|
|
23
|
-
self._s3_events = {}
|
|
24
|
-
|
|
25
|
-
class << self
|
|
26
|
-
def process(event, context, meth)
|
|
27
|
-
job = new(event, context, meth)
|
|
28
|
-
job.send(meth)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def perform_now(meth, event={}, context={})
|
|
32
|
-
process(event, context, meth)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def perform_later(meth, event={}, context={})
|
|
36
|
-
if on_lambda?
|
|
37
|
-
function_name = "#{self.to_s.underscore}-#{meth}"
|
|
38
|
-
call = Jets::Commands::Call::Caller.new(function_name, JSON.dump(event), invocation_type: "Event")
|
|
39
|
-
call.run
|
|
40
|
-
else
|
|
41
|
-
Jets.logger.info "INFO: Not on AWS Lambda. In local mode perform_later executes the job with perform_now instead."
|
|
42
|
-
perform_now(meth, event, context)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
private
|
|
47
|
-
def on_lambda?
|
|
48
|
-
!!ENV['AWS_LAMBDA_FUNCTION_NAME']
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
module Jets::Job::Dsl
|
|
2
|
-
module DynamodbEvent
|
|
3
|
-
def dynamodb_event(table_name_without_namespace, options={})
|
|
4
|
-
return if ENV['JETS_NO_INTERNET'] # Disable during build since jets build tries to init this
|
|
5
|
-
|
|
6
|
-
table_name = add_dynamodb_table_namespace(table_name_without_namespace)
|
|
7
|
-
stream_arn = full_dynamodb_stream_arn(table_name)
|
|
8
|
-
default_iam_policy = default_dynamodb_stream_policy(stream_arn)
|
|
9
|
-
|
|
10
|
-
# Create iam policy allows access to dynamodb
|
|
11
|
-
iam_policy_option = [options.delete(:iam_policy)].compact.flatten
|
|
12
|
-
user_iam_policy = [@iam_policy].compact.flatten
|
|
13
|
-
iam_policy_props = iam_policy_option + user_iam_policy + [default_iam_policy]
|
|
14
|
-
iam_policy(iam_policy_props)
|
|
15
|
-
|
|
16
|
-
props = options # by this time options only has EventSourceMapping properties
|
|
17
|
-
default = {
|
|
18
|
-
EventSourceArn: stream_arn,
|
|
19
|
-
StartingPosition: "TRIM_HORIZON",
|
|
20
|
-
}
|
|
21
|
-
props = default.merge(props)
|
|
22
|
-
|
|
23
|
-
event_source_mapping(props)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def add_dynamodb_table_namespace(table_name_without_namespace)
|
|
27
|
-
ns = if Jets.config.events.dynamodb.table_namespace == true
|
|
28
|
-
Jets.table_namespace # does not include extra
|
|
29
|
-
elsif Jets.config.events.dynamodb.table_namespace
|
|
30
|
-
Jets.config.events.dynamodb.table_namespace # allow user to fully control namespace
|
|
31
|
-
end
|
|
32
|
-
ns_separator = Jets.config.events.dynamodb.table_namespace_separator
|
|
33
|
-
[ns, table_name_without_namespace].compact.join(ns_separator)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
# Expands table name to the full stream arn. Example:
|
|
37
|
-
#
|
|
38
|
-
# test-table
|
|
39
|
-
# To:
|
|
40
|
-
# arn:aws:dynamodb:us-west-2:112233445566:table/test-table/stream/2019-02-15T21:41:15.217
|
|
41
|
-
#
|
|
42
|
-
# Note, this does not check if the stream has been disabled.
|
|
43
|
-
def full_dynamodb_stream_arn(table_name)
|
|
44
|
-
return table_name if table_name.include?("arn:aws:dynamodb") # assume full stream arn
|
|
45
|
-
|
|
46
|
-
begin
|
|
47
|
-
resp = dynamodb.describe_table(table_name: table_name)
|
|
48
|
-
rescue Aws::DynamoDB::Errors::ResourceNotFoundException => e
|
|
49
|
-
puts e.message
|
|
50
|
-
puts "ERROR: Was not able to find the DynamoDB table: #{table_name}.".color(:red)
|
|
51
|
-
code_line = caller.grep(%r{/app/jobs}).first
|
|
52
|
-
puts "Please check: #{code_line}"
|
|
53
|
-
puts "Exiting"
|
|
54
|
-
exit 1
|
|
55
|
-
end
|
|
56
|
-
stream_arn = resp.table.latest_stream_arn
|
|
57
|
-
return stream_arn if stream_arn
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def default_dynamodb_stream_policy(stream_name_arn='*')
|
|
61
|
-
stream = {
|
|
62
|
-
Action: ["dynamodb:GetRecords",
|
|
63
|
-
"dynamodb:GetShardIterator",
|
|
64
|
-
"dynamodb:DescribeStream",
|
|
65
|
-
"dynamodb:ListStreams"],
|
|
66
|
-
Effect: "Allow",
|
|
67
|
-
Resource: stream_name_arn,
|
|
68
|
-
}
|
|
69
|
-
table_name_arn = stream_name_arn.gsub(%r{/stream/20.*},'')
|
|
70
|
-
table = {
|
|
71
|
-
Action: ["dynamodb:DescribeTable"],
|
|
72
|
-
Effect: "Allow",
|
|
73
|
-
Resource: table_name_arn,
|
|
74
|
-
}
|
|
75
|
-
[stream, table]
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# SqsEvent uses this module
|
|
2
|
-
module Jets::Job::Dsl
|
|
3
|
-
module EventSourceMapping
|
|
4
|
-
def event_source_mapping(props={})
|
|
5
|
-
r = Jets::Cfn::Resource::Lambda::EventSourceMapping.new(props)
|
|
6
|
-
with_fresh_properties do
|
|
7
|
-
resource(r.definition) # add associated resource immediately
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Jets::Job::Dsl
|
|
2
|
-
module IotEvent
|
|
3
|
-
# The user must at least pass in an SQL statement
|
|
4
|
-
def iot_event(props={})
|
|
5
|
-
if props.is_a?(String) # SQL Statement
|
|
6
|
-
props = {Sql: props}
|
|
7
|
-
topic_props = {TopicRulePayload: props}
|
|
8
|
-
elsif props.key?(:TopicRulePayload) # full properties structure
|
|
9
|
-
topic_props = props
|
|
10
|
-
else # just the TopicRulePayload
|
|
11
|
-
topic_props = {TopicRulePayload: props}
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
declare_iot_topic(topic_props)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def declare_iot_topic(props={})
|
|
18
|
-
r = Jets::Cfn::Resource::Iot::TopicRule.new(props)
|
|
19
|
-
with_fresh_properties do
|
|
20
|
-
resource(r.definition) # add associated resource immediately
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
module Jets::Job::Dsl
|
|
2
|
-
module KinesisEvent
|
|
3
|
-
def kinesis_event(stream_name, options={})
|
|
4
|
-
stream_arn = full_kinesis_stream_arn(stream_name)
|
|
5
|
-
default_iam_policy = default_kinesis_stream_policy(stream_arn)
|
|
6
|
-
|
|
7
|
-
# Create iam policy allows access to kinesis
|
|
8
|
-
iam_policy_option = [options.delete(:iam_policy)].compact.flatten
|
|
9
|
-
user_iam_policy = [@iam_policy].compact.flatten
|
|
10
|
-
iam_policy_props = iam_policy_option + user_iam_policy + [default_iam_policy]
|
|
11
|
-
iam_policy(iam_policy_props)
|
|
12
|
-
|
|
13
|
-
props = options # by this time options only has EventSourceMapping properties
|
|
14
|
-
default = {
|
|
15
|
-
EventSourceArn: stream_arn,
|
|
16
|
-
StartingPosition: "LATEST",
|
|
17
|
-
}
|
|
18
|
-
props = default.merge(props)
|
|
19
|
-
|
|
20
|
-
event_source_mapping(props)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Expands table name to the full stream arn. Example:
|
|
24
|
-
#
|
|
25
|
-
# test-table
|
|
26
|
-
# To:
|
|
27
|
-
# arn:aws:kinesis:us-west-2:112233445566:table/test-table/stream/2019-02-15T21:41:15.217
|
|
28
|
-
#
|
|
29
|
-
# Note, this does not check if the stream has been disabled.
|
|
30
|
-
def full_kinesis_stream_arn(stream_name)
|
|
31
|
-
return stream_name if stream_name.include?("arn:aws:kinesis") # assume full stream arn
|
|
32
|
-
|
|
33
|
-
"arn:aws:kinesis:#{Jets.aws.region}:#{Jets.aws.account}:stream/#{stream_name}"
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def default_kinesis_stream_policy(stream_name_arn='*')
|
|
37
|
-
{
|
|
38
|
-
Action: ["kinesis:GetRecords",
|
|
39
|
-
"kinesis:GetShardIterator",
|
|
40
|
-
"kinesis:DescribeStream",
|
|
41
|
-
"kinesis:ListStreams"],
|
|
42
|
-
Effect: "Allow",
|
|
43
|
-
Resource: stream_name_arn,
|
|
44
|
-
}
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Jets::Job::Dsl
|
|
2
|
-
module LogEvent
|
|
3
|
-
def log_event(log_group_name, props={})
|
|
4
|
-
props.merge!(LogGroupName: log_group_name)
|
|
5
|
-
declare_log_subscription_filter(props)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def declare_log_subscription_filter(props={})
|
|
9
|
-
r = Jets::Cfn::Resource::Logs::SubscriptionFilter.new(props)
|
|
10
|
-
with_fresh_properties do
|
|
11
|
-
resource(r.definition) # add associated resource immediately
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
module Jets::Job::Dsl
|
|
2
|
-
module RuleEvent
|
|
3
|
-
# Public: Creates CloudWatch Event Rule
|
|
4
|
-
#
|
|
5
|
-
# expression - The rate expression.
|
|
6
|
-
#
|
|
7
|
-
# Examples
|
|
8
|
-
#
|
|
9
|
-
# rate("10 minutes")
|
|
10
|
-
# rate("10 minutes", description: "Hard job")
|
|
11
|
-
#
|
|
12
|
-
def rate(expression, props={})
|
|
13
|
-
schedule_job("rate(#{expression})", props)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# Public: Creates CloudWatch Event Rule
|
|
17
|
-
#
|
|
18
|
-
# expression - The cron expression.
|
|
19
|
-
#
|
|
20
|
-
# Examples
|
|
21
|
-
#
|
|
22
|
-
# cron("0 */12 * * ? *")
|
|
23
|
-
# cron("0 */12 * * ? *", description: "Hard job")
|
|
24
|
-
#
|
|
25
|
-
def cron(expression, props={})
|
|
26
|
-
schedule_job("cron(#{expression})", props)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def schedule_job(expression, props={})
|
|
30
|
-
props = props.merge(ScheduleExpression: expression)
|
|
31
|
-
rule_event(props)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def rule_event(props={})
|
|
35
|
-
# detail should all be lowercase: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
|
|
36
|
-
# source should also all be lowercase
|
|
37
|
-
if props.key?(:detail)
|
|
38
|
-
# :description should be lowercased. It's a convenience property, and belongs at a higher level
|
|
39
|
-
description = props.key?(:description) ? props.delete(:description) : rule_description
|
|
40
|
-
rule_props = { EventPattern: props, Description: description }
|
|
41
|
-
else # if props.key?(:event_pattern)
|
|
42
|
-
props[:Description] ||= rule_description
|
|
43
|
-
rule_props = props
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
with_fresh_properties(multiple_resources: false) do
|
|
47
|
-
associated_properties(rule_props) # TODO: consider getting rid of @associated_properties concept
|
|
48
|
-
resource(events_rule_definition) # add associated resource immediately
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def rule_description
|
|
53
|
-
self.rule_counter += 1
|
|
54
|
-
"#{self.name} event rule #{rule_counter}"
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def events_rule_definition
|
|
58
|
-
resource = Jets::Cfn::Resource::Events::Rule.new(associated_properties)
|
|
59
|
-
resource.definition # returns a definition to be added by associated_resources
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
# Deprecated methods, will be removed in the future
|
|
63
|
-
def events_rule(props)
|
|
64
|
-
puts "DEPRECATED: events_rule. Instead use rule_event. The events_rule will be removed in the future. Pausing for 5 seconds".color(:yellow)
|
|
65
|
-
puts caller[0]
|
|
66
|
-
sleep 5
|
|
67
|
-
rule_event(props)
|
|
68
|
-
end
|
|
69
|
-
# Deprecated methods, will be removed in the future
|
|
70
|
-
|
|
71
|
-
def event_pattern(props)
|
|
72
|
-
puts "DEPRECATED: events_rule. Instead use rule_event. The events_rule will be removed in the future. Pausing for 5 seconds".color(:yellow)
|
|
73
|
-
puts caller[0]
|
|
74
|
-
sleep 5
|
|
75
|
-
rule_event(props)
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
end
|