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.
AWS Minion requires Python 3.4+ and was only tested on Ubuntu 14.04 and Mac OS X.
Install from PyPI:
$ sudo pip3 install --upgrade aws-minion
Install from source:
$ sudo python3 setup.py install
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
$ python3 setup.py test --cov-html=yes # run unit tests
$ python3 setup.py flake8 # check code formatting
Bump version, run tests, commit, tag and upload to PyPI:
$ ./release.sh <NEW-VERSION>
See the AWS Minion Documentation on Read the Docs.
Building HTML documentation locally:
$ python3 setup.py docs
- use private and public subnets
- fix hardcoded AMI ID
- create new base AMI
- support private Docker registry with authentication