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.
Files changed (517) hide show
  1. checksums.yaml +4 -4
  2. data/.cody/README.md +5 -15
  3. data/.cody/acceptance/bin/build.sh +52 -0
  4. data/.cody/acceptance/buildspec.yml +10 -0
  5. data/.cody/acceptance/project.rb +6 -0
  6. data/.cody/{role.rb → acceptance/role.rb} +0 -0
  7. data/.cody/shared/script/install/lono.sh +40 -0
  8. data/.cody/shared/script/install.sh +5 -0
  9. data/CHANGELOG.md +46 -5
  10. data/CONTRIBUTING.md +2 -2
  11. data/Gemfile +3 -1
  12. data/LICENSE.txt +201 -1
  13. data/README.md +6 -11
  14. data/lib/lono/api/client.rb +3 -2
  15. data/lib/lono/app/callable_option/concern.rb +12 -0
  16. data/lib/lono/app/callable_option.rb +56 -0
  17. data/lib/lono/app/inits.rb +13 -0
  18. data/lib/lono/app.rb +73 -0
  19. data/lib/lono/autoloader.rb +3 -2
  20. data/lib/lono/aws_services/helper.rb +41 -6
  21. data/lib/lono/aws_services.rb +37 -6
  22. data/lib/lono/blueprint.rb +3 -11
  23. data/lib/lono/booter.rb +28 -0
  24. data/lib/lono/builder/allow/base.rb +54 -0
  25. data/lib/lono/builder/allow/env.rb +17 -0
  26. data/lib/lono/builder/allow/region.rb +20 -0
  27. data/lib/lono/builder/allow.rb +8 -0
  28. data/lib/lono/builder/configset/combiner.rb +145 -0
  29. data/lib/lono/builder/configset/definition/base.rb +47 -0
  30. data/lib/lono/builder/configset/definition/context.rb +29 -0
  31. data/lib/lono/{configset/strategy/helpers/dsl → builder/configset/definition/dsl/syntax}/auth.rb +1 -1
  32. data/lib/lono/{configset/strategy/helpers/dsl/core.rb → builder/configset/definition/dsl/syntax/content.rb} +11 -3
  33. data/lib/lono/{configset/strategy/helpers/dsl/syntax.rb → builder/configset/definition/dsl/syntax/core.rb} +15 -9
  34. data/lib/lono/{configset/strategy/helpers/dsl → builder/configset/definition/dsl/syntax}/package.rb +1 -1
  35. data/lib/lono/builder/configset/definition/dsl/syntax.rb +5 -0
  36. data/lib/lono/{configset/strategy → builder/configset/definition}/dsl.rb +10 -14
  37. data/lib/lono/{configset/strategy → builder/configset/definition}/erb.rb +13 -16
  38. data/lib/lono/builder/configset/definition.rb +18 -0
  39. data/lib/lono/builder/configset/evaluator.rb +10 -0
  40. data/lib/lono/builder/configset/registration.rb +35 -0
  41. data/lib/lono/builder/context.rb +40 -0
  42. data/lib/lono/builder/dsl/evaluator.rb +45 -0
  43. data/lib/lono/builder/dsl/finalizer/base.rb +8 -0
  44. data/lib/lono/builder/dsl/finalizer/configsets.rb +20 -0
  45. data/lib/lono/builder/dsl/finalizer/files/base.rb +4 -0
  46. data/lib/lono/builder/dsl/finalizer/files/build.rb +58 -0
  47. data/lib/lono/builder/dsl/finalizer/files/replace.rb +31 -0
  48. data/lib/lono/builder/dsl/finalizer/files.rb +9 -0
  49. data/lib/lono/{template/strategy → builder}/dsl/finalizer/parameter_groups.rb +6 -5
  50. data/lib/lono/builder/dsl/finalizer.rb +15 -0
  51. data/lib/lono/{template/strategy/dsl/builder/helpers/ec2_helper.rb → builder/dsl/helpers/ec2.rb} +3 -3
  52. data/lib/lono/builder/dsl/helpers/files.rb +7 -0
  53. data/lib/lono/builder/dsl/helpers/partials.rb +140 -0
  54. data/lib/lono/{template/strategy/dsl/builder/helpers/s3_helper.rb → builder/dsl/helpers/s3.rb} +3 -3
  55. data/lib/lono/{template/context/ssm_fetcher.rb → builder/dsl/helpers/ssm/fetcher.rb} +5 -3
  56. data/lib/lono/{template/context/helpers.rb → builder/dsl/helpers/ssm.rb} +3 -3
  57. data/lib/lono/{template/strategy/dsl/builder/helpers/stack_helper.rb → builder/dsl/helpers/stack.rb} +14 -9
  58. data/lib/lono/{template/strategy/dsl/builder/helpers/tags_helper.rb → builder/dsl/helpers/tags.rb} +2 -2
  59. data/lib/lono/builder/dsl/helpers/template_file.rb +66 -0
  60. data/lib/lono/builder/dsl/helpers.rb +5 -0
  61. data/lib/lono/builder/dsl/syntax/core/base.rb +22 -0
  62. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/condition.rb +1 -1
  63. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/mapping.rb +1 -1
  64. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/output.rb +1 -1
  65. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/parameter.rb +1 -1
  66. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/resource/property_mover.rb +12 -2
  67. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/resource.rb +1 -1
  68. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/section.rb +1 -1
  69. data/lib/lono/builder/dsl/syntax/core/squeezer.rb +38 -0
  70. data/lib/lono/{template/strategy/dsl/builder/section/methods.rb → builder/dsl/syntax/core.rb} +8 -8
  71. data/lib/lono/{template/strategy/dsl/builder → builder/dsl/syntax}/fn.rb +2 -2
  72. data/lib/lono/{template/strategy/dsl/builder → builder/dsl}/syntax/parameter_group.rb +1 -1
  73. data/lib/lono/builder/dsl/syntax.rb +9 -0
  74. data/lib/lono/builder/dsl.rb +14 -0
  75. data/lib/lono/{param/generator.rb → builder/param.rb} +24 -22
  76. data/lib/lono/builder/template/aws_service.rb +15 -0
  77. data/lib/lono/builder/template/bashify.rb +43 -0
  78. data/lib/lono/{output/template.rb → builder/template/output.rb} +14 -7
  79. data/lib/lono/{template → builder/template}/post_processor.rb +4 -4
  80. data/lib/lono/builder/template/upload.rb +8 -0
  81. data/lib/lono/builder/template.rb +55 -0
  82. data/lib/lono/{template/strategy/dsl/builder → builder/util}/stringify.rb +1 -1
  83. data/lib/lono/bundler/cli/base.rb +10 -0
  84. data/lib/lono/bundler/cli/bundle.rb +44 -0
  85. data/lib/lono/bundler/cli/clean.rb +27 -0
  86. data/lib/lono/bundler/cli/help/bundle.md +3 -0
  87. data/lib/lono/bundler/cli/help.rb +11 -0
  88. data/lib/lono/bundler/cli.rb +7 -0
  89. data/lib/lono/bundler/component/concerns/local_concern.rb +10 -0
  90. data/lib/lono/bundler/component/concerns/notation_concern.rb +59 -0
  91. data/lib/lono/bundler/component/concerns/path_concern.rb +68 -0
  92. data/lib/lono/bundler/component/concerns/stack_concern.rb +60 -0
  93. data/lib/lono/bundler/component/fetcher/base.rb +27 -0
  94. data/lib/lono/bundler/component/fetcher/gcs.rb +69 -0
  95. data/lib/lono/bundler/component/fetcher/git.rb +69 -0
  96. data/lib/lono/bundler/component/fetcher/local.rb +15 -0
  97. data/lib/lono/bundler/component/fetcher/s3.rb +66 -0
  98. data/lib/lono/bundler/component/fetcher.rb +18 -0
  99. data/lib/lono/bundler/component/http/concern.rb +45 -0
  100. data/lib/lono/bundler/component/http/source.rb +19 -0
  101. data/lib/lono/bundler/component/org_repo.rb +65 -0
  102. data/lib/lono/bundler/component/props/extension.rb +18 -0
  103. data/lib/lono/bundler/component/props/typer.rb +41 -0
  104. data/lib/lono/bundler/component/props.rb +122 -0
  105. data/lib/lono/bundler/component/registry.rb +136 -0
  106. data/lib/lono/bundler/component.rb +52 -0
  107. data/lib/lono/bundler/config.rb +18 -0
  108. data/lib/lono/bundler/dsl/syntax.rb +46 -0
  109. data/lib/lono/bundler/dsl.rb +21 -0
  110. data/lib/lono/bundler/exporter/base.rb +6 -0
  111. data/lib/lono/bundler/exporter/copy.rb +22 -0
  112. data/lib/lono/bundler/exporter.rb +50 -0
  113. data/lib/lono/bundler/extract/tar.rb +33 -0
  114. data/lib/lono/bundler/extract/zip.rb +16 -0
  115. data/lib/lono/bundler/info.rb +39 -0
  116. data/lib/lono/bundler/list.rb +26 -0
  117. data/lib/lono/bundler/lockfile/version_comparer.rb +56 -0
  118. data/lib/lono/bundler/lockfile/yamler.rb +36 -0
  119. data/lib/lono/bundler/lockfile.rb +66 -0
  120. data/lib/lono/bundler/lonofile.rb +32 -0
  121. data/lib/lono/bundler/runner.rb +27 -0
  122. data/lib/lono/bundler/syncer.rb +70 -0
  123. data/lib/lono/bundler/util/git.rb +37 -0
  124. data/lib/lono/bundler/util/logging.rb +7 -0
  125. data/lib/lono/bundler/util/sure.rb +5 -0
  126. data/lib/lono/{bundle.rb → bundler.rb} +38 -4
  127. data/lib/lono/cfn/base.rb +9 -195
  128. data/lib/lono/cfn/cancel.rb +12 -29
  129. data/lib/lono/cfn/concerns/build.rb +10 -0
  130. data/lib/lono/cfn/concerns/template_output.rb +10 -0
  131. data/lib/lono/cfn/concerns.rb +43 -0
  132. data/lib/lono/cfn/delete.rb +8 -32
  133. data/lib/lono/cfn/deploy/base.rb +4 -0
  134. data/lib/lono/cfn/deploy/iam.rb +48 -0
  135. data/lib/lono/cfn/deploy/notification.rb +8 -0
  136. data/lib/lono/cfn/deploy/operable.rb +18 -0
  137. data/lib/lono/cfn/deploy/opts.rb +49 -0
  138. data/lib/lono/cfn/deploy/rollback.rb +46 -0
  139. data/lib/lono/cfn/deploy/tags.rb +18 -0
  140. data/lib/lono/cfn/deploy.rb +100 -5
  141. data/lib/lono/cfn/download.rb +4 -7
  142. data/lib/lono/cfn/output.rb +49 -0
  143. data/lib/lono/cfn/plan/base.rb +19 -0
  144. data/lib/lono/cfn/plan/changeset/base.rb +19 -0
  145. data/lib/lono/cfn/plan/changeset/notifications.rb +24 -0
  146. data/lib/lono/cfn/plan/changeset/outputs.rb +25 -0
  147. data/lib/lono/cfn/plan/changeset/resources.rb +48 -0
  148. data/lib/lono/cfn/plan/changeset/tags.rb +16 -0
  149. data/lib/lono/cfn/plan/changeset.rb +136 -0
  150. data/lib/lono/cfn/plan/concerns.rb +10 -0
  151. data/lib/lono/cfn/plan/delete.rb +16 -0
  152. data/lib/lono/cfn/plan/diff/base.rb +10 -0
  153. data/lib/lono/cfn/plan/diff/data.rb +62 -0
  154. data/lib/lono/cfn/plan/diff/file.rb +57 -0
  155. data/lib/lono/cfn/plan/new.rb +26 -0
  156. data/lib/lono/cfn/{preview → plan}/param.rb +26 -34
  157. data/lib/lono/cfn/plan/summary.rb +16 -0
  158. data/lib/lono/cfn/plan/template.rb +28 -0
  159. data/lib/lono/cfn/plan.rb +34 -0
  160. data/lib/lono/cfn/show.rb +30 -0
  161. data/lib/lono/cfn/status.rb +1 -1
  162. data/lib/lono/cli/abstract.rb +11 -0
  163. data/lib/lono/cli/base.rb +11 -0
  164. data/lib/lono/cli/build.rb +47 -0
  165. data/lib/lono/cli/bundle.rb +21 -0
  166. data/lib/lono/cli/cfn/opts.rb +59 -0
  167. data/lib/lono/cli/cfn.rb +19 -0
  168. data/lib/lono/cli/clean.rb +23 -0
  169. data/lib/lono/cli/code.rb +22 -0
  170. data/lib/lono/{completion.rb → cli/completion.rb} +2 -2
  171. data/lib/lono/{help → cli/help}/blueprint/new.md +4 -4
  172. data/lib/lono/{help/generate.md → cli/help/build.md} +6 -6
  173. data/lib/lono/{help → cli/help}/cfn/cancel.md +0 -0
  174. data/lib/lono/cli/help/cfn/download.md +3 -0
  175. data/lib/lono/{help → cli/help}/cfn/preview.md +9 -8
  176. data/lib/lono/{help → cli/help}/cfn/status.md +0 -1
  177. data/lib/lono/cli/help/cfn.md +4 -0
  178. data/lib/lono/{help → cli/help}/code/convert.md +0 -0
  179. data/lib/lono/{help → cli/help}/code/import.md +2 -2
  180. data/lib/lono/{help → cli/help}/completion.md +3 -3
  181. data/lib/lono/{help → cli/help}/completion_script.md +0 -0
  182. data/lib/lono/{help → cli/help}/configsets.md +0 -0
  183. data/lib/lono/cli/help/down.md +13 -0
  184. data/lib/lono/cli/help/new/helper/blueprint.md +17 -0
  185. data/lib/lono/cli/help/new/helper/project.md +16 -0
  186. data/lib/lono/cli/help/new/project.md +34 -0
  187. data/lib/lono/{help → cli/help}/param/generate.md +0 -0
  188. data/lib/lono/cli/help/param.md +6 -0
  189. data/lib/lono/{help → cli/help}/pro/blueprints.md +0 -0
  190. data/lib/lono/{help → cli/help}/pro/configsets.md +0 -0
  191. data/lib/lono/{help → cli/help}/script/build.md +0 -0
  192. data/lib/lono/{help → cli/help}/script/upload.md +0 -0
  193. data/lib/lono/cli/help/seed.md +24 -0
  194. data/lib/lono/cli/help/summary.md +33 -0
  195. data/lib/lono/{help → cli/help}/template/bashify.md +0 -0
  196. data/lib/lono/cli/help/template/generate.md +7 -0
  197. data/lib/lono/{help → cli/help}/template.md +0 -0
  198. data/lib/lono/cli/help/up.md +30 -0
  199. data/lib/lono/{help → cli/help}/user_data.md +3 -3
  200. data/lib/lono/cli/help.rb +56 -0
  201. data/lib/lono/cli/list.rb +25 -0
  202. data/lib/lono/cli/new/blueprint.rb +29 -0
  203. data/lib/lono/cli/new/concerns.rb +16 -0
  204. data/lib/lono/cli/new/configset.rb +37 -0
  205. data/lib/lono/{extension/new.rb → cli/new/extension.rb} +2 -10
  206. data/lib/lono/cli/new/helper/blueprint.rb +26 -0
  207. data/lib/lono/cli/new/helper/project.rb +24 -0
  208. data/lib/lono/cli/new/helper.rb +13 -0
  209. data/lib/lono/cli/new/project.rb +77 -0
  210. data/lib/lono/cli/new/sequence.rb +56 -0
  211. data/lib/lono/cli/new/shim.rb +59 -0
  212. data/lib/lono/cli/new/test/blueprint.rb +23 -0
  213. data/lib/lono/cli/new/test/sequence.rb +10 -0
  214. data/lib/lono/cli/new/test.rb +8 -0
  215. data/lib/lono/cli/new.rb +27 -0
  216. data/lib/lono/{opts.rb → cli/opts.rb} +9 -12
  217. data/lib/lono/{s3.rb → cli/s3.rb} +9 -7
  218. data/lib/lono/cli/script/base.rb +5 -0
  219. data/lib/lono/cli/script/build.rb +72 -0
  220. data/lib/lono/cli/script/upload.rb +49 -0
  221. data/lib/lono/{script.rb → cli/script.rb} +2 -2
  222. data/lib/lono/cli/seed.rb +9 -0
  223. data/lib/lono/cli/status.rb +18 -0
  224. data/lib/lono/cli/test.rb +35 -0
  225. data/lib/lono/cli.rb +78 -109
  226. data/lib/lono/command.rb +27 -1
  227. data/lib/lono/component.rb +29 -0
  228. data/lib/lono/concerns/aws_info.rb +14 -0
  229. data/lib/lono/concerns/names.rb +9 -0
  230. data/lib/lono/configset.rb +11 -10
  231. data/lib/lono/core.rb +25 -54
  232. data/lib/lono/ext/core/module.rb +31 -0
  233. data/lib/lono/ext/core/object.rb +32 -0
  234. data/lib/lono/ext/core/string.rb +9 -0
  235. data/lib/lono/ext.rb +4 -0
  236. data/lib/lono/files/base.rb +12 -0
  237. data/lib/lono/files/builder.rb +37 -0
  238. data/lib/lono/files/compressor.rb +53 -0
  239. data/lib/lono/files/concerns/post_processing.rb +35 -0
  240. data/lib/lono/files/concerns/registration.rb +13 -0
  241. data/lib/lono/files/registry.rb +6 -0
  242. data/lib/lono/files.rb +37 -0
  243. data/lib/lono/importer/base.rb +6 -6
  244. data/lib/lono/importer/download.rb +7 -7
  245. data/lib/lono/importer/dsl.rb +3 -3
  246. data/lib/lono/importer/service/coder.rb +67 -63
  247. data/lib/lono/importer.rb +1 -10
  248. data/lib/lono/inspector/base.rb +7 -7
  249. data/lib/lono/inspector/summary.rb +18 -19
  250. data/lib/lono/layering/layer.rb +112 -0
  251. data/lib/lono/layering.rb +13 -55
  252. data/lib/lono/logger/formatter.rb +13 -0
  253. data/lib/lono/logger.rb +32 -0
  254. data/lib/lono/names.rb +50 -0
  255. data/lib/lono/plugin/meta.rb +30 -0
  256. data/lib/lono/plugin/tester.rb +13 -0
  257. data/lib/lono/plugin.rb +10 -0
  258. data/lib/lono/s3/aws_setup.rb +4 -3
  259. data/lib/lono/s3/bucket.rb +42 -42
  260. data/lib/lono/s3/rollback.rb +8 -0
  261. data/lib/lono/s3/uploader.rb +33 -34
  262. data/lib/lono/script/base.rb +3 -3
  263. data/lib/lono/script/build.rb +11 -12
  264. data/lib/lono/script/upload.rb +7 -7
  265. data/lib/lono/seeder.rb +110 -0
  266. data/lib/lono/user_data.rb +10 -13
  267. data/lib/lono/utils/logging.rb +7 -0
  268. data/lib/lono/utils/{pretty_time.rb → pretty.rb} +6 -2
  269. data/lib/lono/utils/quit.rb +7 -0
  270. data/lib/lono/utils/rsync.rb +4 -2
  271. data/lib/lono/utils/sure.rb +4 -4
  272. data/lib/lono/version.rb +1 -1
  273. data/lib/lono/yamler/validator.rb +7 -22
  274. data/lib/lono.rb +15 -12
  275. data/lib/templates/blueprint/template.rb +2 -0
  276. data/lib/templates/configset/configset.rb +2 -0
  277. data/lib/templates/examples/blueprint/template.rb +9 -0
  278. data/lib/templates/{configset/lib → examples/configset}/configset.rb +0 -0
  279. data/lib/templates/helper/%underscore_name%_helper.rb.tt +6 -0
  280. data/lib/templates/{skeleton → project}/.gitignore +1 -2
  281. data/lib/templates/project/Gemfile.tt +11 -0
  282. data/lib/templates/project/README.md +9 -0
  283. data/lib/templates/project/config/app.rb +3 -0
  284. data/lib/templates/shim/lono +7 -0
  285. data/lono.gemspec +51 -44
  286. metadata +282 -296
  287. data/.circleci/README.md +0 -3
  288. data/.circleci/config.yml +0 -58
  289. data/.cody/acceptance.sh +0 -49
  290. data/.cody/buildspec.yml +0 -9
  291. data/.cody/demo.rb +0 -38
  292. data/.cody/project.rb +0 -6
  293. data/.gitmodules +0 -3
  294. data/lib/lono/abstract_base.rb +0 -25
  295. data/lib/lono/app_file/base.rb +0 -28
  296. data/lib/lono/app_file/build/lambda_layer/ruby_packager.rb +0 -153
  297. data/lib/lono/app_file/build/lambda_layer.rb +0 -20
  298. data/lib/lono/app_file/build.rb +0 -84
  299. data/lib/lono/app_file/registry/item.rb +0 -24
  300. data/lib/lono/app_file/registry.rb +0 -16
  301. data/lib/lono/app_file/upload.rb +0 -12
  302. data/lib/lono/aws_services/stack.rb +0 -41
  303. data/lib/lono/aws_services/stack_set.rb +0 -41
  304. data/lib/lono/blueprint/configset/loader.rb +0 -7
  305. data/lib/lono/blueprint/helper.rb +0 -24
  306. data/lib/lono/blueprint/meta.rb +0 -30
  307. data/lib/lono/blueprint/new.rb +0 -127
  308. data/lib/lono/blueprint/root.rb +0 -25
  309. data/lib/lono/cfn/create.rb +0 -41
  310. data/lib/lono/cfn/opts.rb +0 -88
  311. data/lib/lono/cfn/preview/changeset.rb +0 -168
  312. data/lib/lono/cfn/preview/codediff.rb +0 -41
  313. data/lib/lono/cfn/preview/diff_viewer.rb +0 -23
  314. data/lib/lono/cfn/rollback.rb +0 -26
  315. data/lib/lono/cfn/update.rb +0 -71
  316. data/lib/lono/cfn.rb +0 -75
  317. data/lib/lono/clean.rb +0 -14
  318. data/lib/lono/code.rb +0 -22
  319. data/lib/lono/configset/combiner.rb +0 -162
  320. data/lib/lono/configset/evaluate_file.rb +0 -8
  321. data/lib/lono/configset/generator.rb +0 -57
  322. data/lib/lono/configset/list.rb +0 -67
  323. data/lib/lono/configset/meta/dsl.rb +0 -12
  324. data/lib/lono/configset/meta.rb +0 -19
  325. data/lib/lono/configset/new.rb +0 -77
  326. data/lib/lono/configset/preparer.rb +0 -44
  327. data/lib/lono/configset/register/base.rb +0 -122
  328. data/lib/lono/configset/register/blueprint.rb +0 -16
  329. data/lib/lono/configset/register/dsl.rb +0 -14
  330. data/lib/lono/configset/register/project.rb +0 -13
  331. data/lib/lono/configset/resolver.rb +0 -47
  332. data/lib/lono/configset/s3_file/build.rb +0 -33
  333. data/lib/lono/configset/s3_file/item.rb +0 -38
  334. data/lib/lono/configset/s3_file/registry.rb +0 -12
  335. data/lib/lono/configset/s3_file/upload.rb +0 -12
  336. data/lib/lono/configset/strategy/base.rb +0 -83
  337. data/lib/lono/configset/strategy/helpers/dsl.rb +0 -8
  338. data/lib/lono/configset/strategy/helpers/erb.rb +0 -9
  339. data/lib/lono/conventions.rb +0 -23
  340. data/lib/lono/core/config.rb +0 -22
  341. data/lib/lono/default/settings.yml +0 -21
  342. data/lib/lono/extension/helper.rb +0 -13
  343. data/lib/lono/extension/list.rb +0 -40
  344. data/lib/lono/extension.rb +0 -9
  345. data/lib/lono/extensions/dsl.rb +0 -11
  346. data/lib/lono/extensions/loader.rb +0 -30
  347. data/lib/lono/extensions/preparer.rb +0 -26
  348. data/lib/lono/extensions/register.rb +0 -15
  349. data/lib/lono/extensions.rb +0 -18
  350. data/lib/lono/file_uploader.rb +0 -21
  351. data/lib/lono/finder/base.rb +0 -152
  352. data/lib/lono/finder/blueprint/configset.rb +0 -17
  353. data/lib/lono/finder/blueprint.rb +0 -11
  354. data/lib/lono/finder/configset.rb +0 -11
  355. data/lib/lono/finder/extension.rb +0 -11
  356. data/lib/lono/generate.rb +0 -111
  357. data/lib/lono/help/cfn/create.md +0 -26
  358. data/lib/lono/help/cfn/delete.md +0 -13
  359. data/lib/lono/help/cfn/deploy.md +0 -21
  360. data/lib/lono/help/cfn/download.md +0 -3
  361. data/lib/lono/help/cfn/update.md +0 -49
  362. data/lib/lono/help/cfn.md +0 -7
  363. data/lib/lono/help/new.md +0 -57
  364. data/lib/lono/help/param.md +0 -6
  365. data/lib/lono/help/seed.md +0 -23
  366. data/lib/lono/help/set_instances/delete.md +0 -21
  367. data/lib/lono/help/set_instances/deploy.md +0 -31
  368. data/lib/lono/help/set_instances/list.md +0 -14
  369. data/lib/lono/help/set_instances/status.md +0 -15
  370. data/lib/lono/help/set_instances/sync.md +0 -92
  371. data/lib/lono/help/sets/delete.md +0 -8
  372. data/lib/lono/help/sets/deploy.md +0 -76
  373. data/lib/lono/help/sets/status.md +0 -23
  374. data/lib/lono/help/summary.md +0 -33
  375. data/lib/lono/help/template/generate.md +0 -7
  376. data/lib/lono/help/upgrade.md +0 -1
  377. data/lib/lono/help/xgraph.md +0 -16
  378. data/lib/lono/help.rb +0 -15
  379. data/lib/lono/importer/erb.rb +0 -31
  380. data/lib/lono/inspector/graph.rb +0 -125
  381. data/lib/lono/jade/circular.rb +0 -26
  382. data/lib/lono/jade/materializer/final.rb +0 -10
  383. data/lib/lono/jade/materializer/gems_builder.rb +0 -81
  384. data/lib/lono/jade/materializer/source.rb +0 -54
  385. data/lib/lono/jade/materializer.rb +0 -15
  386. data/lib/lono/jade/registry.rb +0 -64
  387. data/lib/lono/jade.rb +0 -110
  388. data/lib/lono/jadespec.rb +0 -68
  389. data/lib/lono/new/helper.rb +0 -15
  390. data/lib/lono/new.rb +0 -95
  391. data/lib/lono/param.rb +0 -14
  392. data/lib/lono/pro/base.rb +0 -16
  393. data/lib/lono/pro/repo.rb +0 -28
  394. data/lib/lono/pro.rb +0 -15
  395. data/lib/lono/project_checker.rb +0 -35
  396. data/lib/lono/registration/base.rb +0 -37
  397. data/lib/lono/registration/check.rb +0 -15
  398. data/lib/lono/registration/temp.rb +0 -53
  399. data/lib/lono/registration/user.rb +0 -60
  400. data/lib/lono/seed/base.rb +0 -116
  401. data/lib/lono/seed/service_role.rb +0 -11
  402. data/lib/lono/seed.rb +0 -39
  403. data/lib/lono/sequence.rb +0 -35
  404. data/lib/lono/set_instances/base.rb +0 -30
  405. data/lib/lono/set_instances/changeable.rb +0 -53
  406. data/lib/lono/set_instances/create.rb +0 -7
  407. data/lib/lono/set_instances/delete.rb +0 -47
  408. data/lib/lono/set_instances/deploy.rb +0 -52
  409. data/lib/lono/set_instances/list.rb +0 -13
  410. data/lib/lono/set_instances/opts.rb +0 -37
  411. data/lib/lono/set_instances/status.rb +0 -12
  412. data/lib/lono/set_instances/sync.rb +0 -181
  413. data/lib/lono/set_instances/update.rb +0 -15
  414. data/lib/lono/set_instances.rb +0 -54
  415. data/lib/lono/sets/base.rb +0 -50
  416. data/lib/lono/sets/create.rb +0 -27
  417. data/lib/lono/sets/delete.rb +0 -43
  418. data/lib/lono/sets/deploy.rb +0 -11
  419. data/lib/lono/sets/list.rb +0 -35
  420. data/lib/lono/sets/opts.rb +0 -18
  421. data/lib/lono/sets/preview/codediff.rb +0 -35
  422. data/lib/lono/sets/preview/param.rb +0 -32
  423. data/lib/lono/sets/status/instance/base.rb +0 -120
  424. data/lib/lono/sets/status/instance/completed.rb +0 -35
  425. data/lib/lono/sets/status/instance/deleted.rb +0 -32
  426. data/lib/lono/sets/status/instance/show.rb +0 -7
  427. data/lib/lono/sets/status/instance.rb +0 -20
  428. data/lib/lono/sets/status/instances.rb +0 -136
  429. data/lib/lono/sets/status.rb +0 -128
  430. data/lib/lono/sets/summarize.rb +0 -22
  431. data/lib/lono/sets/time_spent.rb +0 -11
  432. data/lib/lono/sets/update.rb +0 -74
  433. data/lib/lono/sets/waiter.rb +0 -23
  434. data/lib/lono/sets.rb +0 -34
  435. data/lib/lono/setting.rb +0 -75
  436. data/lib/lono/template/aws_service.rb +0 -20
  437. data/lib/lono/template/bashify.rb +0 -39
  438. data/lib/lono/template/configset_injector.rb +0 -52
  439. data/lib/lono/template/context/loader/load_files.rb +0 -24
  440. data/lib/lono/template/context/loader.rb +0 -52
  441. data/lib/lono/template/context.rb +0 -29
  442. data/lib/lono/template/evaluate.rb +0 -40
  443. data/lib/lono/template/generator.rb +0 -23
  444. data/lib/lono/template/helper.rb +0 -152
  445. data/lib/lono/template/strategy/base.rb +0 -4
  446. data/lib/lono/template/strategy/common/helpers.rb +0 -44
  447. data/lib/lono/template/strategy/dsl/builder/helpers/core_helper.rb +0 -14
  448. data/lib/lono/template/strategy/dsl/builder/helpers/file_helper.rb +0 -48
  449. data/lib/lono/template/strategy/dsl/builder/helpers.rb +0 -16
  450. data/lib/lono/template/strategy/dsl/builder/section/base.rb +0 -30
  451. data/lib/lono/template/strategy/dsl/builder/squeezer.rb +0 -24
  452. data/lib/lono/template/strategy/dsl/builder/syntax/extend_with.rb +0 -9
  453. data/lib/lono/template/strategy/dsl/builder/syntax.rb +0 -11
  454. data/lib/lono/template/strategy/dsl/builder.rb +0 -59
  455. data/lib/lono/template/strategy/dsl/finalizer.rb +0 -12
  456. data/lib/lono/template/strategy/dsl.rb +0 -14
  457. data/lib/lono/template/strategy/erb.rb +0 -82
  458. data/lib/lono/template/strategy/source.rb +0 -8
  459. data/lib/lono/template/template.rb +0 -54
  460. data/lib/lono/template/upload.rb +0 -23
  461. data/lib/lono/template/util.rb +0 -8
  462. data/lib/lono/template.rb +0 -24
  463. data/lib/lono/upgrade.rb +0 -20
  464. data/lib/lono/utils/generators/tree.rb +0 -18
  465. data/lib/lono/utils/item/file_methods.rb +0 -29
  466. data/lib/lono/utils/item/zip.rb +0 -42
  467. data/lib/templates/blueprint/%blueprint_name%.gemspec.tt +0 -45
  468. data/lib/templates/blueprint/.gitignore +0 -11
  469. data/lib/templates/blueprint/CHANGELOG.md +0 -7
  470. data/lib/templates/blueprint/Gemfile +0 -4
  471. data/lib/templates/blueprint/README.md.tt +0 -33
  472. data/lib/templates/blueprint/Rakefile.tt +0 -9
  473. data/lib/templates/blueprint/seed/configs.rb +0 -28
  474. data/lib/templates/blueprint_types/dsl/app/templates/%blueprint_name%.rb +0 -36
  475. data/lib/templates/blueprint_types/dsl/app/user_data/bootstrap.sh +0 -2
  476. data/lib/templates/blueprint_types/erb/app/definitions/base.rb.tt +0 -1
  477. data/lib/templates/blueprint_types/erb/app/templates/%blueprint_name%.yml +0 -67
  478. data/lib/templates/configset/%configset_name%.gemspec.tt +0 -42
  479. data/lib/templates/configset/.gitignore +0 -10
  480. data/lib/templates/configset/CHANGELOG.md +0 -7
  481. data/lib/templates/configset/Gemfile +0 -4
  482. data/lib/templates/configset/README.md.tt +0 -3
  483. data/lib/templates/configset/Rakefile.tt +0 -9
  484. data/lib/templates/extension/%extension_name%.gemspec.tt +0 -46
  485. data/lib/templates/extension/.gitignore +0 -11
  486. data/lib/templates/extension/.rspec +0 -3
  487. data/lib/templates/extension/CHANGELOG.md +0 -7
  488. data/lib/templates/extension/Gemfile.tt +0 -4
  489. data/lib/templates/extension/Rakefile.tt +0 -9
  490. data/lib/templates/extension/spec/spec_helper.rb.tt +0 -29
  491. data/lib/templates/skeleton/Gemfile +0 -3
  492. data/lib/templates/skeleton/README.md +0 -58
  493. data/lib/templates/skeleton/configs/settings.yml +0 -13
  494. data/vendor/cfn-status/CHANGELOG.md +0 -14
  495. data/vendor/cfn-status/Gemfile +0 -4
  496. data/vendor/cfn-status/Gemfile.lock +0 -49
  497. data/vendor/cfn-status/LICENSE.txt +0 -21
  498. data/vendor/cfn-status/README.md +0 -58
  499. data/vendor/cfn-status/Rakefile +0 -6
  500. data/vendor/cfn-status/bin/console +0 -14
  501. data/vendor/cfn-status/bin/setup +0 -8
  502. data/vendor/cfn-status/cfn-status.gemspec +0 -30
  503. data/vendor/cfn-status/lib/cfn-status.rb +0 -1
  504. data/vendor/cfn-status/lib/cfn_status/aws_service.rb +0 -51
  505. data/vendor/cfn-status/lib/cfn_status/version.rb +0 -3
  506. data/vendor/cfn-status/lib/cfn_status.rb +0 -245
  507. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-1.json +0 -1103
  508. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-2.json +0 -1104
  509. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-3.json +0 -1103
  510. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-1.json +0 -1103
  511. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-2.json +0 -1104
  512. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-3.json +0 -1103
  513. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
  514. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
  515. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
  516. data/vendor/cfn-status/spec/lib/cfn_status_spec.rb +0 -153
  517. 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
@@ -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
@@ -1,5 +1,5 @@
1
- module Lono
2
- class Completion < Command
1
+ class Lono::CLI
2
+ class Completion < Base
3
3
  desc "script", "generates script that can be eval to setup auto-completion"
4
4
  long_desc Help.text("completion:script")
5
5
  def script
@@ -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 configs/demo/params/development.txt
23
- create configs/demo/params/production.txt
24
- create configs/demo/variables/development.rb
25
- create configs/demo/variables/production.rb
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 generate BLUEPRINT
6
- lono generate BLUEPRINT --clean
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 generate ec2
12
- Generating CloudFormation templates, parameters, and scripts
13
- Generating CloudFormation templates:
11
+ $ lono build ec2
12
+ Building template, parameters, and scripts
13
+ Building template:
14
14
  output/templates/ec2.yml
15
- Generating parameter files:
15
+ Building parameters:
16
16
  output/params/ec2.json
17
17
  $
File without changes
@@ -0,0 +1,3 @@
1
+ ## Examples
2
+
3
+ lono cfn download demo
@@ -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 preview my-stack
5
+ lono cfn plan demo
6
6
 
7
7
  The output should look similiar to this:
8
8
 
9
- Generating CloudFormation source code diff...
10
- Running: colordiff /tmp/existing_cfn_template.yml output/templates/ec2.yml
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
- Generating CloudFormation Change Set for preview.....
16
- CloudFormation preview for 'ec2' stack update. Changes:
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 preview includes colors:
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 two types of "diffs" in the preview.
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. 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.
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
-
@@ -0,0 +1,4 @@
1
+ ## Examples
2
+
3
+ lono up demo
4
+ lono down demo
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 configs/ec2/params/development.txt
25
- create configs/ec2/params/production.txt
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 cfn deploy
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 cfn deploy [TAB]
22
- lono cfn deploy --[TAB]
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
@@ -0,0 +1,6 @@
1
+ ## Examples
2
+
3
+ $ lono param generate ecs-asg
4
+ Building parameters
5
+ output/ecs-asg/params/development.json
6
+ $
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
@@ -0,0 +1,7 @@
1
+ ## Examples
2
+
3
+ lono template generate
4
+ lono template generate --clean
5
+ lono template g --clean
6
+
7
+ Builds the CloudFormation template files based on lono project and writes them to the output folder on the filesystem.
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 app/scripts
20
- Tarballing app/scripts folder to scripts.tgz
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
- Generating user_data for 'bootstrap' at ./app/user_data/bootstrap.sh
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