Blast Radius

2 min read Original article ↗

Blast Radius is a tool for reasoning about Terraform dependency graphs through interactive visualizations. Use Blast Radius to:

  1. Learn about Terraform or one of its cloud providers, through example configurations
  2. Document your infrastructure.
  3. reason about relationships between resources, and evaluate changes to them.

Online Examples

  1. Amazon Web Services
  2. Azure
  3. Digital Ocean
  4. Google
  5. Kubernetes (k8s)
  6. OpenStack

For Instance

Below is a typical (small) Terraform configuration: enough to launch a single web server and elastic load balancer. Use the searchbox or mouse to highlight a resource of interest, and its dependencies. Click again to dismiss the tooltip, and highlight dependents.

Quickstart

Install blastradius with pip, and Graphviz with e.g. Homebrew.

[...]$ pip3 install blastradius [...]$ brew install graphviz

Point Blast Radius at an init-ed Terraform project, and connect with your browser.

[...]$ blast-radius --serve /path/to/terraform-project * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Further Reading

I've been writing about the development of Blast Radius in a series of blog posts:

  • part one d3 force-directed layouts vs. vanilla graphviz.
  • part two d3-enhanced graphviz layouts, meaningful coloration, animations.
  • part three limiting horizontal sprawl, supporting modules.
  • part four search, pan/zoom, prune-to-selection, docker.

Source is hosted on GitHub, as is issue reporting.

About the Author

Patrick McMurchie (email, about) is a Seattle-resident DevOps Engineer and bicycle enthusiast.

  • Read more about me here.
  • Offers of beer met with great favor.