What is UFO?
UFO is AWS ECS Deploy Tool. It automates the steps of deployment to ECS.
- Build and Push the Docker Image
- Build the ECS Task Definition and CloudFormation Template
- Deploy to ECS
It also provides some convenient tooling to make it easier and more fun to work with ECS. It tries to provide a heroku-like experience while giving you control over how you want your containers to be run.
UFO Features
- Automation: Builds the Docker image and deployments the ECS Service in one step.
- CLI Customizations: You can customize a plethora of settings for the tool.
- Exec: Use ufo exec to hop into a running container to debug.
- Logs: Use ufo logs to tail and follow the logs.
- DRY: Use the same Task Definition code with ERB templating to keep things DRY. You can write the Task Definition in either YAML or JSON format.
- Layering: Use the same ECS Task Definition code to build multiple environments like dev and prod with Layering.
- Helpers: Use Built-In Helpers like
dockerfile_port
,docker_image
,family
to build the Task Definitions dynamically. You can also add your own Custom Helpers if needed. - IAM: You can define and fully control the IAM permissions used for the EC2 instance and Docker container.
- Generators: UFO ships with a generators to help you get started with ECS quickly.
- Hooks: You can also run boot hooks early into the process and set things like
AWS_PROFILE
.