How Terraform Finds and Fetches Providers
Explore how Terraform manages provider discovery and fetching in version 0.13 and later. Understand different provider categories, how to declare providers in Terraform code, and methods to optimize plugin downloads using caching or local mirrors.
There has been a significant change in how Terraform finds and fetches providers with the introduction of version 0.13. In this lesson, we explore how Terraform interacted with providers in prior versions and how that functionality has changed in the newer version.
Categories of Terraform providers
Prior to version 0.13, Terraform providers fell into two categories: HashiCorp distributed providers and independent third-party providers.
HashiCorp distributed providers were hosted by HashiCorp and available for download automatically during Terraform initialization.
Third-party providers could be placed in a local plugins directory that was located at %APPDATA%\terraform.d\plugins for Windows or ∼/.terraform.d/plugins for other operating systems.
Types of Terraform providers
With the introduction of version 0.13, providers can be automatically downloaded from a public or private repository. The official public repository for Terraform is located at registry.terraform.io ...