Skip to content

Latest commit

 

History

History
49 lines (28 loc) · 1.17 KB

DESIGN.md

File metadata and controls

49 lines (28 loc) · 1.17 KB

Anatomy of a Wombat

tl;dr

Wombat is a collection of code that builds Chef configured golden images from packer templates that are then re-consumed by a Cloud service template such as CloudFormation or Google Deployment Manager.

Design Goals

  • coordination without coordination
  • principle of least surprise
  • dynamic templates over static files
  • long build times, short deploy times

A Stroll Down Architecture Lane

The core of wombat is the binary bin/wombat.

wombat build -o BUILDER TEMPLATE

  1. Generate x509 certificates for the domain and ssh keys if there are none
  2. Vendor cookbooks for template
  3. Build Packer images for -o BUILDER (amazon-ebs|googlecompute) with included cookbooks
  • If the TEMPLATE argument is not provided it will execute against all templates in ./packer/

wombat update lock

  1. Create/update wombat.lock based on most recent Packer logs

wombat update template

  1. Create cfn/gdm configuration from lock
  • If no argument is provided it will update both lock and template

wombat deploy STACK

  1. Deploy cfn/gdm stack

wombat outputs STACK

  1. List outputs, specifically Workstation IPs

wombat delete STACK

  1. Delete stack