Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 1.99 KB

README.md

File metadata and controls

62 lines (41 loc) · 1.99 KB

ECSy Build Status

A tool for managing and deploying ECS clusters, because the official one is terrible

Originally 99designs/ecs-cli, many thanks to those guys for being awesome and making it possible for me to release it open-source.

Features

  • CloudFormation based - Network stack, ECS cluster and ECS services
  • Support for managing ECS services with ELB loadbalancers
  • Designed for managing many ECS clusters
  • Built-in support for common third-party services like Datadog
  • Derives ECS Task Definitions from docker-compose v2 definitions

Installing

Either download the binary from https://dl.equinox.io/lox/ecsy/stable, or install with golang:

go get github.com/lox/ecsy

Usage

Create a new ECS Cluster with your app running

# create an ecs cluster and supporting infrastructure (vpc, autoscale group, security groups, etc)
ecsy create-cluster --cluster example --keyname lox --type m4.large --count 4

# create an ecs task and service from a docker-compose file
ecsy create-service --cluster example -f docker-compose.yml

Deploy a new release of your app to a service created above

# Creates and deploys a new task with the helloworld container updated with a new image tag
ecsy deploy --cluster example -f docker-compose.yml helloworld=:v2

Building

Setup the build dependencies.

make setup

Install ecsy.

make install

Why not amazon-ecs-cli?

The main issue with amazon-ecs-cli is that it tries to emulate the docker-compose interface, which isn't a sensible abstraction and ends up making the architecture overly complicated. Contributing the changes we wanted upstream just wasn't viable, and beyond that issues go unanswered and development seems stagnant: