Skip to content

Replace deprecated github_repository attributes in standard.tf #7

Description

@matt-edmondson

Context

github/standard.tf sets three attributes that are deprecated on github_repository in integrations/github 6.13.0, confirmed by reading the provider's published schema:

  • default_branch
  • has_downloads
  • vulnerability_alerts

Deprecation is a warning rather than an error, so plans and applies still work today. The provider is pinned via a committed .terraform.lock.hcl, so this will not change under the org without a deliberate upgrade.

The one that actually matters

default_branch is deprecated and computed. Setting it on the resource is a no-op. The real mechanism is the separate github_branch_default resource.

It still does useful work elsewhere: github/metadata.tf reads each.value.default_branch as the branch argument for the github_repository_file data sources. So it must stay in local.defaults and must not be blindly forwarded to the repository resource.

All 56 managed repos are confirmed on main, so nothing depends on the no-op today.

Acceptance criteria

  • default_branch is not passed to github_repository, and github_branch_default is used if the default branch should be managed at all
  • has_downloads and vulnerability_alerts are replaced with their current equivalents, or an explicit decision is recorded to keep them until the provider removes them
  • terraform plan produces no deprecation warnings, or the remaining ones are documented

Do this before the convergence apply

Getting it right first avoids a second pass over 56 repositories.

Activity

  1. matt-edmondson commented on Sep 8, 2026

    @matt-edmondson
    ContributorAuthor

    Triage

    Priority: Medium Effort: Small

    What needs to be done: Stop passing the deprecated-and-computed default_branch to github_repository (use github_branch_default if it needs managing), and replace/document has_downloads and vulnerability_alerts.

    Suggested next steps / acceptance criteria:

    • Remove default_branch from the resource args while keeping it in local.defaults for metadata.tf's data-source lookups
    • Replace or explicitly retain (with a documented reason) the other two deprecated attributes
    • Confirm terraform plan produces no deprecation warnings, or document the remainder

    Blockers / dependencies: Should land before .github#3's convergence apply (explicit ordering, author's own comment) to avoid a second pass over 56 repos


    Generated by Claude Code

  2. matt-edmondson commented on Sep 22, 2026

    @matt-edmondson
    ContributorAuthor

    Triage

    Not actionable in this repository — same cause as #8. Not assigning myself, nothing branched.

    github/standard.tf is not here. main contains no Terraform at all: the tracked top level is .editorconfig, .github/, .gitignore, .markdownlint.json, CLAUDE.md, DESCRIPTION.md, TAGS.md, docs/, profile/, scripts/ — there is no github/ or modules/ directory, so there is no standard.tf to edit and no .terraform.lock.hcl pinning the provider whose deprecations this issue is about.

    That matches what #8 established on 2026-09-21 about docs/superpowers/specs/: the Terraform work lives somewhere outside this repository, most likely the infrastructure repo #4 is about standing up, or a working copy that was never committed.

    What would unblock this: the same thing that unblocks #8 — say where the Terraform lives, or commit it. Until then #2, #3, #7 and #9 all read as dependents of #4 rather than as independently actionable.

    The substance still looks right and is worth keeping: default_branch being deprecated and computed is a real trap, and the issue's note that it must stay in local.defaults for metadata.tf's data sources while not being forwarded to the resource is exactly the kind of detail that gets lost otherwise.


    Generated by Claude Code

  3. matt-edmondson commented on Sep 28, 2026

    @matt-edmondson
    ContributorAuthor

    Decision (maintainer, 2026-09-28)

    Answers the "where does standard.tf live" question: in the local Terraform branch, which is moving to a new private ktsu-dev/infrastructure repo (see #4). This issue transfers there once the branch is pushed.

    The scope and acceptance criteria are unchanged. It still lands before the #3 convergence apply.


    Generated by Claude Code

  4. matt-edmondson commented on Sep 28, 2026

    @matt-edmondson
    ContributorAuthor

    Moved to ktsu-dev/infrastructure#2, where github/standard.tf now lives.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions