The Terraform Registry
Crumb's configuration needs the AWS provider today and may need Cloudflare for DNS tomorrow. Where do providers come from, and how does Terraform know which one you mean? From the Terraform Registry.
The rule
The Registry is the catalogue; the source address is the catalogue number.
The Terraform Registry (registry.terraform.io) is a public catalogue of:
- Providers — plugins for platforms, such as
hashicorp/awsorcloudflare/cloudflare. - Modules — reusable packages of Terraform configuration that other people wrote.
Every provider has a source address of the form [hostname/]namespace/type:
hashicorp/awsmeans namespacehashicorp, typeaws.- The hostname defaults to
registry.terraform.io, so the full address isregistry.terraform.io/hashicorp/aws. - A company can run its own private registry, in which case the hostname is spelled out.
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
}
}
}Each Registry entry shows a tier badge:
- Official — owned and maintained by HashiCorp.
- Partner — written and maintained by the platform company itself, and verified.
- Community — published by individuals or groups; quality varies.
A tier is a signal, not a guarantee. A community provider can be excellent and a partner one can lag behind, so also look at how recently it was released, how widely it is downloaded, and whether its documentation covers the resources you need. Modules use a three-part address, such as terraform-aws-modules/vpc/aws: namespace, name, and the provider they target.
The Registry also hosts each provider's documentation: every resource type, its arguments, its attributes and examples. You will spend a lot of time on those pages.
The shortcut
For any platform, search, check the namespace, check the tier. The namespace should belong to HashiCorp or the platform's own company unless you have a good reason.
Search
Search the Registry for "cloudflare". Several results appear.
The trap: grabbing a community provider with a similar name because it ranked first. Look at the namespace before you copy the source address.
Drills
Answer fast — trust the rule.
What does the source address hashicorp/aws expand to?
In cloudflare/cloudflare, which part is the namespace?
Which tier means the platform's own company writes and maintains the provider?
Besides providers, what else does the public Registry host?
Remember
- The Registry lists providers and modules; source addresses are
namespace/type. - Shortcut: search, check namespace, check tier.
- Trap: look-alike community providers ranked above the real one.
