rancher/rancher · error

parsing GitHub App ID: %w

Error message

parsing GitHub App ID: %w

What it means

Same misconfiguration as the client-side 'parsing AppID' error, but thrown from the provider path (getAppDataWithConfig) when Rancher tries to fetch GitHub App data: config.AppID is not parseable as a base-10 int64. The saved GithubAppConfig contains a non-numeric app ID.

Source

Thrown at pkg/auth/providers/githubapp/githubapp_provider.go:444

	privateKeyName, err := common.CreateOrUpdateSecrets(g.secrets, privateKeyInfo, privateKeyField, strings.ToLower(config.Type))
	if err != nil {
		return err
	}

	config.PrivateKey = privateKeyName

	_, err = g.authConfigs.ObjectClient().Update(config.ObjectMeta.Name, config)
	if err != nil {
		return err
	}

	return nil
}

func getAppDataWithConfig(ctx context.Context, config *apiv3.GithubAppConfig) (*gitHubAppData, error) {
	appID, err := strconv.ParseInt(config.AppID, 10, 64)
	if err != nil {
		return nil, fmt.Errorf("parsing GitHub App ID: %w", err)
	}

	var installationID int64
	if config.InstallationID != "" {
		i, err := strconv.ParseInt(config.InstallationID, 10, 64)
		if err != nil {
			return nil, fmt.Errorf("parsing GitHub installation ID: %w", err)
		}
		installationID = i
	}

	return getDataForApp(ctx, appID, []byte(config.PrivateKey), installationID, getAPIURL("", config))
}

func chooseClientID(host string, sourceConfig *apiv3.GithubAppConfig) *apiv3.GithubAppConfig {
	if host == "" {
		return sourceConfig
	}

View on GitHub (pinned to 932558d4e6)

Solutions

  1. Copy the numeric App ID from GitHub Settings > Developer settings > GitHub Apps
  2. Update spec.appID in the GithubAppConfig and save (this also triggers a data refetch)
  3. Add upstream UI/client-side numeric validation so it cannot be saved again

Example fix

# before
appID: my-rancher-app

# after
appID: "401234"
Defensive patterns

Strategy: validation

Validate before calling

if _, err := strconv.ParseInt(strings.TrimSpace(config.AppID), 10, 64); err != nil {
    return fmt.Errorf("refusing to fetch app data: appID %q is not the numeric GitHub App ID: %w", config.AppID, err)
}

Prevention

When it happens

Trigger: AppID empty, set to the app name, or set to the client ID (Iv1./Ov23 prefix) instead of the numeric App ID; copy-paste artifacts (spaces, quotes) in the field.

Common situations: Config saved through kubectl/helm bypassing UI validation; confusion between App ID and Client ID in GitHub Developer settings.

Related errors


AI-assisted analysis of rancher/rancher@932558d4e6 (2026-08-16). Data as JSON: /api/errors/b75234ad81bd0744. Report an issue: GitHub.