semion / ecsopera

AWS ECS Container Orchestration Tooling to update and resize container instances

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ecsopera

BuildStatus Coverage CodeScore

ecsopera - AWS ECS Container Orchestration Tooling to update services and resize 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 git@github.com: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.

About

AWS ECS Container Orchestration Tooling to update and resize container instances

License:MIT License


Languages

Language:Python 99.6%Language:Shell 0.4%