Welcome to stacker’s documentation!

stacker is a tool and library used to create & update multiple CloudFormation stacks. It was originally written at Remind and released to the open source community.

stacker Blueprints are written in troposphere, though the purpose of most templates is to keep them as generic as possible and then use configuration to modify them.

At Remind we use stacker to manage all of our Cloudformation stacks - both in development, staging and production without any major issues.

Main Features

  • Easily Create/Update/Destroy many stacks in parallel (though with an understanding of cross-stack dependencies)
  • Makes it easy to manage large environments in a single config, while still allowing you to break each part of the environment up into its own completely separate stack.
  • Manages dependencies between stacks, only launching one after all the stacks it depends on are finished.
  • Only updates stacks that have changed and that have not been explicitly locked or disabled.
  • Easily pass Outputs from one stack in as Variables on another (which also automatically provides an implicit dependency)
  • Use Environments to manage slightly different configuration in different environments.
  • Use Lookups to allow dynamic fetching or altering of data used in Variables.
  • A diff command for diffing your config against what is running in a live CloudFormation environment.
  • A small library of pre-shared Blueprints can be found at the stacker_blueprints repo, making things like setting up a VPC easy.

Contents:

Indices and tables