/stacker

An AWS CloudFormation Stack orchestrator/manager.

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

stacker

https://readthedocs.org/projects/stacker/badge/?version=latest https://circleci.com/gh/cloudtools/stacker.svg?style=shield Code Health codecov

For full documentation, please see the readthedocs site.

Click here to join the Slack team for stacker, and then join the #stacker channel!

About

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.

Requirements

  • Python 2.7
  • Python 3.5+

Stacker Command

The stacker command is built to have sub-commands, much like git. Currently the commands are:

  • build which handles taking your stack config and then launching or updating stacks as necessary.
  • destroy which tears down your stacks
  • diff which compares your currently deployed stack templates to your config files
  • info which prints information about your currently deployed stacks

Docker

Stack can also be executed from Docker. Use this method to run stacker if you want to avoid setting up a python environment:

docker run -it -v `pwd`:/stacks remind101/stacker build ...