lono 7.5.1 → 8.0.0.pre.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (465) 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 +36 -4
  10. data/CONTRIBUTING.md +2 -2
  11. data/Gemfile +5 -1
  12. data/LICENSE.txt +201 -1
  13. data/README.md +6 -12
  14. data/lib/lono/api/client.rb +3 -2
  15. data/lib/lono/app/inits.rb +13 -0
  16. data/lib/lono/app.rb +74 -0
  17. data/lib/lono/app_file/base.rb +1 -1
  18. data/lib/lono/app_file/build/lambda_layer/ruby_packager.rb +9 -9
  19. data/lib/lono/app_file/build/lambda_layer.rb +3 -3
  20. data/lib/lono/app_file/build.rb +10 -15
  21. data/lib/lono/app_file/registry/item.rb +4 -4
  22. data/lib/lono/app_file/upload.rb +1 -1
  23. data/lib/lono/autoloader.rb +2 -2
  24. data/lib/lono/aws_services/helper.rb +43 -6
  25. data/lib/lono/aws_services.rb +37 -6
  26. data/lib/lono/blueprint.rb +18 -9
  27. data/lib/lono/booter.rb +28 -0
  28. data/lib/lono/builder/context/generic.rb +11 -0
  29. data/lib/lono/{template/context/loader → builder/context/loaders}/load_files.rb +5 -6
  30. data/lib/lono/builder/context/loaders.rb +35 -0
  31. data/lib/lono/builder/context/params.rb +6 -0
  32. data/lib/lono/builder/context/template.rb +4 -0
  33. data/lib/lono/builder/dsl/evaluator.rb +94 -0
  34. data/lib/lono/builder/dsl/finalizer/configsets.rb +41 -0
  35. data/lib/lono/{template/strategy → builder}/dsl/finalizer/parameter_groups.rb +2 -2
  36. data/lib/lono/{template/strategy → builder}/dsl/finalizer.rb +2 -1
  37. data/lib/lono/{template/strategy/dsl/builder/helpers/ec2_helper.rb → builder/dsl/helpers/ec2.rb} +3 -3
  38. data/lib/lono/builder/dsl/helpers/partials.rb +145 -0
  39. data/lib/lono/{template/strategy/dsl/builder/helpers/s3_helper.rb → builder/dsl/helpers/s3.rb} +3 -3
  40. data/lib/lono/{template/context/ssm_fetcher.rb → builder/dsl/helpers/ssm/fetcher.rb} +2 -2
  41. data/lib/lono/{template/context/helpers.rb → builder/dsl/helpers/ssm.rb} +3 -3
  42. data/lib/lono/{template/strategy/dsl/builder/helpers/stack_helper.rb → builder/dsl/helpers/stack.rb} +14 -9
  43. data/lib/lono/{template/strategy/dsl/builder/helpers/tags_helper.rb → builder/dsl/helpers/tags.rb} +2 -2
  44. data/lib/lono/builder/dsl/helpers/template_file.rb +54 -0
  45. data/lib/lono/{template/strategy/dsl/builder → builder/dsl}/helpers.rb +3 -4
  46. data/lib/lono/builder/dsl/syntax/core/base.rb +22 -0
  47. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/condition.rb +1 -1
  48. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/mapping.rb +1 -1
  49. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/output.rb +1 -1
  50. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/parameter.rb +1 -1
  51. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/resource/property_mover.rb +1 -1
  52. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/resource.rb +1 -1
  53. data/lib/lono/{template/strategy/dsl/builder/section → builder/dsl/syntax/core}/section.rb +1 -1
  54. data/lib/lono/{template/strategy/dsl/builder → builder/dsl/syntax/core}/squeezer.rb +1 -1
  55. data/lib/lono/{template/strategy/dsl/builder/section/methods.rb → builder/dsl/syntax/core.rb} +8 -8
  56. data/lib/lono/{template/strategy/dsl/builder → builder/dsl/syntax}/fn.rb +2 -2
  57. data/lib/lono/{template/strategy/dsl/builder → builder/dsl}/syntax/parameter_group.rb +1 -1
  58. data/lib/lono/builder/dsl/syntax.rb +9 -0
  59. data/lib/lono/builder/dsl.rb +14 -0
  60. data/lib/lono/{param/generator.rb → builder/param.rb} +21 -22
  61. data/lib/lono/builder/template/aws_service.rb +15 -0
  62. data/lib/lono/builder/template/bashify.rb +43 -0
  63. data/lib/lono/{output/template.rb → builder/template/output.rb} +14 -7
  64. data/lib/lono/{template → builder/template}/post_processor.rb +4 -4
  65. data/lib/lono/{template → builder/template}/upload.rb +3 -5
  66. data/lib/lono/builder/template.rb +55 -0
  67. data/lib/lono/{template/strategy/dsl/builder → builder/util}/stringify.rb +1 -1
  68. data/lib/lono/bundler/cli/base.rb +10 -0
  69. data/lib/lono/bundler/cli/bundle.rb +44 -0
  70. data/lib/lono/bundler/cli/clean.rb +27 -0
  71. data/lib/lono/bundler/cli/help/bundle.md +3 -0
  72. data/lib/lono/bundler/cli/help.rb +11 -0
  73. data/lib/lono/bundler/cli.rb +7 -0
  74. data/lib/lono/bundler/component/concerns/local_concern.rb +10 -0
  75. data/lib/lono/bundler/component/concerns/notation_concern.rb +59 -0
  76. data/lib/lono/bundler/component/concerns/path_concern.rb +68 -0
  77. data/lib/lono/bundler/component/concerns/stack_concern.rb +60 -0
  78. data/lib/lono/bundler/component/fetcher/base.rb +27 -0
  79. data/lib/lono/bundler/component/fetcher/gcs.rb +69 -0
  80. data/lib/lono/bundler/component/fetcher/git.rb +69 -0
  81. data/lib/lono/bundler/component/fetcher/local.rb +15 -0
  82. data/lib/lono/bundler/component/fetcher/s3.rb +66 -0
  83. data/lib/lono/bundler/component/fetcher.rb +18 -0
  84. data/lib/lono/bundler/component/http/concern.rb +45 -0
  85. data/lib/lono/bundler/component/http/source.rb +19 -0
  86. data/lib/lono/bundler/component/org_repo.rb +65 -0
  87. data/lib/lono/bundler/component/props/extension.rb +18 -0
  88. data/lib/lono/bundler/component/props/typer.rb +41 -0
  89. data/lib/lono/bundler/component/props.rb +122 -0
  90. data/lib/lono/bundler/component/registry.rb +136 -0
  91. data/lib/lono/bundler/component.rb +52 -0
  92. data/lib/lono/bundler/config.rb +18 -0
  93. data/lib/lono/bundler/dsl/syntax.rb +46 -0
  94. data/lib/lono/bundler/dsl.rb +21 -0
  95. data/lib/lono/bundler/exporter/base.rb +6 -0
  96. data/lib/lono/bundler/exporter/copy.rb +22 -0
  97. data/lib/lono/bundler/exporter.rb +50 -0
  98. data/lib/lono/bundler/extract/tar.rb +33 -0
  99. data/lib/lono/bundler/extract/zip.rb +16 -0
  100. data/lib/lono/bundler/info.rb +39 -0
  101. data/lib/lono/bundler/list.rb +26 -0
  102. data/lib/lono/bundler/lockfile/version_comparer.rb +56 -0
  103. data/lib/lono/bundler/lockfile/yamler.rb +36 -0
  104. data/lib/lono/bundler/lockfile.rb +66 -0
  105. data/lib/lono/bundler/lonofile.rb +32 -0
  106. data/lib/lono/bundler/runner.rb +27 -0
  107. data/lib/lono/bundler/syncer.rb +70 -0
  108. data/lib/lono/bundler/util/git.rb +37 -0
  109. data/lib/lono/bundler/util/logging.rb +7 -0
  110. data/lib/lono/bundler/util/sure.rb +5 -0
  111. data/lib/lono/{bundle.rb → bundler.rb} +38 -4
  112. data/lib/lono/cfn/base.rb +9 -195
  113. data/lib/lono/cfn/cancel.rb +9 -26
  114. data/lib/lono/cfn/concerns/build.rb +10 -0
  115. data/lib/lono/cfn/concerns/template_output.rb +10 -0
  116. data/lib/lono/cfn/concerns.rb +43 -0
  117. data/lib/lono/cfn/delete.rb +8 -32
  118. data/lib/lono/cfn/deploy/base.rb +4 -0
  119. data/lib/lono/cfn/deploy/iam.rb +48 -0
  120. data/lib/lono/cfn/deploy/notification.rb +8 -0
  121. data/lib/lono/cfn/deploy/operable.rb +18 -0
  122. data/lib/lono/cfn/deploy/opts.rb +49 -0
  123. data/lib/lono/cfn/deploy/rollback.rb +46 -0
  124. data/lib/lono/cfn/deploy/tags.rb +18 -0
  125. data/lib/lono/cfn/deploy.rb +71 -5
  126. data/lib/lono/cfn/download.rb +5 -7
  127. data/lib/lono/cfn/output.rb +49 -0
  128. data/lib/lono/cfn/plan/base.rb +19 -0
  129. data/lib/lono/cfn/plan/changeset/base.rb +19 -0
  130. data/lib/lono/cfn/plan/changeset/notifications.rb +24 -0
  131. data/lib/lono/cfn/plan/changeset/outputs.rb +25 -0
  132. data/lib/lono/cfn/plan/changeset/resources.rb +48 -0
  133. data/lib/lono/cfn/plan/changeset/tags.rb +16 -0
  134. data/lib/lono/cfn/plan/changeset.rb +136 -0
  135. data/lib/lono/cfn/plan/concerns.rb +10 -0
  136. data/lib/lono/cfn/plan/delete.rb +16 -0
  137. data/lib/lono/cfn/plan/diff/base.rb +10 -0
  138. data/lib/lono/cfn/plan/diff/data.rb +52 -0
  139. data/lib/lono/cfn/plan/diff/file.rb +57 -0
  140. data/lib/lono/cfn/plan/new.rb +26 -0
  141. data/lib/lono/cfn/{preview → plan}/param.rb +26 -34
  142. data/lib/lono/cfn/plan/summary.rb +16 -0
  143. data/lib/lono/cfn/plan/template.rb +28 -0
  144. data/lib/lono/cfn/plan.rb +33 -0
  145. data/lib/lono/cfn/show.rb +30 -0
  146. data/lib/lono/cfn/status.rb +1 -1
  147. data/lib/lono/cli/abstract.rb +17 -0
  148. data/lib/lono/cli/base.rb +9 -0
  149. data/lib/lono/cli/build.rb +91 -0
  150. data/lib/lono/cli/bundle.rb +21 -0
  151. data/lib/lono/cli/cfn/opts.rb +59 -0
  152. data/lib/lono/cli/cfn.rb +19 -0
  153. data/lib/lono/cli/clean.rb +22 -0
  154. data/lib/lono/{code.rb → cli/code.rb} +2 -2
  155. data/lib/lono/{completion.rb → cli/completion.rb} +2 -2
  156. data/lib/lono/{help → cli/help}/blueprint/new.md +4 -4
  157. data/lib/lono/{help/generate.md → cli/help/build.md} +6 -6
  158. data/lib/lono/{help → cli/help}/cfn/cancel.md +0 -0
  159. data/lib/lono/cli/help/cfn/download.md +3 -0
  160. data/lib/lono/{help → cli/help}/cfn/preview.md +9 -8
  161. data/lib/lono/{help → cli/help}/cfn/status.md +0 -1
  162. data/lib/lono/cli/help/cfn.md +4 -0
  163. data/lib/lono/{help → cli/help}/code/convert.md +0 -0
  164. data/lib/lono/{help → cli/help}/code/import.md +2 -2
  165. data/lib/lono/{help → cli/help}/completion.md +3 -3
  166. data/lib/lono/{help → cli/help}/completion_script.md +0 -0
  167. data/lib/lono/{help → cli/help}/configsets.md +0 -0
  168. data/lib/lono/cli/help/down.md +13 -0
  169. data/lib/lono/cli/help/new/project.md +34 -0
  170. data/lib/lono/{help → cli/help}/param/generate.md +0 -0
  171. data/lib/lono/cli/help/param.md +6 -0
  172. data/lib/lono/{help → cli/help}/pro/blueprints.md +0 -0
  173. data/lib/lono/{help → cli/help}/pro/configsets.md +0 -0
  174. data/lib/lono/{help → cli/help}/script/build.md +0 -0
  175. data/lib/lono/{help → cli/help}/script/upload.md +0 -0
  176. data/lib/lono/cli/help/seed.md +24 -0
  177. data/lib/lono/cli/help/summary.md +33 -0
  178. data/lib/lono/{help → cli/help}/template/bashify.md +0 -0
  179. data/lib/lono/cli/help/template/generate.md +7 -0
  180. data/lib/lono/{help → cli/help}/template.md +0 -0
  181. data/lib/lono/cli/help/up.md +30 -0
  182. data/lib/lono/{help → cli/help}/user_data.md +3 -3
  183. data/lib/lono/cli/help.rb +56 -0
  184. data/lib/lono/cli/list.rb +28 -0
  185. data/lib/lono/cli/new/blueprint.rb +33 -0
  186. data/lib/lono/cli/new/concerns.rb +16 -0
  187. data/lib/lono/{configset/new.rb → cli/new/configset.rb} +2 -9
  188. data/lib/lono/{extension/new.rb → cli/new/extension.rb} +2 -10
  189. data/lib/lono/cli/new/helper.rb +32 -0
  190. data/lib/lono/cli/new/project.rb +77 -0
  191. data/lib/lono/cli/new/sequence.rb +51 -0
  192. data/lib/lono/cli/new/shim.rb +59 -0
  193. data/lib/lono/cli/new/test/blueprint.rb +23 -0
  194. data/lib/lono/cli/new/test/sequence.rb +10 -0
  195. data/lib/lono/cli/new/test.rb +8 -0
  196. data/lib/lono/cli/new.rb +31 -0
  197. data/lib/lono/{opts.rb → cli/opts.rb} +9 -12
  198. data/lib/lono/{s3.rb → cli/s3.rb} +9 -7
  199. data/lib/lono/cli/script/base.rb +5 -0
  200. data/lib/lono/cli/script/build.rb +72 -0
  201. data/lib/lono/cli/script/upload.rb +49 -0
  202. data/lib/lono/{script.rb → cli/script.rb} +2 -2
  203. data/lib/lono/cli/seed.rb +9 -0
  204. data/lib/lono/cli/test.rb +35 -0
  205. data/lib/lono/cli.rb +81 -109
  206. data/lib/lono/command.rb +27 -0
  207. data/lib/lono/configset/{generator.rb → builder.rb} +9 -7
  208. data/lib/lono/configset/combiner.rb +8 -6
  209. data/lib/lono/configset/evaluate_file.rb +1 -1
  210. data/lib/lono/configset/meta.rb +1 -1
  211. data/lib/lono/configset/s3_file/build.rb +5 -4
  212. data/lib/lono/configset/s3_file/item.rb +1 -1
  213. data/lib/lono/configset/s3_file/upload.rb +2 -2
  214. data/lib/lono/configset/strategy/base.rb +6 -6
  215. data/lib/lono/configset/strategy/helpers/dsl/core.rb +1 -1
  216. data/lib/lono/core.rb +25 -54
  217. data/lib/lono/importer/base.rb +5 -5
  218. data/lib/lono/importer/download.rb +7 -7
  219. data/lib/lono/importer/dsl.rb +3 -3
  220. data/lib/lono/importer/service/coder.rb +67 -63
  221. data/lib/lono/importer.rb +1 -10
  222. data/lib/lono/inspector/base.rb +7 -7
  223. data/lib/lono/inspector/summary.rb +19 -17
  224. data/lib/lono/layering/layer.rb +126 -0
  225. data/lib/lono/layering.rb +13 -55
  226. data/lib/lono/logger/formatter.rb +13 -0
  227. data/lib/lono/logger.rb +34 -0
  228. data/lib/lono/lookup.rb +12 -0
  229. data/lib/lono/names.rb +50 -0
  230. data/lib/lono/plugin/meta.rb +30 -0
  231. data/lib/lono/plugin/tester.rb +13 -0
  232. data/lib/lono/plugin.rb +10 -0
  233. data/lib/lono/s3/aws_setup.rb +4 -3
  234. data/lib/lono/s3/bucket.rb +42 -42
  235. data/lib/lono/s3/rollback.rb +8 -0
  236. data/lib/lono/s3/uploader.rb +10 -12
  237. data/lib/lono/script/base.rb +3 -3
  238. data/lib/lono/script/build.rb +11 -12
  239. data/lib/lono/script/upload.rb +7 -7
  240. data/lib/lono/{seed → seeder}/service_role.rb +1 -1
  241. data/lib/lono/{seed/base.rb → seeder.rb} +38 -35
  242. data/lib/lono/user_data.rb +8 -13
  243. data/lib/lono/utils/contexts.rb +15 -0
  244. data/lib/lono/utils/item/zip.rb +5 -5
  245. data/lib/lono/utils/logging.rb +7 -0
  246. data/lib/lono/utils/{pretty_time.rb → pretty.rb} +6 -2
  247. data/lib/lono/utils/quit.rb +7 -0
  248. data/lib/lono/utils/rsync.rb +4 -2
  249. data/lib/lono/utils/sure.rb +4 -4
  250. data/lib/lono/version.rb +1 -1
  251. data/lib/lono.rb +7 -11
  252. data/lib/templates/blueprint/template.rb +2 -0
  253. data/lib/templates/configset/{lib/configset.rb → configset.rb} +0 -0
  254. data/lib/templates/examples/blueprint/template.rb +9 -0
  255. data/lib/templates/helper/%underscore_name%_helper.rb.tt +6 -0
  256. data/lib/templates/{skeleton → project}/.gitignore +1 -2
  257. data/lib/templates/project/Gemfile.tt +11 -0
  258. data/lib/templates/project/README.md +9 -0
  259. data/lib/templates/project/config/app.rb +3 -0
  260. data/lib/templates/shim/lono +7 -0
  261. data/lono.gemspec +51 -43
  262. metadata +260 -273
  263. data/.circleci/README.md +0 -3
  264. data/.circleci/config.yml +0 -58
  265. data/.cody/acceptance.sh +0 -49
  266. data/.cody/buildspec.yml +0 -9
  267. data/.cody/demo.rb +0 -38
  268. data/.cody/project.rb +0 -6
  269. data/.gitmodules +0 -3
  270. data/lib/lono/abstract_base.rb +0 -25
  271. data/lib/lono/aws_services/stack.rb +0 -41
  272. data/lib/lono/aws_services/stack_set.rb +0 -41
  273. data/lib/lono/blueprint/configset/loader.rb +0 -7
  274. data/lib/lono/blueprint/helper.rb +0 -24
  275. data/lib/lono/blueprint/meta.rb +0 -30
  276. data/lib/lono/blueprint/new.rb +0 -127
  277. data/lib/lono/blueprint/root.rb +0 -25
  278. data/lib/lono/cfn/create.rb +0 -41
  279. data/lib/lono/cfn/opts.rb +0 -88
  280. data/lib/lono/cfn/preview/changeset.rb +0 -168
  281. data/lib/lono/cfn/preview/codediff.rb +0 -41
  282. data/lib/lono/cfn/preview/diff_viewer.rb +0 -23
  283. data/lib/lono/cfn/rollback.rb +0 -26
  284. data/lib/lono/cfn/update.rb +0 -71
  285. data/lib/lono/cfn.rb +0 -75
  286. data/lib/lono/clean.rb +0 -14
  287. data/lib/lono/configset/list.rb +0 -67
  288. data/lib/lono/configset/preparer.rb +0 -44
  289. data/lib/lono/configset/register/base.rb +0 -122
  290. data/lib/lono/configset/register/blueprint.rb +0 -16
  291. data/lib/lono/configset/register/dsl.rb +0 -14
  292. data/lib/lono/configset/register/project.rb +0 -13
  293. data/lib/lono/configset/resolver.rb +0 -47
  294. data/lib/lono/configset.rb +0 -16
  295. data/lib/lono/conventions.rb +0 -23
  296. data/lib/lono/core/config.rb +0 -22
  297. data/lib/lono/default/settings.yml +0 -21
  298. data/lib/lono/ext/bundler.rb +0 -7
  299. data/lib/lono/extension/helper.rb +0 -13
  300. data/lib/lono/extension/list.rb +0 -40
  301. data/lib/lono/extension.rb +0 -9
  302. data/lib/lono/extensions/dsl.rb +0 -11
  303. data/lib/lono/extensions/loader.rb +0 -30
  304. data/lib/lono/extensions/preparer.rb +0 -26
  305. data/lib/lono/extensions/register.rb +0 -15
  306. data/lib/lono/extensions.rb +0 -18
  307. data/lib/lono/file_uploader.rb +0 -21
  308. data/lib/lono/finder/base.rb +0 -152
  309. data/lib/lono/finder/blueprint/configset.rb +0 -17
  310. data/lib/lono/finder/blueprint.rb +0 -11
  311. data/lib/lono/finder/configset.rb +0 -11
  312. data/lib/lono/finder/extension.rb +0 -11
  313. data/lib/lono/generate.rb +0 -107
  314. data/lib/lono/help/cfn/create.md +0 -26
  315. data/lib/lono/help/cfn/delete.md +0 -13
  316. data/lib/lono/help/cfn/deploy.md +0 -21
  317. data/lib/lono/help/cfn/download.md +0 -3
  318. data/lib/lono/help/cfn/update.md +0 -49
  319. data/lib/lono/help/cfn.md +0 -7
  320. data/lib/lono/help/new.md +0 -57
  321. data/lib/lono/help/param.md +0 -6
  322. data/lib/lono/help/seed.md +0 -23
  323. data/lib/lono/help/set_instances/delete.md +0 -21
  324. data/lib/lono/help/set_instances/deploy.md +0 -31
  325. data/lib/lono/help/set_instances/list.md +0 -14
  326. data/lib/lono/help/set_instances/status.md +0 -15
  327. data/lib/lono/help/set_instances/sync.md +0 -92
  328. data/lib/lono/help/sets/delete.md +0 -8
  329. data/lib/lono/help/sets/deploy.md +0 -76
  330. data/lib/lono/help/sets/status.md +0 -23
  331. data/lib/lono/help/summary.md +0 -33
  332. data/lib/lono/help/template/generate.md +0 -7
  333. data/lib/lono/help/upgrade.md +0 -1
  334. data/lib/lono/help/xgraph.md +0 -16
  335. data/lib/lono/help.rb +0 -15
  336. data/lib/lono/importer/erb.rb +0 -31
  337. data/lib/lono/inspector/graph.rb +0 -125
  338. data/lib/lono/jade/circular.rb +0 -26
  339. data/lib/lono/jade/materializer/final.rb +0 -10
  340. data/lib/lono/jade/materializer/gems_builder.rb +0 -81
  341. data/lib/lono/jade/materializer/source.rb +0 -54
  342. data/lib/lono/jade/materializer.rb +0 -15
  343. data/lib/lono/jade/registry.rb +0 -64
  344. data/lib/lono/jade.rb +0 -110
  345. data/lib/lono/jadespec.rb +0 -68
  346. data/lib/lono/new/helper.rb +0 -15
  347. data/lib/lono/new.rb +0 -95
  348. data/lib/lono/param.rb +0 -14
  349. data/lib/lono/pro/base.rb +0 -16
  350. data/lib/lono/pro/repo.rb +0 -28
  351. data/lib/lono/pro.rb +0 -15
  352. data/lib/lono/project_checker.rb +0 -35
  353. data/lib/lono/registration/base.rb +0 -37
  354. data/lib/lono/registration/check.rb +0 -15
  355. data/lib/lono/registration/temp.rb +0 -53
  356. data/lib/lono/registration/user.rb +0 -60
  357. data/lib/lono/seed.rb +0 -39
  358. data/lib/lono/sequence.rb +0 -35
  359. data/lib/lono/set_instances/base.rb +0 -30
  360. data/lib/lono/set_instances/changeable.rb +0 -53
  361. data/lib/lono/set_instances/create.rb +0 -7
  362. data/lib/lono/set_instances/delete.rb +0 -47
  363. data/lib/lono/set_instances/deploy.rb +0 -52
  364. data/lib/lono/set_instances/list.rb +0 -13
  365. data/lib/lono/set_instances/opts.rb +0 -37
  366. data/lib/lono/set_instances/status.rb +0 -12
  367. data/lib/lono/set_instances/sync.rb +0 -181
  368. data/lib/lono/set_instances/update.rb +0 -15
  369. data/lib/lono/set_instances.rb +0 -54
  370. data/lib/lono/sets/base.rb +0 -50
  371. data/lib/lono/sets/create.rb +0 -27
  372. data/lib/lono/sets/delete.rb +0 -43
  373. data/lib/lono/sets/deploy.rb +0 -11
  374. data/lib/lono/sets/list.rb +0 -35
  375. data/lib/lono/sets/opts.rb +0 -18
  376. data/lib/lono/sets/preview/codediff.rb +0 -35
  377. data/lib/lono/sets/preview/param.rb +0 -32
  378. data/lib/lono/sets/status/instance/base.rb +0 -120
  379. data/lib/lono/sets/status/instance/completed.rb +0 -35
  380. data/lib/lono/sets/status/instance/deleted.rb +0 -32
  381. data/lib/lono/sets/status/instance/show.rb +0 -7
  382. data/lib/lono/sets/status/instance.rb +0 -20
  383. data/lib/lono/sets/status/instances.rb +0 -136
  384. data/lib/lono/sets/status.rb +0 -128
  385. data/lib/lono/sets/summarize.rb +0 -22
  386. data/lib/lono/sets/time_spent.rb +0 -11
  387. data/lib/lono/sets/update.rb +0 -74
  388. data/lib/lono/sets/waiter.rb +0 -23
  389. data/lib/lono/sets.rb +0 -34
  390. data/lib/lono/setting.rb +0 -75
  391. data/lib/lono/template/aws_service.rb +0 -20
  392. data/lib/lono/template/bashify.rb +0 -39
  393. data/lib/lono/template/configset_injector.rb +0 -52
  394. data/lib/lono/template/context/loader.rb +0 -52
  395. data/lib/lono/template/context.rb +0 -29
  396. data/lib/lono/template/evaluate.rb +0 -40
  397. data/lib/lono/template/generator.rb +0 -23
  398. data/lib/lono/template/helper.rb +0 -152
  399. data/lib/lono/template/strategy/base.rb +0 -4
  400. data/lib/lono/template/strategy/common/helpers.rb +0 -44
  401. data/lib/lono/template/strategy/dsl/builder/helpers/core_helper.rb +0 -14
  402. data/lib/lono/template/strategy/dsl/builder/helpers/file_helper.rb +0 -48
  403. data/lib/lono/template/strategy/dsl/builder/section/base.rb +0 -30
  404. data/lib/lono/template/strategy/dsl/builder/syntax/extend_with.rb +0 -9
  405. data/lib/lono/template/strategy/dsl/builder/syntax.rb +0 -11
  406. data/lib/lono/template/strategy/dsl/builder.rb +0 -59
  407. data/lib/lono/template/strategy/dsl.rb +0 -14
  408. data/lib/lono/template/strategy/erb.rb +0 -82
  409. data/lib/lono/template/strategy/source.rb +0 -8
  410. data/lib/lono/template/template.rb +0 -54
  411. data/lib/lono/template/util.rb +0 -8
  412. data/lib/lono/template.rb +0 -24
  413. data/lib/lono/upgrade.rb +0 -20
  414. data/lib/lono/utils/generators/tree.rb +0 -18
  415. data/lib/templates/blueprint/%blueprint_name%.gemspec.tt +0 -45
  416. data/lib/templates/blueprint/.gitignore +0 -11
  417. data/lib/templates/blueprint/CHANGELOG.md +0 -7
  418. data/lib/templates/blueprint/Gemfile +0 -4
  419. data/lib/templates/blueprint/README.md.tt +0 -33
  420. data/lib/templates/blueprint/Rakefile.tt +0 -9
  421. data/lib/templates/blueprint/seed/configs.rb +0 -28
  422. data/lib/templates/blueprint_types/dsl/app/templates/%blueprint_name%.rb +0 -36
  423. data/lib/templates/blueprint_types/dsl/app/user_data/bootstrap.sh +0 -2
  424. data/lib/templates/blueprint_types/erb/app/definitions/base.rb.tt +0 -1
  425. data/lib/templates/blueprint_types/erb/app/templates/%blueprint_name%.yml +0 -67
  426. data/lib/templates/configset/%configset_name%.gemspec.tt +0 -42
  427. data/lib/templates/configset/.gitignore +0 -10
  428. data/lib/templates/configset/CHANGELOG.md +0 -7
  429. data/lib/templates/configset/Gemfile +0 -4
  430. data/lib/templates/configset/README.md.tt +0 -3
  431. data/lib/templates/configset/Rakefile.tt +0 -9
  432. data/lib/templates/extension/%extension_name%.gemspec.tt +0 -46
  433. data/lib/templates/extension/.gitignore +0 -11
  434. data/lib/templates/extension/.rspec +0 -3
  435. data/lib/templates/extension/CHANGELOG.md +0 -7
  436. data/lib/templates/extension/Gemfile.tt +0 -4
  437. data/lib/templates/extension/Rakefile.tt +0 -9
  438. data/lib/templates/extension/spec/spec_helper.rb.tt +0 -29
  439. data/lib/templates/skeleton/Gemfile +0 -3
  440. data/lib/templates/skeleton/README.md +0 -58
  441. data/lib/templates/skeleton/configs/settings.yml +0 -13
  442. data/vendor/cfn-status/CHANGELOG.md +0 -14
  443. data/vendor/cfn-status/Gemfile +0 -4
  444. data/vendor/cfn-status/Gemfile.lock +0 -49
  445. data/vendor/cfn-status/LICENSE.txt +0 -21
  446. data/vendor/cfn-status/README.md +0 -58
  447. data/vendor/cfn-status/Rakefile +0 -6
  448. data/vendor/cfn-status/bin/console +0 -14
  449. data/vendor/cfn-status/bin/setup +0 -8
  450. data/vendor/cfn-status/cfn-status.gemspec +0 -30
  451. data/vendor/cfn-status/lib/cfn-status.rb +0 -1
  452. data/vendor/cfn-status/lib/cfn_status/aws_service.rb +0 -51
  453. data/vendor/cfn-status/lib/cfn_status/version.rb +0 -3
  454. data/vendor/cfn-status/lib/cfn_status.rb +0 -245
  455. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-1.json +0 -1103
  456. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-2.json +0 -1104
  457. data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-3.json +0 -1103
  458. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-1.json +0 -1103
  459. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-2.json +0 -1104
  460. data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-3.json +0 -1103
  461. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
  462. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
  463. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
  464. data/vendor/cfn-status/spec/lib/cfn_status_spec.rb +0 -153
  465. data/vendor/cfn-status/spec/spec_helper.rb +0 -14
@@ -0,0 +1,33 @@
1
+ module Lono::Cfn
2
+ class Plan < Base
3
+ def run
4
+ if stack_exists?(@stack)
5
+ for_update
6
+ else
7
+ for_create
8
+ end
9
+ end
10
+
11
+ def for_update
12
+ # Allow passing down of the build object from Cfn::Deploy so build.all only runs once.
13
+ # Fallback to creating new build object but still pass one build object instance down.
14
+ @options[:build] ||= build
15
+ if @options[:iam] == true
16
+ @options[:iam] = Lono::Cfn::Deploy::Iam.new(@options)
17
+ end
18
+ Template.new(@options).run
19
+ Param.new(@options).run
20
+ changeset = Changeset.new(@options)
21
+ changeset.create
22
+ changeset # return changeset so it can be executed
23
+ end
24
+
25
+ def for_create
26
+ New.new(@options).run
27
+ end
28
+
29
+ def for_delete
30
+ Delete.new(@options).run
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,30 @@
1
+ module Lono::Cfn
2
+ class Show < Base
3
+ include Plan::Concerns
4
+
5
+ def run
6
+ logger.info "Info for stack: #{@stack.color(:green)}"
7
+ logger.info "Resources:".color(:green)
8
+ print
9
+ Output.new(@options).run
10
+ end
11
+
12
+ def print
13
+ summary.print(resource_types)
14
+ end
15
+
16
+ def resource_types
17
+ resources = find_stack_resources(@stack)
18
+ unless resources
19
+ logger.info "ERROR: Stack #{@stack} not found".color(:red)
20
+ exit 1
21
+ end
22
+
23
+ types = Hash.new(0)
24
+ resources.each do |resource|
25
+ types[resource.resource_type] += 1
26
+ end
27
+ types
28
+ end
29
+ end
30
+ end
@@ -1,4 +1,4 @@
1
- class Lono::Cfn
1
+ module Lono::Cfn
2
2
  class Status < CfnStatus
3
3
  end
4
4
  end
@@ -0,0 +1,17 @@
1
+ class Lono::CLI
2
+ class Abstract
3
+ extend Memoist
4
+ include Lono::Utils::Contexts
5
+ include Lono::Utils::Logging
6
+ include Lono::Utils::Pretty
7
+
8
+ def initialize(options={})
9
+ reinitialize(options)
10
+ end
11
+
12
+ # Hack so that we can use include Thor::Base
13
+ def reinitialize(options)
14
+ @options = options
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,9 @@
1
+ class Lono::CLI
2
+ class Base < Abstract
3
+ def reinitialize(options={})
4
+ super
5
+ @blueprint = Lono::Blueprint.new(options)
6
+ @stack = Lono::Names.new(options).stack
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,91 @@
1
+ class Lono::CLI
2
+ class Build < Base
3
+ delegate :param_path, to: :param_builder
4
+
5
+ # Use class variable to cache this only runs once across all classes. base.rb, diff.rb, preview.rb
6
+ def all
7
+ ensure_s3_bucket_exist unless build_only?
8
+ pre_build
9
+ template_builder.run # build with some placeholders for build_files IE: file://app/files/my.rb
10
+ post_build
11
+ upload unless build_only?
12
+
13
+ parameters = param_builder.build # Writes the json file in CamelCase keys format
14
+ logger.info "" # newline
15
+ parameters
16
+ end
17
+ memoize :all
18
+
19
+ def parameters
20
+ all
21
+ end
22
+
23
+ def build_only?
24
+ ENV['LONO_BUILD_ONLY'] || @options[:build_only]
25
+ end
26
+
27
+ def pre_build
28
+ build_scripts
29
+ end
30
+
31
+ def post_build
32
+ return if @options[:source]
33
+ build_files # builds app/files to output/BLUEPRINT/files
34
+ post_process_template
35
+ end
36
+
37
+ def ensure_s3_bucket_exist
38
+ bucket = Lono::S3::Bucket.new
39
+ return if bucket.exist?
40
+ bucket.deploy
41
+ end
42
+
43
+ def build_scripts
44
+ Lono::Script::Build.new(@options).run
45
+ end
46
+
47
+ def build_files
48
+ Lono::AppFile::Build.new(@options).run
49
+ Lono::Configset::S3File::Build.new(@options).run # copies files to the output folder
50
+ end
51
+
52
+ def post_process_template
53
+ # support for file://app/files/lambda_layer replacement
54
+ # TODO: Lono::Builder::Template::PostProcessor.new(@options).run
55
+ end
56
+
57
+ def upload
58
+ upload_files
59
+ upload_scripts
60
+ upload_templates
61
+ end
62
+
63
+ def upload_templates
64
+ Lono::Builder::Template::Upload.new(@options).run
65
+ end
66
+
67
+ def upload_scripts
68
+ Lono::Script::Upload.new(@options).run
69
+ end
70
+
71
+ def upload_files
72
+ Lono::AppFile::Upload.new(@options).upload
73
+ Lono::Configset::S3File::Upload.new(@options).upload
74
+ end
75
+
76
+ def param_builder
77
+ o = {
78
+ regenerate: true,
79
+ allow_not_exists: true,
80
+ }.merge(@options)
81
+ o = HashWithIndifferentAccess.new(o)
82
+ Lono::Builder::Param.new(o)
83
+ end
84
+ memoize :param_builder
85
+
86
+ def template_builder
87
+ Lono::Builder::Template.new(@options) # write templates to disk
88
+ end
89
+ memoize :template_builder
90
+ end
91
+ end
@@ -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,22 @@
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
+ end
12
+
13
+ def run
14
+ folders = %w[output tmp]
15
+ sure?("Will remove folders: #{folders.join(' ')}")
16
+ folders.each do |folder|
17
+ FileUtils.rm_rf("#{Lono.root}/#{folder}")
18
+ end
19
+ logger.info "Removed folders: #{folders.join(' ')}"
20
+ end
21
+ end
22
+ end
@@ -1,4 +1,4 @@
1
- module Lono
1
+ class Lono::CLI
2
2
  class Code < Lono::Command
3
3
  desc "import SOURCE", "Imports CloudFormation template and converts it to Ruby code."
4
4
  long_desc Help.text("code/import")
@@ -12,7 +12,7 @@ module Lono
12
12
  Importer.new(options.merge(source: source)).run
13
13
  end
14
14
 
15
- desc "convert SOURCE", "Converts snippet of JSON or YAML CloudFormation templates to Ruby code."
15
+ desc "convert SOURCE", "Converts snippet of JSON or YAML CloudFormation template to Ruby code."
16
16
  long_desc Help.text("code/convert")
17
17
  option :casing, default: "as-is", desc: "Controls casing of logical ids. IE: as-is, camelcase or underscore"
18
18
  def convert(source)
@@ -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,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.