Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hayesgm/cerberus

Packer-based Provisioner for Automated Docker Deployments
https://github.com/hayesgm/cerberus

Last synced: about 1 month ago
JSON representation

Packer-based Provisioner for Automated Docker Deployments

Awesome Lists containing this project

README

        

# cerberus

## Packer-based Provisioner for Automated Docker Deployments

Cerberus is a set of Cloud Images for automated Docker deployments. A developer can run a Cerberus AMI, for instance, on AWS with user data specifying a Docker repo in the Docker index. The Cerberus instance will automatically run the Docker repo on boot (via Upstart) and poll for updates to the image. When the Docker image is updated in the Docker Index, that Cerberus instance will hot swap in the new build.

Example Flow:

1) Create new instance on AWS using Cerberus-provisioned AMI
2) In `user data` section, use: {"docker":{"repo":"dockerfile/redis",flags:["-p 6379:6379"]}}
3) Open port 6379 in the Security Group for the instance
4) Start the instance
5) When the instance has booted, visit: `http//:6379`

## User Data JSON Spec

```
{
"docker": {
"repo": "",
"tag": "",
"flags": [""]
"auth": "",
"email": "",
},

"notifications": {
"rest": "",
"hipchat": { "token": "", "room": ""}
},

"init": "#!/bin/bash
echo 'My bash script'
"
}
```

### Building an Image

To build an AMI, simply run: `packer build packer.json` or just `./build.sh`. This will assume you have AWS keys to build and AMI (which you will be charged for on your account).

### Public AMI Builds

TODO