Sceptre is a tool to drive CloudFormation. Sceptre manages the creation, update and deletion of stacks while providing meta commands which allow users to retrieve information about their stacks. Sceptre is unopinionated, enterprise ready and designed to run as part of CI/CD pipelines. Sceptre is accessible as a CLI tool or as a Python module.
CloudFormation lacks a robust tool to deploy and manage stacks. While the AWS CLI and Boto3 both provide some functionality, neither offer:
Chaining one stack’s outputs to another’s parameters
Easy support for working with role assumption or multiple accounts
All of the above are common tasks when deploying infrastructure.
Sceptre was developed to produce a single tool which can be used to deploy any and all CloudFormation.
Sceptre is used by defining CloudFormation, Jinja2 or Python templates, with corresponding YAML configuration files. The configuration files include which account and region to use as well as the parameters to supply the templates.
For a tutorial on using Sceptre, see Get Started, or find out more information about Sceptre below.
Sceptre’s source code can be found on Github.
Bugs and feature requests should be raised via our Issues page.
The Sceptre community uses a Slack channel #sceptre on the og-aws Slack for discussion. To join use this link http://slackhatesthe.cloud/ to create an account and join the #sceptre channel.
- Get Started
- Command Line Interface
- StackGroup Config
- Stack Config
- Cascading Config
- Environment Variables
- Sceptre User Data
- Resolution order of values
- Template Handlers
- Architecting Sceptre
- Sceptre and IAM
- How do I set AWS Region or Profile via the CLI?
- Should I use a Parameter or Sceptre User Data?
- Why are there two ways to supply environment variables in stack config files?
- How do I call AWS services or use AWS-based tools in my custom hook/resolver/template handler?
- My CI/CD process uses
sceptre launch. How do I delete stacks that aren’t needed anymore?