Skip to content

feat(provider): add a refresh strategy for github app installations - #3676

Draft
grs wants to merge 1 commit into
NVIDIA:mainfrom
grs:github-app-installation
Draft

grs wants to merge 1 commit into
NVIDIA:mainfrom
grs:github-app-installation

Conversation

@grs

@grs grs commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Add gateway-managed minting and rotation of GitHub App installation tokens. Operators configure an app and installation with explicit repository and permission scope; long-running workloads retain access
across token rotations without receiving the app’s private key.

Related Issue

Changes

  • Add the github_app_installation refresh strategy, including RSA JWT signing, scoped token requests, expiry handling, and secret-free failure diagnostics.
  • Store app private keys through the credential driver and reuse existing refresh configuration, status, and rotation commands.
  • Add an importable GitHub App profile supporting API access and Git HTTPS clone/fetch.
  • Update protobuf, CLI, TUI, Go SDK, and documentation.
  • Add independent GitHub E2E coverage with local HTTPS fixtures and real gh and Git clients.

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

@copy-pr-bot

copy-pr-bot Bot commented Sep 24, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Signed-off-by: Gordon Sim <gsim@redhat.com>
@grs
grs force-pushed the github-app-installation branch from 62699a1 to cb9c90c Compare September 25, 2026 19:17

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant