Structure

Ufo creates a .ufo folder within your project which contains the required files used by ufo to build and deploy docker images to ECS. The standard directory structure of the .ufo folder looks like this:

.ufo
├── output
├── params.yml
├── settings.yml
├── settings/cfn/default.yml
├── settings/network/default.yml
├── task_definitions.rb
├── templates
|   └── main.json.erb
└── variables
    ├── base.rb
    ├── production.rb
    └── development.rb

The table below covers the purpose of each folder and file.

File / Directory Description
output/ The folder where the generated task definitions are written to. The way the task definitions are generated is covered in ufo tasks build.
params This is where you can adjust the params that get send to the aws-sdk api calls. More info at Params.
settings.yml Ufo’s general settings file, where you adjust the default settings.
settings/cfn/default.yml Ufo’s cfn settings. You can customize the CloudFormation resource properties here.
settings/network/default.yml Ufo’s network settings. You can customize the vpc and subnets to used here.
task_definitions.rb This is where you define the task definitions and specify the variables to be used by the ERB templates.
templates/ The ERB templates with the task definition json code. The templates are covered in more detail in ufo tasks build.
templates/main.json.erb This is the main and starter template task definition json file that ufo initially generates.
variables This is where you can define shared variables that are made available to the template_definitions.rb and your templates. More info at Variables.

Now that you know where the ufo configurations are located and what they look like, let’s use ufo!

Pro tip: Use the <- and -> arrow keys to move back and forward.

Edit this page

See a typo or an error? You can improve this page. This website is available on GitHub and contributions are encouraged and welcomed. We love pull requests from you!