Ufo uses a set of naming conventions. This helps enforce some best practices and also allows the ufo commands to be concise. You can override or bypass the conventions easily.
UFO_ENV to ECS Cluster Convention
By default, the ECS cluster value is the same as UFO_ENV’s value. So if
UFO_ENV=production then the ECS Cluster is
production and if
UFO_ENV=development then the ECS Cluster is
development. You can override this convention by specifying the
--cluster CLI option. You can also override this behavior with settings.yml to spare you from having to type
Service and Task Names Convention
Ufo assumes a convention that service_name and the task_name are the same. If you would like to override this convention, then you can specify the task name.
ufo ship demo-web --task my-task
This means that in the task_definition.rb you will also define it with
my-task. For example:
task_definition "my-task" do source "web" # this corresponds to the file in "ufo/templates/web.json.erb" variables( family: "my-task", .... ) end
Web Service Load Balancer Convention
By convention, if the service has a container named “web”, ufo will automatically create an ELB. If you would like to name a service with the word “web” without an ELB, specify
--elb false. Example:
ufo ship demo-web --elb false
You can also use an existing ELB by specifying the target group arn as the value of the
--elb option. Example:
ufo ship demo-web --elb arn:aws:elasticloadbalancing:us-east-1:12345689:targetgroup/demo-web/12345
Pro tip: Use the <- and -> arrow keys to move back and forward.