Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 1.19 KB

File metadata and controls

20 lines (12 loc) · 1.19 KB

Packer

We use Packer to create the base level machine images for Vagrant / AWS / Digitalocean etc...

This allows us to package a base image which comes pre-baked with the software required to run the Apollo cluster.

The basic principle we have followed is:

  • Anything that needs to be downloaded and installed from the internet for the base components of the cluster goes into the Packer template.
  • We then instantiate these templates and provision them into the cloud. Any config for the environment would be provisioned on the fly by Terraform

This clear distinction is similar to the 12 factor app principle

For more info on the project Packer templates see here

Additional benefits of using Packer include integration with Atlas for use as a build tool to build the Packer AMI for Amazon inside the Atlas cloud.

Going forward we will likely try and abstract more of the system out to Docker containers so that we can run as close to possible off stock operating system images (e.g. just fall back to the base images/droplets/AMIs provided by each cloud provider and not rely on Packer as much).