Since the concept of Immutable Infrastructure is core to Spinnaker, Spinnaker comes with an
image bakery powered by Hashicorp’s Packer to help produce machine images.
For getting started, the default configuration (no changes required) provides you with enough
Packer templates & base machine image options to learn how the system works. However, once
you want to start customizing the bake process or use artifacts not supported by the default
configuration, these documentation pages will describe how to further configure the bakery.
There are two types of configurations for baking images
Every time we trigger a bake using Spinnaker, Spinnaker invokes a packer template with
a mix of variables provided, the Pipeline currently being executed, and Spinnaker itself.
All of the default packer templates are versioned alongside Rosco, the image bakery
service here. If want to override/include a new template, place it into
~/.hal/DEPLOYMENT/profiles/rosco/packer/ (DEPLOYMENT is typically default, read
more here). Any local scripts/artifacts required by that template can also be placed into
that directory, and referenced relative to the configDir Packer variable that will
automatically be set.