-
Notifications
You must be signed in to change notification settings - Fork 153
Peribolos
: enable dry-run mode for GitHub Apps
#530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for k8s-prow ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: hoxhaeris The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @hoxhaeris. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Peribolos
: add support for github appPeribolos
: enable dry-run mode for GitHub Apps
/cc @bradmwilliams |
@hoxhaeris: GitHub didn't allow me to request PR reviews from the following users: bradmwilliams. Note that only kubernetes-sigs members and repo collaborators can review this PR, and authors cannot review their own PRs. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/ok-to-test |
ecd8eea
to
19eb059
Compare
Enable Dry-Run Mode for GitHub Apps
Summary
This PR fixes a limitation where GitHub Apps could not use dry-run mode in Peribolos. Previously, attempting to run peribolos without the
--confirm
flag while using GitHub App authentication would fail with:not requesting GitHub App access_token in dry-run mode
.The
allowInDryRun
flag includes mechanical enforcement via hardcoded allowlist to prevent accidental misuse.Problem
GitHub Apps authenticate differently than personal access tokens:
/app/installations/{id}/access_tokens
Solution
Introduce an
allowInDryRun
flag on therequest
struct to selectively allow specific read-only operations that enable other reads (specifically: GitHub App token acquisition) while keeping all actual mutations blocked.Why This Works
Usage
With GitHub Apps