Ennio is an interstack orchestration framework for AWS CloudFormation
Use the package manager pip to install foobar.
pip install ennio
Cloudformation alone cannot do all the infrastructure work. Frequently we need some extra operational steps between deployments of Cloudformation stacks. Moreover, we often split a huge application into several smaller stacks to minimize the maintenance effort. It is good to have a mechanism to do all the stack deployments in a single step, and possibly do rollback all the changes to a previous when a stack deployment failed. Ennio did all that for us.
This framework, like many others, are opinionated, in that:
- We believe in reproducible deployments. For each build of infra code, we should create a bundle that can be deployed and redeployed anytime we like.
- We had made a decision to store this bundle in S3.
- Although we had provided a way to generate cloudformation templates using jinja2, and prefer that all templates be written in yaml, you can still bring your own way to generate all the templates.
Please take a look at the sample project in example dir.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.