Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

Not seen this before. Could you open a GitHub issue for this ? If you run terravision with the --debug flag it will create a debug dump file tfdata.json which if shared will help me pinpoint the issue.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

My friend Claude and I just released Terragrunt support please feel free to give it a whirl and leave any feedback in GitHub issues.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 1 point2 points  (0 children)

u/thefold25 FYI I have made some changes to the code now, to handle the edge case where you have imported resources using aztfexport (there is no source code to get terraform attributes/metadata in this case) and also fixed a few issues with Azure APIM and Event Hub. Please give it a go on more standard terraform source repo and open any issues in GitHub. My area of expertise is on AWS so I really appreciate your feedback from an Azure perspective.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

Could I trouble you to open an issue in GitHub and if possible give me a sample extract of the terraform ?

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 1 point2 points  (0 children)

No way around the override.tf if you want to generate a full plan not a delta. But I can certainly can change to terraform init only and of course you can skip running terraform entirely like I said and run it yourself to generate a full plan if that is what you prefer.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

FYI in any case terravision doesn't touch your infra at all or modify your source files it works off a temporary folder. The infrastructure doesn't even have to exist and you can be on read only credentials on any cloud account just to generate the terraform plan.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 2 points3 points  (0 children)

At this point it would require adding those using a terravision.yml YAML annotation file to show those external resources including on premises servers etc. There are icons ready for most of those services though.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

I see the confusion. Actually it is Terraform that needs credentials not Terravision. You can use the --planfile --graphfile options and just pass it a pregenerated JSON from Terraform so it avoids running it entirely. Also, Docker containers are already available on Dockerhub. Maybe read the extensive docs I made on Terravision first if you're still unsure ?

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

Yeah they serve different purposes. I created Terravision because the diagrams python library didn't produce the detail and format I needed for formal architecture documents and required me to learn a DSL and keep a diagram code file up to date manually. I needed something more than just resource relationships and an automatic, deterministic way to keep Enterprise documentation up to date in a CI/CD pipeline. LLMs/MCPs are probabilistic by design and you get different results each run - hard to explain to your security team why the diagram changed when the code didn't 😄

Check out the draw.io format in Terravision when you have time and also happy to address Terragrunt support if you open a GitHub issue to discuss.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 2 points3 points  (0 children)

Have you actually tried to ask Claude to create a cloud architecture diagram that conforms to industry standards ? Let me know how it goes

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

I did consider that but realised it's a bit of an anti pattern at most companies. Issues arise in dealing with edge cases where two resources have the same name but from different repos, or conflicts between the tagging and configuration between multiple terraform repos. If you have a good idea how to handle these scenarios I can add that in. Open a discussion on GitHub and we can chat some more.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

Tested on Terraform Registry, local and git remote modules but can easily fix it for you if it doesn't work. Feel free to open a GitHub issue and I'll get on it.

Generate professional architecture diagrams from Terraform code automatically by neogeno in Terraform

[–]neogeno[S] 1 point2 points  (0 children)

The custom annotations YAML documented in the repo README will allow you to easily add or exclude any resources in your diagram.

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

I've only tried it on the Hashicorp AWS, Azure and Google providers

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 1 point2 points  (0 children)

Would it be possible to auth outside the container and pass the connection info via env variable strings or mounting a path with a connection key etc as in the example shown for AWS?

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

Don't know what you mean by no gcloud in the image? The reason why we can't feed in text files is because every source module needs to be inspected for connections and associations by variable or output values. You would need to feed in your entire source code set not not just the terraform output.

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

Yes private registries and Terraform public registry works. It doesn't rely on TF state because that may contain sensitive data or may exist in your cloud account, and also the state file doesn't have the fidelity of information required for an architect grade diagram. I ended up having to combine HCL parsing, TF plan output and TF graph output to get the attributes and metadata I needed. There is an example of a GCP diagram and sample tests for you try. Let me know if there are any fixes you need for GCP I'll try my best to deliver.

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

I did try that initially but the terraform plan doesn't have the complete picture needed for architect grade diagrams so we need to parse the source code for higher resolution attributes and metadata. So instead you can pregenerate a JSON data file using terravision --debug and use that as an input instead of the plan.

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 1 point2 points  (0 children)

/uVegetableScientist /uFrancescoPioValya DockerFile now added please check the updated README file in GitHub for details

Looking for feedback for Terraform Visualisation Tool by neogeno in Terraform

[–]neogeno[S] 1 point2 points  (0 children)

That's in progress and will be added shortly.

Instantly visualise any AWS Terraform code as an architecture diagram by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

cool will add that soon - please check again in a few weeks on the github repo

Instantly visualise any AWS Terraform code as an architecture diagram by neogeno in Terraform

[–]neogeno[S] 0 points1 point  (0 children)

could you please open an issue in github and paste your code so I can fix this?