Skip to content

Runner Scale Set Auth Secret Does Not Support GH App Client ID #3667

Closed
@molson504x

Description

@molson504x

Checks

Controller Version

0.9.3

Deployment Method

Helm

Checks

  • This isn't a question or user support case (For Q&A and community support, go to Discussions).
    I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes

To Reproduce

1. Create an auth secret to authenticate a runner scale set, use the GH App's Client ID (not App ID) in the "github_app_id" secret parameter.
2. Attempt to use this secret when deploying the helm chart for a new runner scale set.  Observe the reconciler error stating `"strconv.ParseInt: parsing \"[GH APP CLIENT ID HERE]\": invalid syntax"`.

Describe the bug

While deploying a runner scale set, I attempted to use the GH App client ID rather than the GH App ID. This produces the following error in the reconciler:

ERROR Reconciler error {"controller": "autoscalingrunnerset", "controllerGroup": "actions.github.com", "controllerKind": "AutoscalingRunnerSet", "AutoscalingRunnerSet": {"name":"gh-arc-runners","namespace":"arc-runners"}, "namespace": "arc-runners", "name": "gh-arc-runners", "reconcileID": "bad05748-8745-447f-bac3-62d771451fe0", "error": "strconv.ParseInt: parsing "I[REDACTED FOR SECURITY REASONS}": invalid syntax"}

However, per the GH App Docs an App ID and Client ID should both be allowed in the iss parameter of a JWT token. Additionally, GitHub seems to be guiding people to use the Client ID for authenticating GH Apps instead of the App ID (messaging such as:

Using your App ID to get installation tokens? You can now use your Client ID instead.

appears on the app configuration page).

When I run this with an App ID instead of a Client ID the runner scale set deploys as expected.

Describe the expected behavior

I'd expect the Client ID to be able to be used when deploying a new Runner Scale Set.

Additional Context

None.

Controller Logs

See note above about the relevant logs output by the controller.

Runner Pod Logs

None, since the runner pod never was deployed because of this error.

Activity

added
bugSomething isn't working
gha-runner-scale-setRelated to the gha-runner-scale-set mode
needs triageRequires review from the maintainers
on Jul 16, 2024
github-actions

github-actions commented on Jul 16, 2024

@github-actions
Contributor

Hello! Thank you for filing an issue.

The maintainers will triage your issue shortly.

In the meantime, please take a look at the troubleshooting guide for bug reports.

If this is a feature request, please review our contribution guidelines.

mark-bennett-droneup

mark-bennett-droneup commented on Sep 26, 2024

@mark-bennett-droneup

Hey, @molson504x.

Thanks for sharing your experience and validating my own. I ran into the same problem today as I attempted to use a Terraform module to deploy arc. I ran into the same problem you did. If you're looking to create a Kubernetes secret with gh_app_id, gh_app_installation_id, and gh_app_private_key, this is what worked for me:

  1. Navigate to https://github.com/organizations/YOUR_ORGANIZATION/settings/installations
  2. Left-click Configure on the GitHub app you created
  3. Rip the INSTALLATION_ID integer from the URL
  4. Store it and set it where needed

I hope this helps or you've found the same workaround already 👍

kenmuse

kenmuse commented on Mar 26, 2025

@kenmuse
Contributor

@Link- / @nikola-jokic - Looks like the code is always treating the GitHub App ID as an int (calling ParseInt). However, customers have been advised to move to using the Client ID everywhere that they formerly used App ID. Since the Client ID is alphanumeric, the call to ParseInt will fail. This issue still reproduces in 0.11.0.

References:

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

    bugSomething isn't workinggha-runner-scale-setRelated to the gha-runner-scale-set mode

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @molson504x@kenmuse@nikola-jokic@mark-bennett-droneup

      Issue actions

        Runner Scale Set Auth Secret Does Not Support GH App Client ID · Issue #3667 · actions/actions-runner-controller