Pebellslearn by building
0%
RoadmapsMatrixCoursesSandboxSign in
Providers and Project Initialization  ›  Lesson

The Terraform Registry

Terraform Registry 12 minThe Terraform Registry is the public catalogue of providers and modules, and a provider's source address namespace/type points to its entry there.

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/aws or cloudflare/cloudflare.
  • Modules — reusable packages of Terraform configuration that other people wrote.

Every provider has a source address of the form [hostname/]namespace/type:

  • hashicorp/aws means namespace hashicorp, type aws.
  • The hostname defaults to registry.terraform.io, so the full address is registry.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.

Finding a DNS provider for CrumbStep 1 of 4
  1. 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.

quick drill

What does the source address hashicorp/aws expand to?

quick drill

In cloudflare/cloudflare, which part is the namespace?

quick drill

Which tier means the platform's own company writes and maintains the provider?

quick drill

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.

Practice — level up

0/1 solved

Write your answer, then compare it with a rubric and a model answer.

ExplainChoosing a provider

Crumb wants to manage its DNS on Cloudflare with Terraform. Explain how you would find the right provider on the Registry, what its source address means, and how you would judge whether to trust it.