title: Force Terraform to install providers from local disk only, disabling Terraform Registry
body: <p>Since 1995, we have used an update mechanism which</p>
  <ul>
  <li>cleanly updates and removes software</li>
  <li>centrally stores all software meta-data internally to manage needs and artifacts from a single source of truth</li>
  <li>NEVER triggers itself arbitrarily.</li>
  </ul>
  <p>While we understand terraform has begun reaching out to a registry in a brave reinvention of that wheel without any of those features, we wish to disable it completely.  Our current kit includes only one plugin:</p>
  <pre><code>terraform-0.13.0-1.el7.harbottle.x86_64
  golang-github-terraform-provider-vsphere-1.13.0-0.1.x86_64
  </code></pre>
  <p>The goal is</p>
  <ol>
  <li>never check the registry</li>
  <li>return an error if the given module is not installed</li>
  </ol>
  <p>and I'd be very grateful for good suggestions toward that end.  Is there a setting I've overlooked, or can we fake it by telling it to look somewhere empty?  Is there a -stay-in-your-lane switch?</p>
  <p>Clarification:</p>
  <ul>
  <li>the add-on package is a go-build package which delivers a single artifact <code>/usr/bin/terraform-provider-vsphere</code> and nothing else.  This has worked wonderfully for all previous incarnations and may have only begun to act up in v13.</li>
  </ul>
  <p>Update:  These things failed:</p>
  <ul>
  <li><code>terraform init -plugin-dir=/dev/shm</code></li>
  <li><code>terraform init -get-plugins=false</code></li>
  <li><code>terraform init -get=false</code></li>
  <li>setting <code>terraform::required_providers::vsphere::source=&quot;&quot;</code></li>
  <li><code>echo &quot;disable_checkpoint = true&quot; &gt; ~/.terraformrc</code></li>
  </ul>
  <pre><code>$ terraform init -get-plugins=false
  
  Initializing the backend...
  
  Initializing provider plugins...
  - Finding latest version of -/vsphere...
  - Finding latest version of hashicorp/vsphere...
  </code></pre>
  <p>Update:  I'm still a bit off:</p>
  <pre><code>rpm -qlp golang-github-terraform-provider-vsphere
  /usr/share/terraform/plugins/registry.terraform.io/hashicorp/vsphere/1.14.0/linux_amd64/terraform-provider-vsphere
  </code></pre>
  <p>I feel I'm really close.  /usr/share/ is in the XDG default search path, and it DOES seem to find the location, but it seems to check the registry first/at-all, which is unexpected.</p>
  <pre><code>Initializing provider plugins...
  - Finding latest version of hashicorp/vsphere...
  - Finding latest version of -/vsphere...
  - Installing hashicorp/vsphere v1.14.0...
  - Installed hashicorp/vsphere v1.14.0 (unauthenticated)
  
  Error: Failed to query available provider packages
  </code></pre>
  <p>Are we <em>sure</em> it stops checking if it has something local, and that it does that by default?  Did I read that right?</p>