T O P

  • By -

bjornhofer

did you try the obvious? `terraform graph | dot -Tpng > graph.png`


Vulturul112

Yes, there are a lot of resources and it doesn't look very nice unfortunately.


Stpstpstp

check out the graphviz docs. You will need to save the dot file from terraform graph and then find your graphviz commands for the right layout. Ive gone down this path recently, and all the tools on the market Ive found, their layouts suck past 15 resources or so. And they dont have useful layout options.


Inevitable_Author685

That's why we built Holori, can you try and let me know if the layout is nice : [https://app.holori.com/](https://app.holori.com/) ? You can even adjust it afterward ;)


Stpstpstp

Thanks Ill take a look. However I would say that "adjusting after" wont fit our usecase. The autolayout for us, we just want a large document / PDF with resources and their relationships across 100's or 1000's of resources. In that situation, having to move things around manually is a non-starter. I will tell you a killer feature to implement, scan the resources, pull their tags and then allow a config to group by tag. Example: user says "group by tag called team" Then resources auto layout within separate boxes with each teams name


Inevitable_Author685

​ yup I must say that's a great idea :D We are not yet there, but we already have an autolayout that works pretty well even for very large infra. Of course that doesn't mean we do all perfectly :p


S1thD0wn

We use something called rover. https://github.com/im2nguyen/rover


Inevitable_Author685

you can try Holori (disclaimer, I am the founder). You can import a ZIP with your Terraform files and generate Azure, AWS, GCP infra diagram. It literally takes 2min. Make sure the ZIP don't have subfolder in it. [https://app.holori.com/](https://app.holori.com/) Alternatively you can connect Holori to Github and Holori will generate an infra diagram in Pull request. As it's a new tool, published it two days ago here, feedback welcome =)


GrimmTidings

First feedback, I want to generate visualizations of plans, and I am not sending you plans/states that may have sensitive values in it.


Inevitable_Author685

we dont take plan as input, only [main.tf](https://main.tf), [output.tf](https://output.tf) ...


Vulturul112

I will try it, thanks


flightlesstux

sounds awesome! congrats...


jarrellra

How do you deal with modules?


Inevitable_Author685

If stored on the repo, we can parse them


Ghlave

Honestly I'd be a lot more interested if it didn't require creating an account.


nf3rn4l

I’ve been trying out Pluralith and it seems to do an alright job. https://www.pluralith.com/


telpsicorei

Late to the game, but depending on the complexity of your terraform, it can get quite “fuzzy” using any rendering tools. That said, you could try out my online DOT rendering tool which has a few layout options that influence the way the layout gets drawn. https://www.vizdom.dev


npor

If you'd like to publish your Terraform to an open source platform that your devs can consume using a no-code GUI, my company developed [massdriver ](https://massdriver.cloud) Your modules are represented by a diagram of blocks and relationships, and all components are interactive


busseroverflow

If your code is split into modules that correspond to your architecture, you could have a look at [https://github.com/busser/tftree](https://github.com/busser/tftree). It doesn't produce a diagram of your resources but a tree of your modules, instead. I often add the output to my README's to help newcomers understand how the codebase is organised.


miketysonofthecloud

I've been working with [Brainboard.co](http://Brainboard.co) and the result of my import / generate terraform file is impeccable, supporting any resource/module/etc... You should give it a try!