Skip to content

paddlco/ecsy

 
 

Repository files navigation

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:

About

A command-line tool for provisioning and managing AWS ECS clusters

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 97.1%
  • Makefile 1.6%
  • Shell 1.3%