A command-line tool that transforms the raw output of `terraform graph` into clear, interactive visualizations.
Terraform Graph Beautifier is a command-line tool that takes the raw, hard-to-read DOT graph output from Terraform's `terraform graph` command and converts it into clean, interactive visualizations. It solves the problem of deciphering complex infrastructure dependencies by providing multiple output formats, including HTML pages with Cytoscape.js for interactive exploration, JSON for data processing, and prettified Graphviz scripts.
Terraform users, infrastructure engineers, and DevOps practitioners who need to visualize and understand resource dependencies, module hierarchies, and configuration structures in their Terraform projects.
Developers choose it because it directly addresses the usability gap in Terraform's native graph output, offering customizable, interactive visualizations that are essential for debugging, documentation, and team communication, all through a simple CLI interface.
Terraform graph beautifier
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates interactive HTML with Cytoscape.js, JSON for programmatic use, and cleaned Graphviz DOT scripts, offering flexibility for visualization or data processing as detailed in the output types section.
Supports regex patterns via the --exclude parameter to exclude specific resources, modules, or providers, enabling focused analysis of relevant infrastructure parts.
Allows toggling between embedding submodules or displaying them separately with --embed-modules, managing visual density as shown in the comparison images for large graphs.
Enables custom Go templates for HTML output using --cyto-html-template, allowing users to tailor visualization styles and layouts to their needs.
Operates only on static output from `terraform graph`, lacking integration with live Terraform state or support for real-time updates, which limits dynamic analysis.
Customizing HTML templates requires knowledge of Go templates and Cytoscape.js, which can be a barrier for users without web development or Go experience.
The README admits that with --embed-modules=true, large graphs can become dense and hard to read, indicating potential usability and performance issues in browsers.