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-coreThe 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
- Read
CODEOWNERSfor the directory. - Run
git log --pretty=format:"%an" -- <path> | sort | uniq -c | sort -rn | headto see who's been active in that area recently. - Filter out bot accounts (anything ending in
[bot]) and obviously-old contributors who no longer work on Terraform. - 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.