feat: Enterprise-level runners#5096
feat: Enterprise-level runners#5096dmitrykiselev27 wants to merge 2 commits intogithub-aws-runners:mainfrom
Conversation
669630b to
1313567
Compare
|
What is the rate limit for this type of pat? Maybe allow multiple pat and set some round robin logic. There is an open pr to support multiple apps for this reason. |
|
@edersonbrilhante as usual, 5000 requests/hour. For this reason, in this implementation When a function creates |
36fd927 to
8b9e1c7
Compare
|
What's the reason for supporting PAT's and not just enterprise github app's? |
|
@Brend-Smits unfortunately, GitHub App on enterprise level does not allow to manage runners.
|
Okay thanks! I will try to arrange a test enterprise to be able to test this and get back to you 👍🏼 |


Description
Adds enterprise-level runner registration support. Previously, runners could only be registered at the repository or organization level using GitHub App authentication. This PR introduces a third registration level — enterprise — using PAT-based authentication against the GitHub Enterprise runner management APIs.
Key changes
Terraform
runner_registration_levelvariable ("repo" | "org" | "enterprise") replaces the booleanenable_organization_runnersenterprise_slugandenterprise_patvariables for enterprise configuration. Supports comma-separated multiple PATs for rate limit distribution.github_appno longer requireskey_base64oridwhenrunner_registration_level = "enterprise"— onlywebhook_secretis needed. No GitHub App creation required for enterprise runners.Lambda functions
client.request()since Octokit's typed helpers don't cover enterprise endpointscreateEnterprisePATClient()inauth.tsreads PAT from SSM and randomly selects one token from a comma-separated list per invocationresolveRunnerType()helper readsRUNNER_REGISTRATION_LEVELenv var with backward-compatible fallback to the legacyENABLE_ORGANIZATION_RUNNERSTest Plan
manage_runners:enterprisescope.Workflow jobsonlyRelated Issues