patrickchugh / terravision

Terravision creates Professional Cloud Architecture Diagrams from your Terraform code automatically. Supports AWS, Google and Azure.
Mozilla Public License 2.0
768 stars 77 forks source link

[FEATURE] Add support for locally cached modules #48

Open masonbivens opened 1 year ago

masonbivens commented 1 year ago

There should be a mechanism that allows you to leverage modules that have been downloaded already via the terraform init process. This could potentially offer an easy workaround for the different scm platform integrations, until they are fully fleshed out within the application as well.

patrickchugh commented 1 year ago

Good idea. Right now FYI the modules are cached in the hidden folder ~/.terravision and they don't get downloaded the second time if you refer to the same module next time.

patrickchugh commented 1 year ago

@masonbivens I have updated the code to allow all the SCM integrations that Terraform supports. Please check if this is still necessary ?

masonbivens commented 1 year ago

So this is the error I'm getting now, it seems like it can't leverage private terraform modules from Gitlab. It may be helpful to be able to leverage a users .terraformrc file for handling the credentials for terraform module registries.

Preflight check..
  dot command detected: /opt/homebrew/bin/dot
  gvpr command detected: /opt/homebrew/bin/gvpr
  git command detected: /opt/homebrew/bin/git
  Added Source Location: .
  Parsing ./outputs.tf
    Found 10 output stanza(s)
  Parsing ./main.tf
    Found 7 resource stanza(s)
  Parsing ./versions.tf
  Parsing ./context.tf
    Found 1 module stanza(s)
Loading Sources..
  Downloading External Module: gitlab.com/foobar-company/terraform-local-labels/local
    Cloning from Terraform registry source: https://gitlab.com/foobar-company/terraform-local-labels/local
0it [00:00, ?it/s]
ERROR: Unable to call Git to clone repository! Check git and SSH fingerprints and keys are correct and ensure the URL https://gitlab.com/foobar-company/terraform-local-labels/local is reachable via CLI.
patrickchugh commented 10 months ago

@masonbivens Have you tried the latest code? Can I close this issue?