lono 7.5.2 → 8.0.0.pre.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cody/README.md +5 -15
- data/.cody/acceptance/bin/build.sh +52 -0
- data/.cody/acceptance/buildspec.yml +10 -0
- data/.cody/acceptance/project.rb +6 -0
- data/.cody/{role.rb → acceptance/role.rb} +0 -0
- data/.cody/shared/script/install/lono.sh +40 -0
- data/.cody/shared/script/install.sh +5 -0
- data/CHANGELOG.md +46 -5
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +3 -1
- data/LICENSE.txt +201 -1
- data/README.md +6 -11
- data/lib/lono/api/client.rb +3 -2
- data/lib/lono/app/callable_option/concern.rb +12 -0
- data/lib/lono/app/callable_option.rb +56 -0
- data/lib/lono/app/inits.rb +13 -0
- data/lib/lono/app.rb +73 -0
- data/lib/lono/autoloader.rb +3 -2
- data/lib/lono/aws_services/helper.rb +41 -6
- data/lib/lono/aws_services.rb +37 -6
- data/lib/lono/blueprint.rb +3 -11
- data/lib/lono/booter.rb +28 -0
- data/lib/lono/builder/allow/base.rb +54 -0
- data/lib/lono/builder/allow/env.rb +17 -0
- data/lib/lono/builder/allow/region.rb +20 -0
- data/lib/lono/builder/allow.rb +8 -0
- data/lib/lono/builder/configset/combiner.rb +145 -0
- data/lib/lono/builder/configset/definition/base.rb +47 -0
- data/lib/lono/builder/configset/definition/context.rb +29 -0
- data/lib/lono/{configset/strategy/helpers/dsl → builder/configset/definition/dsl/syntax}/auth.rb +1 -1
- data/lib/lono/{configset/strategy/helpers/dsl/core.rb → builder/configset/definition/dsl/syntax/content.rb} +11 -3
- data/lib/lono/{configset/strategy/helpers/dsl/syntax.rb → builder/configset/definition/dsl/syntax/core.rb} +15 -9
- data/lib/lono/{configset/strategy/helpers/dsl → builder/configset/definition/dsl/syntax}/package.rb +1 -1
- data/lib/lono/builder/configset/definition/dsl/syntax.rb +5 -0
- data/lib/lono/{configset/strategy → builder/configset/definition}/dsl.rb +10 -14
- data/lib/lono/{configset/strategy → builder/configset/definition}/erb.rb +13 -16
- data/lib/lono/builder/configset/definition.rb +18 -0
- data/lib/lono/builder/configset/evaluator.rb +10 -0
- data/lib/lono/builder/configset/registration.rb +35 -0
- data/lib/lono/builder/context.rb +40 -0
- data/lib/lono/builder/dsl/evaluator.rb +45 -0
- data/lib/lono/builder/dsl/finalizer/base.rb +8 -0
- data/lib/lono/builder/dsl/finalizer/configsets.rb +20 -0
- data/lib/lono/builder/dsl/finalizer/files/base.rb +4 -0
- data/lib/lono/builder/dsl/finalizer/files/build.rb +58 -0
- data/lib/lono/builder/dsl/finalizer/files/replace.rb +31 -0
- data/lib/lono/builder/dsl/finalizer/files.rb +9 -0
- data/lib/lono/{template/strategy → builder}/dsl/finalizer/parameter_groups.rb +6 -5
- data/lib/lono/builder/dsl/finalizer.rb +15 -0
- data/lib/lono/{template/strategy/dsl/builder/helpers/ec2_helper.rb → builder/dsl/helpers/ec2.rb} +3 -3
- data/lib/lono/builder/dsl/helpers/files.rb +7 -0
- data/lib/lono/builder/dsl/helpers/partials.rb +140 -0
- data/lib/lono/{template/strategy/dsl/builder/helpers/s3_helper.rb → builder/dsl/helpers/s3.rb} +3 -3
- data/lib/lono/{template/context/ssm_fetcher.rb → builder/dsl/helpers/ssm/fetcher.rb} +5 -3
- data/lib/lono/{template/context/helpers.rb → builder/dsl/helpers/ssm.rb} +3 -3
- data/lib/lono/{template/strategy/dsl/builder/helpers/stack_helper.rb → builder/dsl/helpers/stack.rb} +14 -9
- data/lib/lono/{template/strategy/dsl/builder/helpers/tags_helper.rb → builder/dsl/helpers/tags.rb} +2 -2
- data/lib/lono/builder/dsl/helpers/template_file.rb +66 -0
- data/lib/lono/builder/dsl/helpers.rb +5 -0
- data/lib/lono/builder/dsl/syntax/core/base.rb +22 -0
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/condition.rb +1 -1
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/mapping.rb +1 -1
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/output.rb +1 -1
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/parameter.rb +1 -1
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/resource/property_mover.rb +12 -2
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/resource.rb +1 -1
- data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/section.rb +1 -1
- data/lib/lono/builder/dsl/syntax/core/squeezer.rb +38 -0
- data/lib/lono/{template/strategy/dsl/builder/section/methods.rb → builder/dsl/syntax/core.rb} +8 -8
- data/lib/lono/{template/strategy/dsl/builder → builder/dsl/syntax}/fn.rb +2 -2
- data/lib/lono/{template/strategy/dsl/builder → builder/dsl}/syntax/parameter_group.rb +1 -1
- data/lib/lono/builder/dsl/syntax.rb +9 -0
- data/lib/lono/builder/dsl.rb +14 -0
- data/lib/lono/{param/generator.rb → builder/param.rb} +24 -22
- data/lib/lono/builder/template/aws_service.rb +15 -0
- data/lib/lono/builder/template/bashify.rb +43 -0
- data/lib/lono/{output/template.rb → builder/template/output.rb} +14 -7
- data/lib/lono/{template → builder/template}/post_processor.rb +4 -4
- data/lib/lono/builder/template/upload.rb +8 -0
- data/lib/lono/builder/template.rb +55 -0
- data/lib/lono/{template/strategy/dsl/builder → builder/util}/stringify.rb +1 -1
- data/lib/lono/bundler/cli/base.rb +10 -0
- data/lib/lono/bundler/cli/bundle.rb +44 -0
- data/lib/lono/bundler/cli/clean.rb +27 -0
- data/lib/lono/bundler/cli/help/bundle.md +3 -0
- data/lib/lono/bundler/cli/help.rb +11 -0
- data/lib/lono/bundler/cli.rb +7 -0
- data/lib/lono/bundler/component/concerns/local_concern.rb +10 -0
- data/lib/lono/bundler/component/concerns/notation_concern.rb +59 -0
- data/lib/lono/bundler/component/concerns/path_concern.rb +68 -0
- data/lib/lono/bundler/component/concerns/stack_concern.rb +60 -0
- data/lib/lono/bundler/component/fetcher/base.rb +27 -0
- data/lib/lono/bundler/component/fetcher/gcs.rb +69 -0
- data/lib/lono/bundler/component/fetcher/git.rb +69 -0
- data/lib/lono/bundler/component/fetcher/local.rb +15 -0
- data/lib/lono/bundler/component/fetcher/s3.rb +66 -0
- data/lib/lono/bundler/component/fetcher.rb +18 -0
- data/lib/lono/bundler/component/http/concern.rb +45 -0
- data/lib/lono/bundler/component/http/source.rb +19 -0
- data/lib/lono/bundler/component/org_repo.rb +65 -0
- data/lib/lono/bundler/component/props/extension.rb +18 -0
- data/lib/lono/bundler/component/props/typer.rb +41 -0
- data/lib/lono/bundler/component/props.rb +122 -0
- data/lib/lono/bundler/component/registry.rb +136 -0
- data/lib/lono/bundler/component.rb +52 -0
- data/lib/lono/bundler/config.rb +18 -0
- data/lib/lono/bundler/dsl/syntax.rb +46 -0
- data/lib/lono/bundler/dsl.rb +21 -0
- data/lib/lono/bundler/exporter/base.rb +6 -0
- data/lib/lono/bundler/exporter/copy.rb +22 -0
- data/lib/lono/bundler/exporter.rb +50 -0
- data/lib/lono/bundler/extract/tar.rb +33 -0
- data/lib/lono/bundler/extract/zip.rb +16 -0
- data/lib/lono/bundler/info.rb +39 -0
- data/lib/lono/bundler/list.rb +26 -0
- data/lib/lono/bundler/lockfile/version_comparer.rb +56 -0
- data/lib/lono/bundler/lockfile/yamler.rb +36 -0
- data/lib/lono/bundler/lockfile.rb +66 -0
- data/lib/lono/bundler/lonofile.rb +32 -0
- data/lib/lono/bundler/runner.rb +27 -0
- data/lib/lono/bundler/syncer.rb +70 -0
- data/lib/lono/bundler/util/git.rb +37 -0
- data/lib/lono/bundler/util/logging.rb +7 -0
- data/lib/lono/bundler/util/sure.rb +5 -0
- data/lib/lono/{bundle.rb → bundler.rb} +38 -4
- data/lib/lono/cfn/base.rb +9 -195
- data/lib/lono/cfn/cancel.rb +12 -29
- data/lib/lono/cfn/concerns/build.rb +10 -0
- data/lib/lono/cfn/concerns/template_output.rb +10 -0
- data/lib/lono/cfn/concerns.rb +43 -0
- data/lib/lono/cfn/delete.rb +8 -32
- data/lib/lono/cfn/deploy/base.rb +4 -0
- data/lib/lono/cfn/deploy/iam.rb +48 -0
- data/lib/lono/cfn/deploy/notification.rb +8 -0
- data/lib/lono/cfn/deploy/operable.rb +18 -0
- data/lib/lono/cfn/deploy/opts.rb +49 -0
- data/lib/lono/cfn/deploy/rollback.rb +46 -0
- data/lib/lono/cfn/deploy/tags.rb +18 -0
- data/lib/lono/cfn/deploy.rb +100 -5
- data/lib/lono/cfn/download.rb +4 -7
- data/lib/lono/cfn/output.rb +49 -0
- data/lib/lono/cfn/plan/base.rb +19 -0
- data/lib/lono/cfn/plan/changeset/base.rb +19 -0
- data/lib/lono/cfn/plan/changeset/notifications.rb +24 -0
- data/lib/lono/cfn/plan/changeset/outputs.rb +25 -0
- data/lib/lono/cfn/plan/changeset/resources.rb +48 -0
- data/lib/lono/cfn/plan/changeset/tags.rb +16 -0
- data/lib/lono/cfn/plan/changeset.rb +136 -0
- data/lib/lono/cfn/plan/concerns.rb +10 -0
- data/lib/lono/cfn/plan/delete.rb +16 -0
- data/lib/lono/cfn/plan/diff/base.rb +10 -0
- data/lib/lono/cfn/plan/diff/data.rb +62 -0
- data/lib/lono/cfn/plan/diff/file.rb +57 -0
- data/lib/lono/cfn/plan/new.rb +26 -0
- data/lib/lono/cfn/{preview → plan}/param.rb +26 -34
- data/lib/lono/cfn/plan/summary.rb +16 -0
- data/lib/lono/cfn/plan/template.rb +28 -0
- data/lib/lono/cfn/plan.rb +34 -0
- data/lib/lono/cfn/show.rb +30 -0
- data/lib/lono/cfn/status.rb +1 -1
- data/lib/lono/cli/abstract.rb +11 -0
- data/lib/lono/cli/base.rb +11 -0
- data/lib/lono/cli/build.rb +47 -0
- data/lib/lono/cli/bundle.rb +21 -0
- data/lib/lono/cli/cfn/opts.rb +59 -0
- data/lib/lono/cli/cfn.rb +19 -0
- data/lib/lono/cli/clean.rb +23 -0
- data/lib/lono/cli/code.rb +22 -0
- data/lib/lono/{completion.rb → cli/completion.rb} +2 -2
- data/lib/lono/{help → cli/help}/blueprint/new.md +4 -4
- data/lib/lono/{help/generate.md → cli/help/build.md} +6 -6
- data/lib/lono/{help → cli/help}/cfn/cancel.md +0 -0
- data/lib/lono/cli/help/cfn/download.md +3 -0
- data/lib/lono/{help → cli/help}/cfn/preview.md +9 -8
- data/lib/lono/{help → cli/help}/cfn/status.md +0 -1
- data/lib/lono/cli/help/cfn.md +4 -0
- data/lib/lono/{help → cli/help}/code/convert.md +0 -0
- data/lib/lono/{help → cli/help}/code/import.md +2 -2
- data/lib/lono/{help → cli/help}/completion.md +3 -3
- data/lib/lono/{help → cli/help}/completion_script.md +0 -0
- data/lib/lono/{help → cli/help}/configsets.md +0 -0
- data/lib/lono/cli/help/down.md +13 -0
- data/lib/lono/cli/help/new/helper/blueprint.md +17 -0
- data/lib/lono/cli/help/new/helper/project.md +16 -0
- data/lib/lono/cli/help/new/project.md +34 -0
- data/lib/lono/{help → cli/help}/param/generate.md +0 -0
- data/lib/lono/cli/help/param.md +6 -0
- data/lib/lono/{help → cli/help}/pro/blueprints.md +0 -0
- data/lib/lono/{help → cli/help}/pro/configsets.md +0 -0
- data/lib/lono/{help → cli/help}/script/build.md +0 -0
- data/lib/lono/{help → cli/help}/script/upload.md +0 -0
- data/lib/lono/cli/help/seed.md +24 -0
- data/lib/lono/cli/help/summary.md +33 -0
- data/lib/lono/{help → cli/help}/template/bashify.md +0 -0
- data/lib/lono/cli/help/template/generate.md +7 -0
- data/lib/lono/{help → cli/help}/template.md +0 -0
- data/lib/lono/cli/help/up.md +30 -0
- data/lib/lono/{help → cli/help}/user_data.md +3 -3
- data/lib/lono/cli/help.rb +56 -0
- data/lib/lono/cli/list.rb +25 -0
- data/lib/lono/cli/new/blueprint.rb +29 -0
- data/lib/lono/cli/new/concerns.rb +16 -0
- data/lib/lono/cli/new/configset.rb +37 -0
- data/lib/lono/{extension/new.rb → cli/new/extension.rb} +2 -10
- data/lib/lono/cli/new/helper/blueprint.rb +26 -0
- data/lib/lono/cli/new/helper/project.rb +24 -0
- data/lib/lono/cli/new/helper.rb +13 -0
- data/lib/lono/cli/new/project.rb +77 -0
- data/lib/lono/cli/new/sequence.rb +56 -0
- data/lib/lono/cli/new/shim.rb +59 -0
- data/lib/lono/cli/new/test/blueprint.rb +23 -0
- data/lib/lono/cli/new/test/sequence.rb +10 -0
- data/lib/lono/cli/new/test.rb +8 -0
- data/lib/lono/cli/new.rb +27 -0
- data/lib/lono/{opts.rb → cli/opts.rb} +9 -12
- data/lib/lono/{s3.rb → cli/s3.rb} +9 -7
- data/lib/lono/cli/script/base.rb +5 -0
- data/lib/lono/cli/script/build.rb +72 -0
- data/lib/lono/cli/script/upload.rb +49 -0
- data/lib/lono/{script.rb → cli/script.rb} +2 -2
- data/lib/lono/cli/seed.rb +9 -0
- data/lib/lono/cli/status.rb +18 -0
- data/lib/lono/cli/test.rb +35 -0
- data/lib/lono/cli.rb +78 -109
- data/lib/lono/command.rb +27 -1
- data/lib/lono/component.rb +29 -0
- data/lib/lono/concerns/aws_info.rb +14 -0
- data/lib/lono/concerns/names.rb +9 -0
- data/lib/lono/configset.rb +11 -10
- data/lib/lono/core.rb +25 -54
- data/lib/lono/ext/core/module.rb +31 -0
- data/lib/lono/ext/core/object.rb +32 -0
- data/lib/lono/ext/core/string.rb +9 -0
- data/lib/lono/ext.rb +4 -0
- data/lib/lono/files/base.rb +12 -0
- data/lib/lono/files/builder.rb +37 -0
- data/lib/lono/files/compressor.rb +53 -0
- data/lib/lono/files/concerns/post_processing.rb +35 -0
- data/lib/lono/files/concerns/registration.rb +13 -0
- data/lib/lono/files/registry.rb +6 -0
- data/lib/lono/files.rb +37 -0
- data/lib/lono/importer/base.rb +6 -6
- data/lib/lono/importer/download.rb +7 -7
- data/lib/lono/importer/dsl.rb +3 -3
- data/lib/lono/importer/service/coder.rb +67 -63
- data/lib/lono/importer.rb +1 -10
- data/lib/lono/inspector/base.rb +7 -7
- data/lib/lono/inspector/summary.rb +18 -19
- data/lib/lono/layering/layer.rb +112 -0
- data/lib/lono/layering.rb +13 -55
- data/lib/lono/logger/formatter.rb +13 -0
- data/lib/lono/logger.rb +32 -0
- data/lib/lono/names.rb +50 -0
- data/lib/lono/plugin/meta.rb +30 -0
- data/lib/lono/plugin/tester.rb +13 -0
- data/lib/lono/plugin.rb +10 -0
- data/lib/lono/s3/aws_setup.rb +4 -3
- data/lib/lono/s3/bucket.rb +42 -42
- data/lib/lono/s3/rollback.rb +8 -0
- data/lib/lono/s3/uploader.rb +33 -34
- data/lib/lono/script/base.rb +3 -3
- data/lib/lono/script/build.rb +11 -12
- data/lib/lono/script/upload.rb +7 -7
- data/lib/lono/seeder.rb +110 -0
- data/lib/lono/user_data.rb +10 -13
- data/lib/lono/utils/logging.rb +7 -0
- data/lib/lono/utils/{pretty_time.rb → pretty.rb} +6 -2
- data/lib/lono/utils/quit.rb +7 -0
- data/lib/lono/utils/rsync.rb +4 -2
- data/lib/lono/utils/sure.rb +4 -4
- data/lib/lono/version.rb +1 -1
- data/lib/lono/yamler/validator.rb +7 -22
- data/lib/lono.rb +15 -12
- data/lib/templates/blueprint/template.rb +2 -0
- data/lib/templates/configset/configset.rb +2 -0
- data/lib/templates/examples/blueprint/template.rb +9 -0
- data/lib/templates/{configset/lib → examples/configset}/configset.rb +0 -0
- data/lib/templates/helper/%underscore_name%_helper.rb.tt +6 -0
- data/lib/templates/{skeleton → project}/.gitignore +1 -2
- data/lib/templates/project/Gemfile.tt +11 -0
- data/lib/templates/project/README.md +9 -0
- data/lib/templates/project/config/app.rb +3 -0
- data/lib/templates/shim/lono +7 -0
- data/lono.gemspec +51 -44
- metadata +282 -296
- data/.circleci/README.md +0 -3
- data/.circleci/config.yml +0 -58
- data/.cody/acceptance.sh +0 -49
- data/.cody/buildspec.yml +0 -9
- data/.cody/demo.rb +0 -38
- data/.cody/project.rb +0 -6
- data/.gitmodules +0 -3
- data/lib/lono/abstract_base.rb +0 -25
- data/lib/lono/app_file/base.rb +0 -28
- data/lib/lono/app_file/build/lambda_layer/ruby_packager.rb +0 -153
- data/lib/lono/app_file/build/lambda_layer.rb +0 -20
- data/lib/lono/app_file/build.rb +0 -84
- data/lib/lono/app_file/registry/item.rb +0 -24
- data/lib/lono/app_file/registry.rb +0 -16
- data/lib/lono/app_file/upload.rb +0 -12
- data/lib/lono/aws_services/stack.rb +0 -41
- data/lib/lono/aws_services/stack_set.rb +0 -41
- data/lib/lono/blueprint/configset/loader.rb +0 -7
- data/lib/lono/blueprint/helper.rb +0 -24
- data/lib/lono/blueprint/meta.rb +0 -30
- data/lib/lono/blueprint/new.rb +0 -127
- data/lib/lono/blueprint/root.rb +0 -25
- data/lib/lono/cfn/create.rb +0 -41
- data/lib/lono/cfn/opts.rb +0 -88
- data/lib/lono/cfn/preview/changeset.rb +0 -168
- data/lib/lono/cfn/preview/codediff.rb +0 -41
- data/lib/lono/cfn/preview/diff_viewer.rb +0 -23
- data/lib/lono/cfn/rollback.rb +0 -26
- data/lib/lono/cfn/update.rb +0 -71
- data/lib/lono/cfn.rb +0 -75
- data/lib/lono/clean.rb +0 -14
- data/lib/lono/code.rb +0 -22
- data/lib/lono/configset/combiner.rb +0 -162
- data/lib/lono/configset/evaluate_file.rb +0 -8
- data/lib/lono/configset/generator.rb +0 -57
- data/lib/lono/configset/list.rb +0 -67
- data/lib/lono/configset/meta/dsl.rb +0 -12
- data/lib/lono/configset/meta.rb +0 -19
- data/lib/lono/configset/new.rb +0 -77
- data/lib/lono/configset/preparer.rb +0 -44
- data/lib/lono/configset/register/base.rb +0 -122
- data/lib/lono/configset/register/blueprint.rb +0 -16
- data/lib/lono/configset/register/dsl.rb +0 -14
- data/lib/lono/configset/register/project.rb +0 -13
- data/lib/lono/configset/resolver.rb +0 -47
- data/lib/lono/configset/s3_file/build.rb +0 -33
- data/lib/lono/configset/s3_file/item.rb +0 -38
- data/lib/lono/configset/s3_file/registry.rb +0 -12
- data/lib/lono/configset/s3_file/upload.rb +0 -12
- data/lib/lono/configset/strategy/base.rb +0 -83
- data/lib/lono/configset/strategy/helpers/dsl.rb +0 -8
- data/lib/lono/configset/strategy/helpers/erb.rb +0 -9
- data/lib/lono/conventions.rb +0 -23
- data/lib/lono/core/config.rb +0 -22
- data/lib/lono/default/settings.yml +0 -21
- data/lib/lono/extension/helper.rb +0 -13
- data/lib/lono/extension/list.rb +0 -40
- data/lib/lono/extension.rb +0 -9
- data/lib/lono/extensions/dsl.rb +0 -11
- data/lib/lono/extensions/loader.rb +0 -30
- data/lib/lono/extensions/preparer.rb +0 -26
- data/lib/lono/extensions/register.rb +0 -15
- data/lib/lono/extensions.rb +0 -18
- data/lib/lono/file_uploader.rb +0 -21
- data/lib/lono/finder/base.rb +0 -152
- data/lib/lono/finder/blueprint/configset.rb +0 -17
- data/lib/lono/finder/blueprint.rb +0 -11
- data/lib/lono/finder/configset.rb +0 -11
- data/lib/lono/finder/extension.rb +0 -11
- data/lib/lono/generate.rb +0 -111
- data/lib/lono/help/cfn/create.md +0 -26
- data/lib/lono/help/cfn/delete.md +0 -13
- data/lib/lono/help/cfn/deploy.md +0 -21
- data/lib/lono/help/cfn/download.md +0 -3
- data/lib/lono/help/cfn/update.md +0 -49
- data/lib/lono/help/cfn.md +0 -7
- data/lib/lono/help/new.md +0 -57
- data/lib/lono/help/param.md +0 -6
- data/lib/lono/help/seed.md +0 -23
- data/lib/lono/help/set_instances/delete.md +0 -21
- data/lib/lono/help/set_instances/deploy.md +0 -31
- data/lib/lono/help/set_instances/list.md +0 -14
- data/lib/lono/help/set_instances/status.md +0 -15
- data/lib/lono/help/set_instances/sync.md +0 -92
- data/lib/lono/help/sets/delete.md +0 -8
- data/lib/lono/help/sets/deploy.md +0 -76
- data/lib/lono/help/sets/status.md +0 -23
- data/lib/lono/help/summary.md +0 -33
- data/lib/lono/help/template/generate.md +0 -7
- data/lib/lono/help/upgrade.md +0 -1
- data/lib/lono/help/xgraph.md +0 -16
- data/lib/lono/help.rb +0 -15
- data/lib/lono/importer/erb.rb +0 -31
- data/lib/lono/inspector/graph.rb +0 -125
- data/lib/lono/jade/circular.rb +0 -26
- data/lib/lono/jade/materializer/final.rb +0 -10
- data/lib/lono/jade/materializer/gems_builder.rb +0 -81
- data/lib/lono/jade/materializer/source.rb +0 -54
- data/lib/lono/jade/materializer.rb +0 -15
- data/lib/lono/jade/registry.rb +0 -64
- data/lib/lono/jade.rb +0 -110
- data/lib/lono/jadespec.rb +0 -68
- data/lib/lono/new/helper.rb +0 -15
- data/lib/lono/new.rb +0 -95
- data/lib/lono/param.rb +0 -14
- data/lib/lono/pro/base.rb +0 -16
- data/lib/lono/pro/repo.rb +0 -28
- data/lib/lono/pro.rb +0 -15
- data/lib/lono/project_checker.rb +0 -35
- data/lib/lono/registration/base.rb +0 -37
- data/lib/lono/registration/check.rb +0 -15
- data/lib/lono/registration/temp.rb +0 -53
- data/lib/lono/registration/user.rb +0 -60
- data/lib/lono/seed/base.rb +0 -116
- data/lib/lono/seed/service_role.rb +0 -11
- data/lib/lono/seed.rb +0 -39
- data/lib/lono/sequence.rb +0 -35
- data/lib/lono/set_instances/base.rb +0 -30
- data/lib/lono/set_instances/changeable.rb +0 -53
- data/lib/lono/set_instances/create.rb +0 -7
- data/lib/lono/set_instances/delete.rb +0 -47
- data/lib/lono/set_instances/deploy.rb +0 -52
- data/lib/lono/set_instances/list.rb +0 -13
- data/lib/lono/set_instances/opts.rb +0 -37
- data/lib/lono/set_instances/status.rb +0 -12
- data/lib/lono/set_instances/sync.rb +0 -181
- data/lib/lono/set_instances/update.rb +0 -15
- data/lib/lono/set_instances.rb +0 -54
- data/lib/lono/sets/base.rb +0 -50
- data/lib/lono/sets/create.rb +0 -27
- data/lib/lono/sets/delete.rb +0 -43
- data/lib/lono/sets/deploy.rb +0 -11
- data/lib/lono/sets/list.rb +0 -35
- data/lib/lono/sets/opts.rb +0 -18
- data/lib/lono/sets/preview/codediff.rb +0 -35
- data/lib/lono/sets/preview/param.rb +0 -32
- data/lib/lono/sets/status/instance/base.rb +0 -120
- data/lib/lono/sets/status/instance/completed.rb +0 -35
- data/lib/lono/sets/status/instance/deleted.rb +0 -32
- data/lib/lono/sets/status/instance/show.rb +0 -7
- data/lib/lono/sets/status/instance.rb +0 -20
- data/lib/lono/sets/status/instances.rb +0 -136
- data/lib/lono/sets/status.rb +0 -128
- data/lib/lono/sets/summarize.rb +0 -22
- data/lib/lono/sets/time_spent.rb +0 -11
- data/lib/lono/sets/update.rb +0 -74
- data/lib/lono/sets/waiter.rb +0 -23
- data/lib/lono/sets.rb +0 -34
- data/lib/lono/setting.rb +0 -75
- data/lib/lono/template/aws_service.rb +0 -20
- data/lib/lono/template/bashify.rb +0 -39
- data/lib/lono/template/configset_injector.rb +0 -52
- data/lib/lono/template/context/loader/load_files.rb +0 -24
- data/lib/lono/template/context/loader.rb +0 -52
- data/lib/lono/template/context.rb +0 -29
- data/lib/lono/template/evaluate.rb +0 -40
- data/lib/lono/template/generator.rb +0 -23
- data/lib/lono/template/helper.rb +0 -152
- data/lib/lono/template/strategy/base.rb +0 -4
- data/lib/lono/template/strategy/common/helpers.rb +0 -44
- data/lib/lono/template/strategy/dsl/builder/helpers/core_helper.rb +0 -14
- data/lib/lono/template/strategy/dsl/builder/helpers/file_helper.rb +0 -48
- data/lib/lono/template/strategy/dsl/builder/helpers.rb +0 -16
- data/lib/lono/template/strategy/dsl/builder/section/base.rb +0 -30
- data/lib/lono/template/strategy/dsl/builder/squeezer.rb +0 -24
- data/lib/lono/template/strategy/dsl/builder/syntax/extend_with.rb +0 -9
- data/lib/lono/template/strategy/dsl/builder/syntax.rb +0 -11
- data/lib/lono/template/strategy/dsl/builder.rb +0 -59
- data/lib/lono/template/strategy/dsl/finalizer.rb +0 -12
- data/lib/lono/template/strategy/dsl.rb +0 -14
- data/lib/lono/template/strategy/erb.rb +0 -82
- data/lib/lono/template/strategy/source.rb +0 -8
- data/lib/lono/template/template.rb +0 -54
- data/lib/lono/template/upload.rb +0 -23
- data/lib/lono/template/util.rb +0 -8
- data/lib/lono/template.rb +0 -24
- data/lib/lono/upgrade.rb +0 -20
- data/lib/lono/utils/generators/tree.rb +0 -18
- data/lib/lono/utils/item/file_methods.rb +0 -29
- data/lib/lono/utils/item/zip.rb +0 -42
- data/lib/templates/blueprint/%blueprint_name%.gemspec.tt +0 -45
- data/lib/templates/blueprint/.gitignore +0 -11
- data/lib/templates/blueprint/CHANGELOG.md +0 -7
- data/lib/templates/blueprint/Gemfile +0 -4
- data/lib/templates/blueprint/README.md.tt +0 -33
- data/lib/templates/blueprint/Rakefile.tt +0 -9
- data/lib/templates/blueprint/seed/configs.rb +0 -28
- data/lib/templates/blueprint_types/dsl/app/templates/%blueprint_name%.rb +0 -36
- data/lib/templates/blueprint_types/dsl/app/user_data/bootstrap.sh +0 -2
- data/lib/templates/blueprint_types/erb/app/definitions/base.rb.tt +0 -1
- data/lib/templates/blueprint_types/erb/app/templates/%blueprint_name%.yml +0 -67
- data/lib/templates/configset/%configset_name%.gemspec.tt +0 -42
- data/lib/templates/configset/.gitignore +0 -10
- data/lib/templates/configset/CHANGELOG.md +0 -7
- data/lib/templates/configset/Gemfile +0 -4
- data/lib/templates/configset/README.md.tt +0 -3
- data/lib/templates/configset/Rakefile.tt +0 -9
- data/lib/templates/extension/%extension_name%.gemspec.tt +0 -46
- data/lib/templates/extension/.gitignore +0 -11
- data/lib/templates/extension/.rspec +0 -3
- data/lib/templates/extension/CHANGELOG.md +0 -7
- data/lib/templates/extension/Gemfile.tt +0 -4
- data/lib/templates/extension/Rakefile.tt +0 -9
- data/lib/templates/extension/spec/spec_helper.rb.tt +0 -29
- data/lib/templates/skeleton/Gemfile +0 -3
- data/lib/templates/skeleton/README.md +0 -58
- data/lib/templates/skeleton/configs/settings.yml +0 -13
- data/vendor/cfn-status/CHANGELOG.md +0 -14
- data/vendor/cfn-status/Gemfile +0 -4
- data/vendor/cfn-status/Gemfile.lock +0 -49
- data/vendor/cfn-status/LICENSE.txt +0 -21
- data/vendor/cfn-status/README.md +0 -58
- data/vendor/cfn-status/Rakefile +0 -6
- data/vendor/cfn-status/bin/console +0 -14
- data/vendor/cfn-status/bin/setup +0 -8
- data/vendor/cfn-status/cfn-status.gemspec +0 -30
- data/vendor/cfn-status/lib/cfn-status.rb +0 -1
- data/vendor/cfn-status/lib/cfn_status/aws_service.rb +0 -51
- data/vendor/cfn-status/lib/cfn_status/version.rb +0 -3
- data/vendor/cfn-status/lib/cfn_status.rb +0 -245
- data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-1.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-2.json +0 -1104
- data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-3.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-1.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-2.json +0 -1104
- data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-3.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
- data/vendor/cfn-status/spec/lib/cfn_status_spec.rb +0 -153
- data/vendor/cfn-status/spec/spec_helper.rb +0 -14
@@ -0,0 +1,21 @@
|
|
1
|
+
class Lono::CLI
|
2
|
+
class Bundle < Abstract
|
3
|
+
def run
|
4
|
+
Lono::Bundler::CLI.start(args)
|
5
|
+
end
|
6
|
+
|
7
|
+
# Allows bundle to be called without install. So both work:
|
8
|
+
#
|
9
|
+
# lono bundle
|
10
|
+
# lono bundle install
|
11
|
+
#
|
12
|
+
def args
|
13
|
+
args = @options[:args]
|
14
|
+
if args.empty? or args.first.include?('--')
|
15
|
+
args.unshift("install")
|
16
|
+
end
|
17
|
+
args = ["bundle"] + args
|
18
|
+
args
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
class Lono::CLI::Cfn
|
2
|
+
class Opts < Lono::CLI::Opts
|
3
|
+
def create
|
4
|
+
base_options
|
5
|
+
wait_options
|
6
|
+
end
|
7
|
+
|
8
|
+
def update
|
9
|
+
base_options
|
10
|
+
wait_options
|
11
|
+
end
|
12
|
+
|
13
|
+
def deploy
|
14
|
+
update
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete
|
18
|
+
wait_options
|
19
|
+
end
|
20
|
+
|
21
|
+
def cancel
|
22
|
+
wait_options
|
23
|
+
end
|
24
|
+
|
25
|
+
def preview
|
26
|
+
base_options
|
27
|
+
with_cli_scope do
|
28
|
+
option :keep, type: :boolean, desc: "keep the changeset instead of deleting it afterwards"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def download
|
33
|
+
base_options
|
34
|
+
with_cli_scope do
|
35
|
+
option :name, desc: "Name you want to save the template as. Default: existing stack name."
|
36
|
+
option :source, desc: "url or path to file with template"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# Lono::Cfn and Lono::Sets
|
41
|
+
def base_options(rollback: true)
|
42
|
+
with_cli_scope do
|
43
|
+
if rollback
|
44
|
+
option :rollback, type: :boolean, desc: "rollback" # default: nil means CloudFormation default which is true
|
45
|
+
end
|
46
|
+
# common to Lono::Cfn and Lono::Sets
|
47
|
+
option :capabilities, type: :array, desc: "iam capabilities. Ex: CAPABILITY_IAM, CAPABILITY_NAMED_IAM"
|
48
|
+
option :iam, type: :boolean, desc: "Shortcut for common IAM capabilities: CAPABILITY_IAM, CAPABILITY_NAMED_IAM"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def wait_options
|
53
|
+
with_cli_scope do
|
54
|
+
option :wait, type: :boolean, desc: "Wait for stack operation to complete.", default: true
|
55
|
+
option :yes, aliases: :y, type: :boolean, desc: "Skip are you sure prompt" # moved to base but used by commands like `lono down` also. Just keep here.
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/lono/cli/cfn.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
class Lono::CLI
|
2
|
+
class Cfn < Lono::Command
|
3
|
+
opts = Lono::CLI::Cfn::Opts.new(self)
|
4
|
+
|
5
|
+
desc "cancel BLUEPRINT", "Cancel a CloudFormation blueprint."
|
6
|
+
long_desc Help.text("cfn/cancel")
|
7
|
+
opts.cancel
|
8
|
+
def cancel(blueprint)
|
9
|
+
Lono::Cfn::Cancel.new(options.merge(blueprint: blueprint)).run
|
10
|
+
end
|
11
|
+
|
12
|
+
desc "download BLUEPRINT", "Download CloudFormation template from existing blueprint."
|
13
|
+
long_desc Help.text("cfn/download")
|
14
|
+
opts.download
|
15
|
+
def download(blueprint)
|
16
|
+
Lono::Cfn::Download.new(options.merge(blueprint: blueprint)).run
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "fileutils"
|
2
|
+
|
3
|
+
class Lono::CLI
|
4
|
+
class Clean
|
5
|
+
include Lono::Utils::Logging
|
6
|
+
include Lono::Utils::Sure
|
7
|
+
|
8
|
+
attr_reader :options
|
9
|
+
def initialize(options={})
|
10
|
+
@options = options
|
11
|
+
@mute = options[:mute] # used by CLI::Build at beginning to clear out the output folder
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
folders = %w[output tmp]
|
16
|
+
@mute || sure?("Will remove folders: #{folders.join(' ')}")
|
17
|
+
folders.each do |folder|
|
18
|
+
FileUtils.rm_rf("#{Lono.root}/#{folder}")
|
19
|
+
end
|
20
|
+
logger.info "Removed folders: #{folders.join(' ')}" unless @mute
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class Lono::CLI
|
2
|
+
class Code < Lono::Command
|
3
|
+
# desc "import SOURCE", "Imports CloudFormation template and converts it to Ruby code."
|
4
|
+
# long_desc Help.text("code/import")
|
5
|
+
# option :blueprint, default: nil, desc: "final blueprint name"
|
6
|
+
# option :casing, default: "as-is", desc: "Controls casing of logical ids. IE: as-is, camelcase or underscore"
|
7
|
+
# option :summary, default: true, type: :boolean, desc: "provide template summary after import"
|
8
|
+
# option :template, default: nil, desc: "final template name of downloaded template without extension"
|
9
|
+
# option :template_name_casing, default: "dasherize", desc: "camelcase or dasherize the template name"
|
10
|
+
# option :type, default: "dsl", desc: "import as a DSL or ERB template"
|
11
|
+
# def import(source)
|
12
|
+
# Importer.new(options.merge(source: source)).run
|
13
|
+
# end
|
14
|
+
|
15
|
+
desc "convert SOURCE", "Converts snippet of JSON or YAML CloudFormation template to Ruby code."
|
16
|
+
long_desc Help.text("code/convert")
|
17
|
+
option :casing, default: "as-is", desc: "Controls casing of logical ids. IE: as-is, camelcase or underscore"
|
18
|
+
def convert(source)
|
19
|
+
Lono::Importer::Converter.new(options.merge(source: source)).run
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -19,10 +19,10 @@
|
|
19
19
|
create blueprints/demo/app/user_data/bootstrap.sh
|
20
20
|
exist blueprints/demo/app/templates
|
21
21
|
exist
|
22
|
-
create
|
23
|
-
create
|
24
|
-
create
|
25
|
-
create
|
22
|
+
create config/demo/params/development.txt
|
23
|
+
create config/demo/params/production.txt
|
24
|
+
create config/demo/variables/development.rb
|
25
|
+
create config/demo/variables/production.rb
|
26
26
|
=> Installing dependencies with: bundle install
|
27
27
|
Fetching gem metadata from https://rubygems.org/..........
|
28
28
|
...
|
@@ -2,16 +2,16 @@ Generates CloudFormation template, parameter files, and scripts in lono project
|
|
2
2
|
|
3
3
|
## Examples
|
4
4
|
|
5
|
-
lono
|
6
|
-
lono
|
5
|
+
lono build BLUEPRINT
|
6
|
+
lono build BLUEPRINT --clean
|
7
7
|
lono g BLUEPRINT --clean # shortcut
|
8
8
|
|
9
9
|
## Example Output
|
10
10
|
|
11
|
-
$ lono
|
12
|
-
|
13
|
-
|
11
|
+
$ lono build ec2
|
12
|
+
Building template, parameters, and scripts
|
13
|
+
Building template:
|
14
14
|
output/templates/ec2.yml
|
15
|
-
|
15
|
+
Building parameters:
|
16
16
|
output/params/ec2.json
|
17
17
|
$
|
File without changes
|
@@ -2,25 +2,26 @@
|
|
2
2
|
|
3
3
|
We'll make a change to the default InstanceType of a CloudFromation stack.
|
4
4
|
|
5
|
-
lono cfn
|
5
|
+
lono cfn plan demo
|
6
6
|
|
7
7
|
The output should look similiar to this:
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
Building CloudFormation source code diff...
|
10
|
+
=> colordiff /tmp/existing_cfn_template.yml output/templates/ec2.yml
|
11
11
|
14c14
|
12
12
|
< Default: t2.small
|
13
13
|
---
|
14
14
|
> Default: t2.micro
|
15
|
-
|
16
|
-
CloudFormation
|
15
|
+
Building CloudFormation Change Set for plan.....
|
16
|
+
CloudFormation plan for 'ec2' stack update. Changes:
|
17
17
|
Modify AWS::EC2::Instance: EC2Instance i-07e939db65120fb75
|
18
18
|
|
19
|
-
The
|
19
|
+
The plan includes colors:
|
20
20
|
|
21
21
|
<img src="/img/reference/lono-cfn-preview.png" alt="Stack Update" class="doc-photo">
|
22
22
|
|
23
|
-
There are
|
23
|
+
There are several types of "diffs" in the plan.
|
24
24
|
|
25
25
|
1. Source code diff of the templates. This is generated by downloading the current CloudFormation template and comparing it with the locally generated one using `colordiff`.
|
26
|
-
2.
|
26
|
+
2. Param diff.
|
27
|
+
3. CloudFormation Change Set list of changes. This is generated using [AWS CloudFormation Change Set](https://medium.com/boltops/a-simple-introduction-to-cloudformation-part-4-change-sets-dry-run-mode-c14e41dfeab7) feature.
|
@@ -12,4 +12,3 @@ Shows the status of the stack. If the stack is in progress then tail the status
|
|
12
12
|
11:52:33PM UPDATE_COMPLETE AWS::CloudWatch::Alarm HighCpu
|
13
13
|
11:52:35PM UPDATE_COMPLETE_CLEANUP_IN_PROGRESS AWS::CloudFormation::Stack ecs-asg
|
14
14
|
11:52:36PM UPDATE_COMPLETE AWS::CloudFormation::Stack ecs-asg
|
15
|
-
|
File without changes
|
@@ -21,8 +21,8 @@
|
|
21
21
|
create blueprints/ec2/seed/configs.rb
|
22
22
|
create blueprints/ec2/app/templates
|
23
23
|
create blueprints/ec2/app/templates/ec2.rb
|
24
|
-
create
|
25
|
-
create
|
24
|
+
create config/ec2/params/development.txt
|
25
|
+
create config/ec2/params/production.txt
|
26
26
|
================================================================
|
27
27
|
Congrats You have successfully imported a lono blueprint.
|
28
28
|
|
@@ -8,7 +8,7 @@ Prints words for TAB auto-completion.
|
|
8
8
|
|
9
9
|
lono completion
|
10
10
|
lono completion cfn
|
11
|
-
lono completion
|
11
|
+
lono completion up
|
12
12
|
|
13
13
|
To enable, TAB auto-completion add the following to your profile:
|
14
14
|
|
@@ -18,5 +18,5 @@ Auto-completion example usage:
|
|
18
18
|
|
19
19
|
lono [TAB]
|
20
20
|
lono cfn [TAB]
|
21
|
-
lono
|
22
|
-
lono
|
21
|
+
lono up [TAB]
|
22
|
+
lono up --[TAB]
|
File without changes
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
## Examples
|
2
|
+
|
3
|
+
$ lono down demo
|
4
|
+
Are you sure you want to delete the demo-dev stack? (y/N)
|
5
|
+
y
|
6
|
+
Deleted demo-dev stack.
|
7
|
+
$
|
8
|
+
|
9
|
+
Lono prompts you with an "Are you sure?" message before the stack gets deleted. If you would like to bypass the prompt, you can use the `-y` flag.
|
10
|
+
|
11
|
+
$ lono down demo -y
|
12
|
+
Deleted demo-dev stack.
|
13
|
+
$
|
@@ -0,0 +1,17 @@
|
|
1
|
+
## Example
|
2
|
+
|
3
|
+
The default helper name is `custom`.
|
4
|
+
|
5
|
+
$ lono new helper blueprint --blueprint demo
|
6
|
+
=> Generating custom_helper.rb
|
7
|
+
create app/blueprints/demo/helpers
|
8
|
+
create app/blueprints/demo/helpers/custom_helper.rb
|
9
|
+
|
10
|
+
|
11
|
+
You can override the helper name with the first argument.
|
12
|
+
|
13
|
+
$ lono new helper blueprint vars --blueprint demo
|
14
|
+
=> Generating vars_helper.rb
|
15
|
+
create app/blueprints/demo/helpers
|
16
|
+
create app/blueprints/demo/helpers/vars_helper.rb
|
17
|
+
$
|
@@ -0,0 +1,16 @@
|
|
1
|
+
## Examples
|
2
|
+
|
3
|
+
The default helper name is `custom`.
|
4
|
+
|
5
|
+
$ lono new helper project
|
6
|
+
=> Generating custom_helper.rb
|
7
|
+
create app/helpers/custom
|
8
|
+
create app/helpers/custom/custom_helper.rb
|
9
|
+
|
10
|
+
You can override the helper name with the first argument.
|
11
|
+
|
12
|
+
$ lono new helper project asg
|
13
|
+
=> Generating asg_helper.rb
|
14
|
+
create app/helpers/asg
|
15
|
+
create app/helpers/asg/asg_helper.rb
|
16
|
+
$
|
@@ -0,0 +1,34 @@
|
|
1
|
+
## Example
|
2
|
+
|
3
|
+
$ lono new project infra
|
4
|
+
=> Creating new project called infra.
|
5
|
+
create infra
|
6
|
+
create infra/.gitignore
|
7
|
+
create infra/Gemfile
|
8
|
+
create infra/README.md
|
9
|
+
create infra/config/app.rb
|
10
|
+
=> Initialize git repo
|
11
|
+
run git init from "."
|
12
|
+
Initialized empty Git repository in /home/ec2-user/environment/infra/.git/
|
13
|
+
=> Installing dependencies with: bundle install
|
14
|
+
Resolving dependencies...Fetching gem metadata from https://rubygems.org/.......
|
15
|
+
............................
|
16
|
+
Using concurrent-ruby 1.1.9
|
17
|
+
...
|
18
|
+
Bundle complete! 1 Gemfile dependency, 40 gems now installed.
|
19
|
+
Use `bundle info [gemname]` to see where a bundled gem is installed.
|
20
|
+
================================================================
|
21
|
+
Congrats 🎉 You have successfully created a lono project.
|
22
|
+
|
23
|
+
cd infra
|
24
|
+
|
25
|
+
To generate a new blueprint:
|
26
|
+
|
27
|
+
lono new blueprint demo --examples
|
28
|
+
|
29
|
+
To deploy:
|
30
|
+
|
31
|
+
lono up demo
|
32
|
+
|
33
|
+
More info: https://lono.cloud/
|
34
|
+
$
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,24 @@
|
|
1
|
+
## Example
|
2
|
+
|
3
|
+
$ lono seed demo
|
4
|
+
Creating starter config files for ec2
|
5
|
+
create config/blueprints/ec2/params/dev.txt
|
6
|
+
create config/blueprints/ec2/vars/dev.rb
|
7
|
+
|
8
|
+
To create the files in the top-level app folder
|
9
|
+
|
10
|
+
$ lono seed ec2 --where app
|
11
|
+
Creating starter config files for ec2
|
12
|
+
create app/blueprints/ec2/config/params/dev.txt
|
13
|
+
create app/blueprints/ec2/config/vars/dev.rb
|
14
|
+
$
|
15
|
+
|
16
|
+
You can also set the default where option with
|
17
|
+
|
18
|
+
config/app.rb
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
Lono.configure do |config|
|
22
|
+
config.seed.where = "app"
|
23
|
+
end
|
24
|
+
```
|
@@ -0,0 +1,33 @@
|
|
1
|
+
The `lono summary` command helps you quickly understand a CloudFormation template.
|
2
|
+
|
3
|
+
## Examples
|
4
|
+
|
5
|
+
$ bundle exec lono summary ec2
|
6
|
+
Building template
|
7
|
+
output/ec2/templates/ec2-old.yml
|
8
|
+
output/ec2/templates/ec2-new.yml
|
9
|
+
=> CloudFormation Template Summary for template ec2-new:
|
10
|
+
Required Parameters (0):
|
11
|
+
There are no required parameters.
|
12
|
+
Optional Parameters (3):
|
13
|
+
InstanceType (String) Default: t3.micro
|
14
|
+
Subnet (String) Default:
|
15
|
+
Vpc (String) Default:
|
16
|
+
Resources:
|
17
|
+
1 AWS::EC2::Instance
|
18
|
+
1 AWS::EC2::SecurityGroup
|
19
|
+
2 Total
|
20
|
+
=> CloudFormation Template Summary for template ec2-old:
|
21
|
+
Required Parameters (0):
|
22
|
+
There are no required parameters.
|
23
|
+
Optional Parameters (3):
|
24
|
+
InstanceType (String) Default: t3.micro
|
25
|
+
Subnet (String) Default:
|
26
|
+
Vpc (String) Default:
|
27
|
+
Resources:
|
28
|
+
1 AWS::EC2::Instance
|
29
|
+
1 AWS::EC2::SecurityGroup
|
30
|
+
2 Total
|
31
|
+
$
|
32
|
+
|
33
|
+
Blog Post also covers this: [lono summary Tutorial Introduction](https://blog.boltops.com/2017/09/18/lono-inspect-summary-tutorial-introduction)
|
File without changes
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
## Examples
|
2
|
+
|
3
|
+
$ lono up demo
|
4
|
+
Deploying demo-dev stack
|
5
|
+
Building template
|
6
|
+
output/demo/template.yml
|
7
|
+
Uploading template
|
8
|
+
Not modified: output/demo/template.yml to s3://lono-bucket-12di8xz5sy72z/dev/output/demo/template.yml
|
9
|
+
Uploaded to s3.
|
10
|
+
Building parameters
|
11
|
+
output/demo/params.json
|
12
|
+
Going to create stack demo-dev with blueprint demo. (y/N) y
|
13
|
+
Parameters passed to create_stack:
|
14
|
+
---
|
15
|
+
disable_rollback: false
|
16
|
+
parameters:
|
17
|
+
- parameter_key: AccessControl
|
18
|
+
parameter_value: PublicRead
|
19
|
+
stack_name: demo-dev
|
20
|
+
template_url: https://lono-bucket-12di8xz5sy72z.s3.us-west-2.amazonaws.com/dev/output/demo/template.yml
|
21
|
+
Waiting for stack to complete
|
22
|
+
05:07:26AM CREATE_IN_PROGRESS AWS::CloudFormation::Stack demo-dev User Initiated
|
23
|
+
05:07:30AM CREATE_IN_PROGRESS AWS::S3::Bucket Bucket
|
24
|
+
05:07:31AM CREATE_IN_PROGRESS AWS::S3::Bucket Bucket Resource creation Initiated
|
25
|
+
05:07:52AM CREATE_COMPLETE AWS::S3::Bucket Bucket
|
26
|
+
05:07:53AM CREATE_COMPLETE AWS::CloudFormation::Stack demo-dev
|
27
|
+
Stack success status: CREATE_COMPLETE
|
28
|
+
Time took: 30s.
|
29
|
+
Create demo-dev stack.
|
30
|
+
$
|
@@ -16,12 +16,12 @@ Script:
|
|
16
16
|
Running `lono user_data bootstrap` produces:
|
17
17
|
|
18
18
|
$ lono user_data bootstrap
|
19
|
-
Detected
|
20
|
-
Tarballing
|
19
|
+
Detected scripts
|
20
|
+
Tarballing scripts folder to scripts.tgz
|
21
21
|
=> cd app && dot_clean .
|
22
22
|
=> cd app && tar -c scripts | gzip -n > scripts.tgz
|
23
23
|
Tarball created at output/scripts/scripts-93b8b29b.tgz
|
24
|
-
|
24
|
+
Building user_data for 'bootstrap' at ./app/user_data/bootstrap.sh
|
25
25
|
#!/bin/bash -exu
|
26
26
|
|
27
27
|
# Generated from the lono extract_scripts helper.
|
@@ -0,0 +1,56 @@
|
|
1
|
+
class Lono::CLI
|
2
|
+
module Help
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
class_methods do
|
6
|
+
def main_commands
|
7
|
+
%w[
|
8
|
+
build
|
9
|
+
down
|
10
|
+
list
|
11
|
+
new
|
12
|
+
plan
|
13
|
+
seed
|
14
|
+
show
|
15
|
+
up
|
16
|
+
]
|
17
|
+
end
|
18
|
+
|
19
|
+
def help(shell, subcommand)
|
20
|
+
list = printable_commands(true, subcommand)
|
21
|
+
list.sort! { |a, b| a[0] <=> b[0] }
|
22
|
+
filter = Proc.new do |command, desc|
|
23
|
+
main_commands.detect { |name| command =~ Regexp.new("^lono #{name}") }
|
24
|
+
end
|
25
|
+
main = list.select(&filter)
|
26
|
+
other = list.reject(&filter)
|
27
|
+
|
28
|
+
shell.say <<~EOL
|
29
|
+
Usage: lono COMMAND [args]
|
30
|
+
The available commands are listed below.
|
31
|
+
The primary workflow commands are given first, followed by
|
32
|
+
less common or more advanced commands.
|
33
|
+
EOL
|
34
|
+
shell.say "\nMain Commands:\n\n"
|
35
|
+
shell.print_table(main, :indent => 2, :truncate => true)
|
36
|
+
shell.say "\nOther Commands:\n\n"
|
37
|
+
shell.print_table(other, :indent => 2, :truncate => true)
|
38
|
+
shell.say <<~EOL
|
39
|
+
|
40
|
+
For more help on each command, you can use the -h option. Example:
|
41
|
+
|
42
|
+
lono up -h
|
43
|
+
|
44
|
+
CLI Reference also available at: https://lono.cloud/reference/
|
45
|
+
EOL
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def text(namespaced_command)
|
50
|
+
path = namespaced_command.to_s.gsub(':','/')
|
51
|
+
path = File.expand_path("../help/#{path}.md", __FILE__)
|
52
|
+
IO.read(path) if File.exist?(path)
|
53
|
+
end
|
54
|
+
extend self
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class Lono::CLI
|
2
|
+
class List < Base
|
3
|
+
attr_reader :options
|
4
|
+
def initialize(options={})
|
5
|
+
@options = options
|
6
|
+
end
|
7
|
+
|
8
|
+
def run
|
9
|
+
list_type("blueprints") if show?("blueprint")
|
10
|
+
list_type("configsets") if show?("configset")
|
11
|
+
list_type("extensions") if show?("extension")
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
def list_type(type)
|
16
|
+
Dir.glob("#{Lono.root}/{app,vendor}/#{type}/*").each do |path|
|
17
|
+
logger.info pretty_path(path)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def show?(type)
|
22
|
+
@options[:type] == type || @options[:type].nil? || @options[:type] == "all"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
class Lono::CLI::New
|
2
|
+
class Blueprint < Sequence
|
3
|
+
argument :name
|
4
|
+
def self.cli_options
|
5
|
+
[
|
6
|
+
[:examples, type: :boolean, desc: "Whether not to generate examples"],
|
7
|
+
[:force, type: :boolean, desc: "Bypass overwrite are you sure prompt for existing files"],
|
8
|
+
[:project, desc: "Project name"],
|
9
|
+
]
|
10
|
+
end
|
11
|
+
cli_options.each do |args|
|
12
|
+
class_option(*args)
|
13
|
+
end
|
14
|
+
|
15
|
+
def set_source
|
16
|
+
if @options[:examples]
|
17
|
+
set_template_source "examples/blueprint"
|
18
|
+
else
|
19
|
+
set_template_source "blueprint"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def create_blueprint
|
24
|
+
logger.info "=> Creating new blueprint called #{name}."
|
25
|
+
dest = [@options[:project], "app/blueprints"].compact.join('/')
|
26
|
+
directory ".", "#{dest}/#{name}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Lono::CLI::New
|
2
|
+
module Concerns
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
private
|
6
|
+
def class_name
|
7
|
+
name.underscore.camelize
|
8
|
+
end
|
9
|
+
|
10
|
+
# Files should be named with underscores instead of dashes even though project name can contain a dash.
|
11
|
+
# This is because autoloading works with underscores in the filenames only.
|
12
|
+
def underscore_name
|
13
|
+
name.underscore
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|