lono 7.5.2 → 8.0.0.pre.rc3
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/.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
|