forest-fire: Recursively delete CloudFormation stacks and their dependants

[ bsd3, library, program, silly-tool ] [ Propose Tags ]

| This simple tool will repeatedly query CloudFormation stacks for outputs, and see if any other stacks are importing those. This is to make it easier to tear down CFn stacks which have many other stacks depending on their outputs.

[Skip to Readme]
Versions [RSS] [faq],,,,, 0.2, 0.2.1, 0.2.2, 0.3
Dependencies aeson, base (>=4.7 && <5), bytestring, cli, containers, forest-fire, pretty-tree, process, text [details]
License BSD-3-Clause
Copyright Copyright: (c) 2017 Paul
Author Paul
Category silly tool
Home page
Source repo head: git clone
Uploaded by toothbrush at 2017-09-21T13:17:24Z
Distributions NixOS:0.3
Executables forest-fire
Downloads 4899 total (31 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2017-09-21 [all 3 reports]


  • AWSCommands
  • JSONInstances
  • Lib
  • TreeUtils
  • Types


Maintainer's Corner

For package maintainers and hackage trustees


Readme for forest-fire-

[back to package description]


This is a little command-line tool with an ill-advised name, to easily tear down CloudFormation stacks which have outputs that other stacks depend on. In the AWS Console this is rather annoying, since you have to manually chase up dependencies.

This tool simply interrogates the aws-cli tool about the stack you're trying to delete, finds out its outputs, and checks whether any currently-active stacks are importing them. The output is a dependency tree, which trivially tells us the order of deletion for it to succeed. If you're feeling adventurous, you may also let forest-fire do the actual deletion for you.



You'll need the following installed and available to be able to use this software:

  • Haskell Stack
  • AWS CLI interface




If you simply run the tool without arguments, it'll print usage information. Here's the down-low, however.

Find out what depends on a stack

stack exec forest-fire -- "kubernetes-dynamic-91acf0ef-lifecycle"

Perform the deletions if you're satisfied with the tree

stack exec forest-fire -- "kubernetes-dynamic-91acf0ef-lifecycle" --delete


Thanks Redbubble, i totally should've been doing other things instead of shaving this yak.