Skip to content

Latest commit

 

History

History
84 lines (62 loc) · 2.31 KB

README.md

File metadata and controls

84 lines (62 loc) · 2.31 KB

ecsopera

BuildStatus Coverage CodeScore

ecsopera - AWS ECS Container Orchestration Tooling to update services and update container instance AMI's regardless of the number of existing container instances.

Key Features

  • Replace AMI images of underlying Container Instances with a horizontal scale out.
  • Update the task definition version of a defined service.

Requirements

  • Python3.x required
  • Recommend install in virtualenv (sudo not needed then)

Install

pip install ecsopera

To run unit tests:-

git clone [email protected]:Pashbee/ecsopera.git
cd ecsopera/
pip install -e . 
pytest

Pre-req

To use for AWS ECS you will need the pragmatic keys provided by your account access.

You will need to set your keys as either env vars, like so:-

export AWS_ACCESS_KEY_ID=xxxxxxxx
export AWS_SECRET_ACCESS_KEY=xxxxxxxxxx
export AWS_DEFAULT_REGION=eu-west-1

......or pass them as flags using --awsaccesskey and --awssecretkey and ---awsregion

Help

To get help for any of the multi staged commands that ecsopera provides use the --help flag. eg:-

ecsopera --help
Usage: ecsopera [OPTIONS] COMMAND [ARGS]...

Options:
  --awsaccesskey TEXT
  --awssecretkey TEXT
  --awsregion TEXT
  --debug              Debug mode for true verbose output.
  --help               Show this message and exit.

Commands:
  aws-ecs-amiupdate  Use this command to update the container instance Amazon
                     Machine Image.
  aws-ecs-deploy     Use this command to deploy a new task definition to a
                     specified ECS service.

eg:-

ecsopera aws-ecs-amiupdate --help
Usage: ecsopera aws-ecs-amiupdate [OPTIONS]

Options:
  --ami TEXT        The AMI image to ++ to.
  --cluster TEXT    The ECS cluster name to operate on.
  --launchcfg TEXT  The Launch Configuration name to operate on.
  --help            Show this message and exit.