Skip to content

Support optional repository and permission scoped installation tokens #583

Open

Description

@D4ve0s

Hi,

Firstly, thanks for building and maintaining this resource. It is genuinely useful to see GitHub App based authentication available within the Concourse ecosystem, especially as an alternative to machine users and long lived PATs.

I noticed that GitHub's installation token API supports optional repository and permission downscoping during token generation:

POST /app/installations/{id}/access_tokens

with optional request body fields such as:

{
  "repositories": ["repo-a"],
  "permissions": {
    "contents": "read"
  }
}

From reading the current README and examples, it looks like the resource currently requests installation tokens for users or orgs without exposing these optional scoping parameters.

Would support for optional repository and permission scoped installation token requests be something you would consider adding to the project, or potentially accepting as a future contribution?

Potentially something along the lines of optional source parameters such as:

source:
  appId: ((github-app-id))
  privateKey: ((github-app-private-key))
  org: my-org

  repositories:
    - repo-a
    - repo-b

  permissions:
    contents: read
    pull_requests: write

while keeping existing behaviour fully backwards compatible when omitted.

I think this could help support more least privilege oriented GitHub App usage patterns within Concourse pipelines.

Happy to help investigate further if this aligns with the project's direction.

Thanks again for the project.

Activity

  1. tenjaa commented on Oct 15, 2026

    @tenjaa
    Owner

    Hi @D4ve0s

    sorry for the late reply I somehow overlooked your issue.
    I guess this sounds reasonable. Would you be willing to open a PR?

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions