Skip to content

Commit

Permalink
Change GitHub auth to be for GitHub Enterprise Server
Browse files Browse the repository at this point in the history
  • Loading branch information
mouismail committed Sep 5, 2024
1 parent cefbdd0 commit 4ee69d1
Showing 1 changed file with 2 additions and 50 deletions.
52 changes: 2 additions & 50 deletions pkg/clients/github.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,62 +48,14 @@ func NewGithub(logger *zap.SugaredLogger, organizationID, repository string, sev
repository: repository,
serverInfo: severInfo,
}
err := a.initCloudClients()
//err := a.initClients()
if err != nil {
err := a.initClients()
if err != nil) {
return nil, err
}

return a, nil
}

func (a *Github) initCloudClients() error {
ctx := context.Background()
atr, err := ghinstallation.NewAppsTransportKeyFromFile(http.DefaultTransport, a.appID, a.keyPath)

if err != nil {
return fmt.Errorf(utils.ErrMissingClient, err)
}
cloudClient := v3.NewClient(&http.Client{Transport: atr})
installation, _, err := cloudClient.Apps.FindRepositoryInstallation(ctx, a.organizationID, a.repository)
if err != nil {
return fmt.Errorf(utils.ErrFindingOrgInstallations, err)
}
a.installationID = installation.GetID()
a.logger.Infow("found installation id", "installation-id", a.installationID)

installationToken, _, err := cloudClient.Apps.CreateInstallationToken(ctx, a.installationID, nil)
if err != nil {
return fmt.Errorf(utils.ErrCreatingInstallationToken, err)
}
a.installationToken = installationToken.GetToken()

itr := ghinstallation.NewFromAppsTransport(atr, a.installationID)
a.atr = atr
a.itr = itr

a.logger.Infow("successfully initialized github app client", "organization-id", a.organizationID, "installation-id", a.installationID, "expected-events", installation.Events)
return nil
}

func (a *Github) GetCloudV3Client() *v3.Client {
newClient := v3.NewClient(&http.Client{
Transport: &oauth2.Transport{
Base: http.DefaultTransport,
Source: oauth2.StaticTokenSource(&oauth2.Token{AccessToken: a.installationToken}),
},
CheckRedirect: nil,
Jar: nil,
Timeout: 0,
})
return newClient
}

func (a *Github) GetCloudV3AppClient() *v3.Client {
client := v3.NewClient(&http.Client{Transport: a.atr})
return client
}

func (a *Github) initClients() error {
ctx := context.Background()
atr, err := ghinstallation.NewAppsTransportKeyFromFile(http.DefaultTransport, a.appID, a.keyPath)
Expand Down

0 comments on commit 4ee69d1

Please sign in to comment.