docs/_docs/variables.md in ufo-3.1.2 vs docs/_docs/variables.md in ufo-3.2.0

- old
+ new

@@ -1,38 +1,38 @@ --- title: Shared Variables --- -Often times, you end up using the set of common variables across your task definitions for a project. Ufo supports a shared variables concept to help with this. You specify variables files in the `ufo/variables` folder and they are made availale to your `ufo/task_definitions.rb` as well as your `ufo/templates` files. +Often times, you end up using the set of common variables across your task definitions for a project. Ufo supports a shared variables concept to help with this. You specify variables files in the `.ufo/variables` folder and they are made availale to your `.ufo/task_definitions.rb` as well as your `.ufo/templates` files. For example, given `variables/base.rb`: ``` @image = helper.full_image_name # includes the git sha tongueroo/hi:ufo-[sha]. @cpu = 128 @memory_reservation = 256 @environment = helper.env_file(".env") ``` -You can now use @image in your `ufo/templates/main.json.erb` without having to explicitly declaring them in the `ufo/task_definitions.rb` file. Variables are automatically made available to all templates and the `task_definition.rb` file also. +You can now use `@image` in your `.ufo/templates/main.json.erb` without having to explicitly declaring them in the `.ufo/task_definitions.rb` file. Variables are automatically made available to all templates and the `task_definition.rb` file also. -### Layering +## Layering Shared variables also support a concept called layering. The `variables/base.rb` file is treated specially and will always be evaluated. Additionally, ufo will also evaluate the `variables/[UFO_ENV].rb` according to what UFO_ENV's value is. Thanks to layering, you can easily override variables to suit different environments like `production` or `development`. For example: -`ufo/variables/base.rb`: +`.ufo/variables/base.rb`: ```ruby @image = helper.full_image_name # includes the git sha tongueroo/hi:ufo-[sha]. @cpu = 128 @memory_reservation = 256 @environment = helper.env_file(".env") ``` When `ufo ship` is ran with `UFO_ENV=production` he `variables/production.rb` will be evaluated and layered on top of the variables defined in `base.rb: -`ufo/variables/production.rb`: +`.ufo/variables/production.rb`: ```ruby @environment = helper.env_vars(%Q[ RAILS_ENV=production SECRET_KEY_BASE=secret @@ -40,18 +40,17 @@ ``` When `ufo ship` is ran with `UFO_ENV=development` the `variables/development.rb` will be evaluated and layered on top of the variables defined in `base.rb: -`ufo/variables/development.rb`: +`.ufo/variables/development.rb`: ```ruby @environment = helper.env_vars(%Q[ RAILS_ENV=development SECRET_KEY_BASE=secret ]) ``` - <a id="prev" class="btn btn-basic" href="{% link _docs/ufo-env.md %}">Back</a> <a id="next" class="btn btn-primary" href="{% link _docs/helpers.md %}">Next Step</a> <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>