Skip to content

l2t3r/aws-minion

 
 

Repository files navigation

AWS Minion

Build Status

Documentation Status

Coverage Status

AWS Minion manages immutable Docker application stacks on Amazon EC2 instances with ELB and Route 53. See the AWS Minion Documentation on Read the Docs.

Application Stack

AWS Minion requires Python 3.4+ and was only tested on Ubuntu 14.04 and Mac OS X.

Installing

Install from PyPI:

$ sudo pip3 install --upgrade aws-minion

Install from source:

$ sudo python3 setup.py install

Running

You can run the tool from source or with the installed console script:

$ pip3 install -r requirements.txt
$ python3 -m aws_minion # run from source
$ minion ...            # run installed console script

You need to configure the AWS region, the AWS VPC and the Route 53 domain before using the tool.

  • Create a new VPC in your AWS account.
  • Create one or more subnets in the VPC (the VPC wizard does this automatically).
  • Configure a new hosted zone/domain (e.g. "apps.example.org") in Route 53.

Example run:

$ minion configure
$ minion app create examples/myapp.yaml
$ minion ver create myapp 0.1 nginx
$ minion ver activate myapp 0.1

Running Unit Tests

$ python3 setup.py test --cov-html=yes  # run unit tests
$ python3 setup.py flake8               # check code formatting

Releasing a New Version

Bump version, run tests, commit, tag and upload to PyPI:

$ ./release.sh <NEW-VERSION>

Documentation

See the AWS Minion Documentation on Read the Docs.

Building HTML documentation locally:

$ python3 setup.py docs

ToDos

  • use private and public subnets
  • fix hardcoded AMI ID
  • create new base AMI
  • support private Docker registry with authentication

Packages

No packages published

Languages

  • Python 99.5%
  • Other 0.5%