Open-Source Wikis

/

Terraform

/

Maintainers

hashicorp/terraform

Maintainers

Subsystem-to-owner mapping for hashicorp/terraform. Combines the CODEOWNERS file with git log evidence on the default branch.

CODEOWNERS

CODEOWNERS (root of the repo) declares the official ownership rules. The dominant rule is the catch-all:

* @hashicorp/terraform-core

The Terraform Core team owns the entire repository by default. Specific overrides cover backend directories whose subject-matter experts live in other HashiCorp teams or in the wider community.

Path Official owners
* (catch-all) @hashicorp/terraform-core
/internal/backend/remote-state/azure @hashicorp/terraform-core @hashicorp/terraform-azure
/internal/backend/remote-state/gcs @hashicorp/terraform-core @hashicorp/tf-eco-hybrid-cloud
/internal/backend/remote-state/http @hashicorp/terraform-core
/internal/backend/remote-state/s3 @hashicorp/terraform-core @hashicorp/terraform-aws
/internal/backend/remote-state/kubernetes @hashicorp/terraform-core @hashicorp/tf-eco-hybrid-cloud
/internal/backend/remote @hashicorp/terraform-core @hashicorp/tf-core-cloud
/internal/cloud @hashicorp/terraform-core @hashicorp/tf-core-cloud
builtin/provisioners/file @hashicorp/terraform-core
builtin/provisioners/local-exec @hashicorp/terraform-core
builtin/provisioners/remote-exec @hashicorp/terraform-core
/internal/command/jsonplan/action_invocations.go @hashicorp/team-tf-actions @hashicorp/terraform-core
/internal/plans/action_invocation.go @hashicorp/team-tf-actions @hashicorp/terraform-core

Several backends are listed in the file as commented out:

Path Status
/internal/backend/remote-state/consul Unmaintained
/internal/backend/remote-state/cos @likexian (third-party, not in HashiCorp org)
/internal/backend/remote-state/oss @xiaozhu36 (third-party)
/internal/backend/remote-state/pg @remilapeyre (third-party)
/internal/backend/remote-state/oci @ravinitp @pvkrishnachaitanya (third-party)

These remain in the codebase as documentation but cannot be assigned automatically by GitHub's PR workflow. PRs to these backends are reviewed at the discretion of the listed maintainers.

Top recent committers (overall)

Derived from git shortlog -sn origin/main at the snapshot date. Excludes obvious bot accounts.

Rank Name Approximate commit count
1 James Bardin 4,163
2 Mitchell Hashimoto 4,025
3 Martin Atkins 2,956
4 Paul Stack 1,567
5 Radek Simko 1,411
6 Paul Hinze 1,327
7 James Nugent 1,118
8 Clint 915
9 Alisdair McDiarmid 818
10 Sander van Harmelen 640

This list spans the whole 12-year history. The active maintainers as of 2026 are members of @hashicorp/terraform-core; new contributors should engage via issues and PR reviews per the contribution guide.

How to find an active subsystem owner

  1. Read CODEOWNERS for the directory.
  2. Run git log --pretty=format:"%an" -- <path> | sort | uniq -c | sort -rn | head to see who's been active in that area recently.
  3. Filter out bot accounts (anything ending in [bot]) and obviously-old contributors who no longer work on Terraform.
  4. The intersection of CODEOWNERS and recent activity is your best person to ping — but the standard pathway is still GitHub issues, not direct contact.

Subsystem-to-likely-reviewer

A rough mental map (CODEOWNERS plus historical activity):

Subsystem Reviewers most likely to engage
internal/terraform/ (graph engine) Martin Atkins, James Bardin, Liam Cervante
internal/configs/ (configuration) Martin Atkins, James Bardin, Liam Cervante
internal/states/ (state) James Bardin, Martin Atkins
internal/plans/ (plans) James Bardin, Martin Atkins
internal/lang/ (expression evaluation) Martin Atkins, James Bardin, Alisdair McDiarmid
internal/backend/remote-state/s3 terraform-core + terraform-aws
internal/backend/remote-state/azure terraform-core + terraform-azure
internal/backend/remote-state/gcs, kubernetes terraform-core + tf-eco-hybrid-cloud
internal/cloud/, internal/backend/remote/ terraform-core + tf-core-cloud
internal/stacks/ terraform-core, especially Liam Cervante
internal/moduletest/ Liam Cervante, terraform-core
internal/getproviders/ Martin Atkins, James Bardin
internal/plugin/, internal/plugin6/ Martin Atkins, James Bardin

These mappings shift over time; consult CODEOWNERS and recent git log output before pinging anyone directly.

Solo-maintained or unmaintained areas

  • internal/backend/remote-state/consul — unmaintained. Not accepting changes.
  • internal/backend/remote-state/cos, oss, pg, oci — community-maintained; expect long review cycles.
  • internal/legacy/ — vestigial. No maintainer; only updated when removing it would break tests.

Don't @-mention individuals

The contribution guide explicitly asks contributors not to direct-message specific maintainers. The terraform-core team rotates triage; opening an issue or PR is the right path. The team handles labeling and routing internally.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Maintainers – Terraform wiki | Factory