lono 3.5.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -4
  3. data/.rspec +1 -0
  4. data/CHANGELOG.md +15 -1
  5. data/Gemfile +3 -3
  6. data/Guardfile +17 -8
  7. data/{LICENSE → LICENSE.txt} +1 -1
  8. data/README.md +20 -12
  9. data/Rakefile +1 -2
  10. data/{bin → exe}/lono +1 -0
  11. data/lib/lono.rb +12 -9
  12. data/lib/lono/cfn.rb +7 -9
  13. data/lib/lono/cfn/{aws_services.rb → aws_service.rb} +1 -1
  14. data/lib/lono/cfn/base.rb +41 -38
  15. data/lib/lono/cfn/create.rb +6 -2
  16. data/lib/lono/cfn/delete.rb +2 -2
  17. data/lib/lono/cfn/diff.rb +1 -1
  18. data/lib/lono/cfn/preview.rb +26 -15
  19. data/lib/lono/cfn/update.rb +11 -9
  20. data/lib/lono/cfn/util.rb +3 -3
  21. data/lib/lono/clean.rb +1 -1
  22. data/lib/lono/cli.rb +71 -39
  23. data/lib/lono/command.rb +42 -18
  24. data/lib/lono/completer.rb +162 -0
  25. data/lib/lono/completer/script.rb +6 -0
  26. data/lib/lono/completer/script.sh +10 -0
  27. data/lib/lono/completion.rb +15 -0
  28. data/lib/lono/core.rb +23 -9
  29. data/lib/lono/core/config.rb +20 -0
  30. data/lib/lono/default/settings.yml +33 -13
  31. data/lib/lono/help.rb +6 -79
  32. data/lib/lono/help/cfn.md +6 -0
  33. data/lib/lono/help/cfn/create.md +22 -0
  34. data/lib/lono/help/cfn/delete.md +5 -0
  35. data/lib/lono/help/cfn/diff.md +5 -0
  36. data/lib/lono/help/cfn/download.md +5 -0
  37. data/lib/lono/help/cfn/preview.md +11 -0
  38. data/lib/lono/help/cfn/update.md +21 -0
  39. data/lib/lono/help/completion.md +22 -0
  40. data/lib/lono/help/completion_script.md +3 -0
  41. data/lib/lono/help/generate.md +7 -0
  42. data/lib/lono/help/hello.md +5 -0
  43. data/lib/lono/help/import.md +7 -0
  44. data/lib/lono/help/inspect.md +4 -0
  45. data/lib/lono/help/inspect/depends.md +3 -0
  46. data/lib/lono/help/inspect/summary.md +3 -0
  47. data/lib/lono/help/new.md +8 -0
  48. data/lib/lono/help/param.md +3 -0
  49. data/lib/lono/{param/help.rb → help/param/generate.md} +1 -9
  50. data/lib/lono/help/script/build.md +5 -0
  51. data/lib/lono/help/script/upload.md +8 -0
  52. data/lib/lono/help/template.md +4 -0
  53. data/lib/lono/help/template/bashify.md +4 -0
  54. data/lib/lono/help/template/generate.md +7 -0
  55. data/lib/lono/help/user_data.md +3 -0
  56. data/lib/lono/importer.rb +43 -20
  57. data/lib/lono/inspector.rb +2 -19
  58. data/lib/lono/inspector/base.rb +2 -2
  59. data/lib/lono/inspector/{depends.rb → graph.rb} +3 -3
  60. data/lib/lono/inspector/summary.rb +1 -1
  61. data/lib/lono/new.rb +79 -26
  62. data/lib/lono/new/helper.rb +16 -0
  63. data/lib/lono/new/message.rb +35 -0
  64. data/lib/lono/param.rb +1 -2
  65. data/lib/lono/param/generator.rb +34 -86
  66. data/lib/lono/project_checker.rb +35 -40
  67. data/lib/lono/script.rb +19 -0
  68. data/lib/lono/script/base.rb +9 -0
  69. data/lib/lono/script/build.rb +73 -0
  70. data/lib/lono/script/upload.rb +81 -0
  71. data/lib/lono/sequence.rb +33 -0
  72. data/lib/lono/setting.rb +83 -0
  73. data/lib/lono/template.rb +8 -9
  74. data/lib/lono/template/{aws_services.rb → aws_service.rb} +1 -1
  75. data/lib/lono/template/context.rb +73 -0
  76. data/lib/lono/template/dsl.rb +63 -64
  77. data/lib/lono/template/helper.rb +201 -0
  78. data/lib/lono/template/template.rb +29 -221
  79. data/lib/lono/template/upload.rb +41 -33
  80. data/lib/lono/upgrade4.rb +175 -0
  81. data/lib/lono/user_data.rb +31 -0
  82. data/lib/lono/version.rb +1 -1
  83. data/lib/starter_projects/autoscaling/.gitignore +1 -0
  84. data/lib/starter_projects/{json_project → autoscaling}/Gemfile +0 -0
  85. data/lib/starter_projects/{yaml_project → autoscaling}/Guardfile +0 -0
  86. data/lib/starter_projects/autoscaling/README.md +118 -0
  87. data/lib/starter_projects/autoscaling/app/definitions/base.rb +2 -0
  88. data/lib/starter_projects/autoscaling/app/templates/autoscaling.yml +682 -0
  89. data/lib/starter_projects/autoscaling/config/params/base/autoscaling.txt +6 -0
  90. data/lib/starter_projects/autoscaling/config/settings.yml +33 -0
  91. data/lib/starter_projects/ec2/.gitignore +1 -0
  92. data/lib/starter_projects/{yaml_project → ec2}/Gemfile +0 -0
  93. data/lib/starter_projects/{json_project → ec2}/Guardfile +1 -1
  94. data/lib/starter_projects/ec2/README.md +86 -0
  95. data/lib/starter_projects/ec2/app/definitions/base.rb +2 -0
  96. data/lib/starter_projects/ec2/app/definitions/development.rb +1 -0
  97. data/lib/starter_projects/ec2/app/definitions/production.rb +1 -0
  98. data/lib/starter_projects/{yaml_project → ec2/app}/helpers/my_custom_helper.rb +0 -0
  99. data/lib/starter_projects/{json_project/templates/user_data/app.sh → ec2/app/partials/user_data/bootstrap.sh} +1 -2
  100. data/lib/starter_projects/{yaml_project → ec2/app}/templates/example.yml +0 -0
  101. data/lib/starter_projects/{json_project/params/base/api-web.txt → ec2/config/params/base/example.txt} +0 -0
  102. data/lib/starter_projects/ec2/config/params/development/example.txt +3 -0
  103. data/lib/starter_projects/ec2/config/params/production/example.txt +2 -0
  104. data/lib/starter_projects/ec2/config/settings.yml +33 -0
  105. data/lib/starter_projects/ec2/config/variables/base.rb +3 -0
  106. data/lib/starter_projects/ec2/config/variables/development.rb +2 -0
  107. data/lib/starter_projects/ec2/config/variables/production.rb +2 -0
  108. data/lib/starter_projects/ec2/welcome.txt +8 -0
  109. data/lib/starter_projects/skeleton/.gitignore +1 -0
  110. data/lib/starter_projects/skeleton/Gemfile +3 -0
  111. data/lib/starter_projects/skeleton/Guardfile +12 -0
  112. data/lib/starter_projects/skeleton/README.md +53 -0
  113. data/{spec/fixtures/my_project/templates/.gitkeep → lib/starter_projects/skeleton/app/definitions/base.rb} +0 -0
  114. data/lib/starter_projects/skeleton/config/settings.yml +33 -0
  115. data/lib/starter_projects/skeleton/welcome.txt +7 -0
  116. data/lono.gemspec +12 -10
  117. data/spec/fixtures/lono_project/.gitignore +1 -0
  118. data/spec/fixtures/lono_project/Gemfile +3 -0
  119. data/spec/fixtures/lono_project/Guardfile +12 -0
  120. data/spec/fixtures/lono_project/app/definitions/base.rb +10 -0
  121. data/spec/fixtures/lono_project/app/definitions/base/more.rb +7 -0
  122. data/spec/fixtures/lono_project/app/definitions/development.rb +1 -0
  123. data/spec/fixtures/lono_project/app/definitions/production.rb +1 -0
  124. data/spec/fixtures/lono_project/app/helpers/custom_helper.rb +5 -0
  125. data/spec/fixtures/lono_project/app/partials/security_group.yml +10 -0
  126. data/{lib/starter_projects/yaml_project/templates/partial → spec/fixtures/lono_project/app/partials}/user_data/bootstrap.sh +8 -2
  127. data/spec/fixtures/lono_project/app/templates/example.yml +50 -0
  128. data/{lib/starter_projects/yaml_project/params/base/api-web-prod.txt → spec/fixtures/lono_project/config/params/base/example.txt} +1 -0
  129. data/spec/fixtures/lono_project/config/params/development/example.txt +1 -0
  130. data/spec/fixtures/lono_project/config/params/production/example.txt +1 -0
  131. data/spec/fixtures/lono_project/config/settings.yml +31 -0
  132. data/spec/fixtures/lono_project/config/variables/base.rb +3 -0
  133. data/spec/fixtures/lono_project/config/variables/development.rb +1 -0
  134. data/spec/fixtures/lono_project/config/variables/production.rb +1 -0
  135. data/spec/fixtures/params/envonly/params/{prod → development}/network.txt +0 -0
  136. data/spec/fixtures/params/overlay/params/{prod → development}/network.txt +0 -0
  137. data/spec/fixtures/raw_templates/aws-waf-security-automations.template +2 -2
  138. data/spec/lib/lono/cfn_spec.rb +6 -9
  139. data/spec/lib/lono/cli_spec.rb +44 -0
  140. data/spec/lib/lono/completion_spec.rb +17 -0
  141. data/spec/lib/lono/inspect_spec.rb +6 -15
  142. data/spec/lib/lono/param/generator_spec.rb +45 -26
  143. data/spec/lib/lono/param_spec.rb +1 -3
  144. data/spec/lib/lono/setting_spec.rb +47 -0
  145. data/spec/lib/lono/template/dsl_spec.rb +33 -157
  146. data/spec/lib/lono/template_spec.rb +4 -16
  147. data/spec/spec_helper.rb +45 -14
  148. metadata +168 -82
  149. data/.coveralls.yml +0 -1
  150. data/lib/lono/cfn/help.rb +0 -103
  151. data/lib/lono/current_region.rb +0 -42
  152. data/lib/lono/inspector/help.rb +0 -21
  153. data/lib/lono/settings.rb +0 -45
  154. data/lib/lono/template/help.rb +0 -25
  155. data/lib/lono/template/helpers.rb +0 -136
  156. data/lib/starter_projects/json_project/.gitignore +0 -1
  157. data/lib/starter_projects/json_project/config/templates/base/blog.rb +0 -20
  158. data/lib/starter_projects/json_project/config/templates/base/stacks.rb +0 -58
  159. data/lib/starter_projects/json_project/templates/db.json +0 -212
  160. data/lib/starter_projects/json_project/templates/partial/host_record.json +0 -28
  161. data/lib/starter_projects/json_project/templates/partial/server.json +0 -45
  162. data/lib/starter_projects/json_project/templates/user_data/db.sh +0 -39
  163. data/lib/starter_projects/json_project/templates/user_data/db2.sh +0 -2
  164. data/lib/starter_projects/json_project/templates/user_data/ruby_script.rb +0 -5
  165. data/lib/starter_projects/json_project/templates/web.json +0 -386
  166. data/lib/starter_projects/yaml_project/.gitignore +0 -1
  167. data/lib/starter_projects/yaml_project/config/templates/base/blog.rb +0 -20
  168. data/lib/starter_projects/yaml_project/config/templates/base/stacks.rb +0 -56
  169. data/lib/starter_projects/yaml_project/config/templates/prod/stacks.rb +0 -1
  170. data/lib/starter_projects/yaml_project/config/templates/stag/stacks.rb +0 -1
  171. data/lib/starter_projects/yaml_project/config/variables/base/variables.rb +0 -4
  172. data/lib/starter_projects/yaml_project/config/variables/prod/variables.rb +0 -1
  173. data/lib/starter_projects/yaml_project/config/variables/stag/variables.rb +0 -1
  174. data/lib/starter_projects/yaml_project/params/base/example.txt +0 -2
  175. data/lib/starter_projects/yaml_project/params/prod/example.txt +0 -1
  176. data/lib/starter_projects/yaml_project/params/stag/example.txt +0 -1
  177. data/lib/starter_projects/yaml_project/templates/db.yml +0 -148
  178. data/lib/starter_projects/yaml_project/templates/partial/host_record.yml +0 -14
  179. data/lib/starter_projects/yaml_project/templates/partial/server.yml +0 -59
  180. data/lib/starter_projects/yaml_project/templates/web.yml +0 -206
  181. data/spec/fixtures/my_project/config/templates/base/stacks.rb +0 -3
  182. data/spec/fixtures/my_project/params/my-stack.txt +0 -3
  183. data/spec/fixtures/my_project/templates/my-stack.yml +0 -0
  184. data/spec/lib/lono/new_spec.rb +0 -59
  185. data/spec/lib/lono/template/template_spec.rb +0 -104
  186. data/spec/lib/lono_spec.rb +0 -27
@@ -0,0 +1,6 @@
1
+ class Lono::Completer::Script
2
+ def self.generate
3
+ bash_script = File.expand_path("script.sh", File.dirname(__FILE__))
4
+ puts "source #{bash_script}"
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ _lono() {
2
+ COMPREPLY=()
3
+ local word="${COMP_WORDS[COMP_CWORD]}"
4
+ local words=("${COMP_WORDS[@]}")
5
+ unset words[0]
6
+ local completion=$(lono completion ${words[@]})
7
+ COMPREPLY=( $(compgen -W "$completion" -- "$word") )
8
+ }
9
+
10
+ complete -F _lono lono
@@ -0,0 +1,15 @@
1
+ module Lono
2
+ class Completion < Command
3
+ desc "script", "generates script that can be eval to setup auto-completion"
4
+ long_desc Help.text("completion:script")
5
+ def script
6
+ Completer::Script.generate
7
+ end
8
+
9
+ desc "completions *PARAMS", "prints words for auto-completion"
10
+ long_desc Help.text("completion:list")
11
+ def list(*params)
12
+ Completer.new(*params).run
13
+ end
14
+ end
15
+ end
data/lib/lono/core.rb CHANGED
@@ -2,8 +2,11 @@ require 'pathname'
2
2
 
3
3
  module Lono
4
4
  module Core
5
- def env
6
- LONO_ENV
5
+ autoload :Config, 'lono/core/config'
6
+
7
+ @@config = nil
8
+ def config
9
+ @@config ||= Config.new
7
10
  end
8
11
 
9
12
  def root
@@ -11,14 +14,25 @@ module Lono
11
14
  Pathname.new(path)
12
15
  end
13
16
 
14
- def setup!
15
- settings = Lono::Settings.new.data
16
- map = settings['aws_profile_lono_env_map']
17
-
18
- lono_env = map[ENV['AWS_PROFILE']] || map['default'] || 'prod' # defaults to prod
19
- lono_env = ENV['LONO_ENV'] if ENV['LONO_ENV'] # highest precedence
17
+ @@env = nil
18
+ def env
19
+ return @@env if @@env
20
+ ufo_env = env_from_profile(ENV['AWS_PROFILE']) || 'development'
21
+ ufo_env = ENV['LONO_ENV'] if ENV['LONO_ENV'] # highest precedence
22
+ @@env = ufo_env
23
+ end
20
24
 
21
- Kernel.const_set(:LONO_ENV, lono_env)
25
+ private
26
+ # Do not use the Setting class to load the profile because it can cause an
27
+ # infinite loop then if we decide to use Lono.env from within settings class.
28
+ def env_from_profile(aws_profile)
29
+ data = YAML.load_file("#{Lono.root}/config/settings.yml")
30
+ env = data.find do |_env, setting|
31
+ setting ||= {}
32
+ profiles = setting['aws_profiles']
33
+ profiles && profiles.include?(aws_profile)
34
+ end
35
+ env.first if env
22
36
  end
23
37
  end
24
38
  end
@@ -0,0 +1,20 @@
1
+ module Lono::Core
2
+ class Config
3
+ PATHS = {
4
+ definitions_path: "app/definitions",
5
+ helpers_path: "app/helpers",
6
+ partials_path: "app/partials",
7
+ scripts_path: "app/scripts",
8
+ templates_path: "app/templates",
9
+ user_data_path: "app/user_data",
10
+ params_path: "config/params",
11
+ variables_path: "config/variables",
12
+ output_path: "output",
13
+ }
14
+ PATHS.each do |meth, path|
15
+ define_method meth do
16
+ "#{Lono.root}/#{path}"
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,13 +1,33 @@
1
- aws_profile_lono_env_map:
2
- default: prod
3
- # More examples:
4
- # aws_profile1: prod
5
- # aws_profile2: stag
6
- # aws_profile3: dev
7
- s3:
8
- path:
9
- default: # default is nil
10
- # You can specify different buckets for different LONO_ENV. Examples:
11
- # prod: s3://mybucket/templates/storage/path
12
- # stag: s3://mybucket/templates/storage/path
13
- randomize_stack_name: false
1
+ # More info: http://lono.cloud/docs/settings/
2
+ # The base config is specially treated. It gets included the other environments automatically.
3
+ # Yaml also directly supports merging with & and <<* syntax but doing it automatically
4
+ # for a cleaner syntax.
5
+ base:
6
+ # http://lono.cloud/docs/app-scripts/
7
+ # extract_scripts:
8
+ # to: "/opt"
9
+ # as: "ec2-user"
10
+ # If s3_folder is set then the generated templates and app/scripts will automatically
11
+ # be uploaded to s3.
12
+ # There are 2 formats for s3_folder:
13
+ # Format 1:
14
+ # s3_folder: mybucket/path/to/folder # simple string
15
+ # Format 2:
16
+ # s3_folder: # Hash options in order to support multiple AWS_PROFILEs
17
+ # default: mybucket/folder
18
+ # aws_profile1: mybucket/folder
19
+ # aws_profile2: another-bucket/storage/folder
20
+ # randomize_stack_name: true # tack on a 3 char random string at the end of the stack name for lono cfn create
21
+
22
+
23
+ development:
24
+ # When you have AWS_PROFILE set to one of these values, lono will switch to the desired
25
+ # environment. This prevents you from switching AWS_PROFILE, forgetting to
26
+ # also switch LONO_ENV, and accidentally deploying to production vs development.
27
+ # aws_profiles:
28
+ # - dev_profile1
29
+ # - dev_profile2
30
+
31
+ production:
32
+ # aws_profiles:
33
+ # - prod_profile
data/lib/lono/help.rb CHANGED
@@ -1,82 +1,9 @@
1
1
  module Lono::Help
2
- def new_long_desc
3
- <<-EOL
4
- Examples:
5
-
6
- $ lono new project
7
-
8
- $ lono new lono
9
- EOL
2
+ class << self
3
+ def text(namespaced_command)
4
+ path = namespaced_command.to_s.gsub(':','/')
5
+ path = File.expand_path("../help/#{path}.md", __FILE__)
6
+ IO.read(path) if File.exist?(path)
7
+ end
10
8
  end
11
-
12
- def import
13
- <<-EOL
14
- Examples:
15
-
16
- $ lono import /path/to/file
17
-
18
- $ lono import http://url.com/path/to/template.json
19
-
20
- $ lono import http://url.com/path/to/template.yml
21
-
22
- Imports a raw CloudFormation template and lono-fies it.
23
- EOL
24
- end
25
-
26
- def generate
27
- <<-EOL
28
- Examples:
29
-
30
- $ lono generate
31
-
32
- $ lono g -c # shortcut
33
-
34
- Builds both CloudFormation template and parameter files based on lono project and writes them to the output folder on the filesystem.
35
- EOL
36
- end
37
-
38
- def template
39
- <<-EOL
40
- Examples:
41
-
42
- $ lono template generate --help
43
-
44
- $ lono template bashify --help
45
- EOL
46
-
47
- end
48
-
49
- def cfn
50
- <<-EOL
51
- Examples:
52
-
53
- $ lono cfn create my-stack
54
-
55
- $ lono cfn preview my-stack
56
-
57
- $ lono cfn update my-stack
58
-
59
- $ lono cfn delete my-stack
60
- EOL
61
- end
62
-
63
- def param
64
- <<-EOL
65
- Examples:
66
-
67
- $ lono param generate
68
- EOL
69
- end
70
-
71
- def inspector
72
- <<-EOL
73
- Examples:
74
-
75
- $ lono inspect depends my-stack
76
-
77
- $ lono inspect summary my-stack
78
- EOL
79
- end
80
-
81
- extend self
82
9
  end
@@ -0,0 +1,6 @@
1
+ Examples:
2
+
3
+ lono cfn create my-stack
4
+ lono cfn preview my-stack
5
+ lono cfn update my-stack
6
+ lono cfn delete my-stack
@@ -0,0 +1,22 @@
1
+ Examples:
2
+
3
+ Provided that you are in a lono project and have a `my-stack` lono template definition. To create a stack you can simply run:
4
+
5
+ lono cfn create my-stack
6
+
7
+ The above command will generate and use the template in output/my-stack.json and parameters in params/my-stack.txt. The template by convention defaults to the name of the stack. In turn, the params by convention defaults to the name of the template.
8
+
9
+ Here are examples of overriding the template and params name conventions.
10
+
11
+ lono cfn create my-stack --template different1
12
+
13
+ The template used is output/different1.json and the parameters used is output/params/prod/different1.json.
14
+
15
+ lono cfn create my-stack --params different2
16
+
17
+ The template used is output/my-stack.json and the parameters used is output/params/prod/different2.json.
18
+
19
+ lono cfn create my-stack --template different3 --params different4
20
+
21
+ The template used is output/different3.json and the parameters used is output/params/prod/different4.json.
22
+
@@ -0,0 +1,5 @@
1
+ Examples:
2
+
3
+ lono cfn delete my-stack
4
+
5
+ The above command will delete my-stack.
@@ -0,0 +1,5 @@
1
+ Displays code diff of the generated CloudFormation template locally vs the existing template on AWS. You can set a desired diff viewer by setting the LONO_CFN_DIFF environment variable.
2
+
3
+ Examples:
4
+
5
+ lono cfn diff my-stack
@@ -0,0 +1,5 @@
1
+ Download CloudFormation template from existing template on AWS.
2
+
3
+ Examples:
4
+
5
+ lono cfn download my-stack
@@ -0,0 +1,11 @@
1
+ Generates a CloudFormation preview. This is similar to a `terraform plan` or puppet's dry-run mode.
2
+
3
+ Example output:
4
+
5
+ CloudFormation preview for 'example' stack update. Changes:
6
+
7
+ Remove AWS::Route53::RecordSet: DnsRecord testsubdomain.sub.tongueroo.com
8
+
9
+ Examples:
10
+
11
+ lono cfn preview my-stack
@@ -0,0 +1,21 @@
1
+ Examples:
2
+
3
+ Provided that you are in a lono project and have a `my-stack` lono template definition. To update a stack you can simply run:
4
+
5
+ lono cfn update my-stack
6
+
7
+ The above command will generate and use the template in output/my-stack.json and parameters in params/my-stack.txt. The template by convention defaults to the name of the stack. In turn, the params by convention defaults to the name of the template.
8
+
9
+ Here are examples of overriding the template and params name conventions.
10
+
11
+ lono cfn update my-stack --template different1
12
+
13
+ The template used is output/different1.json and the parameters used is output/params/prod/different1.json.
14
+
15
+ lono cfn update my-stack --params different2
16
+
17
+ The template used is output/my-stack.json and the parameters used is output/params/prod/different2.json.
18
+
19
+ lono cfn update my-stack --template different3 --params different4
20
+
21
+ The template used is output/different3.json and the parameters used is output/params/prod/different4.json.
@@ -0,0 +1,22 @@
1
+ Example:
2
+
3
+ lono completion
4
+
5
+ Prints words for TAB auto-completion.
6
+
7
+ Examples:
8
+
9
+ lono completion
10
+ lono completion hello
11
+ lono completion hello name
12
+
13
+ To enable, TAB auto-completion add the following to your profile:
14
+
15
+ eval $(lono completion script)
16
+
17
+ Auto-completion example usage:
18
+
19
+ lono [TAB]
20
+ lono hello [TAB]
21
+ lono hello name [TAB]
22
+ lono hello name --[TAB]
@@ -0,0 +1,3 @@
1
+ To use, add the following to your ~/.bashrc or ~/.profile
2
+
3
+ eval $(lono completion script)
@@ -0,0 +1,7 @@
1
+ Examples:
2
+
3
+ lono generate
4
+ lono generate --clean
5
+ lono g --clean # shortcut
6
+
7
+ Builds both CloudFormation template and parameter files based on lono project and writes them to the output folder on the filesystem.
@@ -0,0 +1,5 @@
1
+ Examples:
2
+
3
+ lono hello
4
+ lono hello NAME
5
+ lono hello NAME --from me
@@ -0,0 +1,7 @@
1
+ Examples:
2
+
3
+ lono import /path/to/file
4
+ lono import http://url.com/path/to/template.json
5
+ lono import http://url.com/path/to/template.yml
6
+
7
+ Imports a raw CloudFormation template and lono-fies it.
@@ -0,0 +1,4 @@
1
+ Examples:
2
+
3
+ lono inspect depends my-stack
4
+ lono inspect summary my-stack
@@ -0,0 +1,3 @@
1
+ Example:
2
+
3
+ lono inspect depends my-stack
@@ -0,0 +1,3 @@
1
+ Example:
2
+
3
+ lono inspect summary my-stack
@@ -0,0 +1,8 @@
1
+ Examples:
2
+
3
+ lono new infra # skeleton project with barebones structure
4
+ TEMPLATE=ec2 lono new infra # creates a single server
5
+ TEMPLATE=autoscaling lono new infra
6
+
7
+ For a list of the starter templates:
8
+ https://github.com/tongueroo/lono/tree/master/lib/starter_projects
@@ -0,0 +1,3 @@
1
+ Examples:
2
+
3
+ lono param generate
@@ -1,15 +1,7 @@
1
- class Lono::Param::Help
2
- class << self
3
- def generate
4
- <<-EOL
5
1
  Example:
6
2
 
7
3
  To generate a CloudFormation json parameter files in the params folder to the output/params folder.
8
4
 
9
- $ lono-params generate
5
+ lono-params generate
10
6
 
11
7
  If you have params/my-stack.txt. It will generate a CloudFormation json file in output/params/my-stack.json.
12
- EOL
13
- end
14
- end
15
- end
@@ -0,0 +1,5 @@
1
+ Builds output/scripts/scripts-md5sum.tgz from app/script folder.
2
+
3
+ Examples:
4
+
5
+ lono script build