Skip to content

Commit b9f645e

Browse files
authored
fetch gitlab token to clone repo based on vcs type (#1965)
1 parent b2bd298 commit b9f645e

File tree

4 files changed

+21
-8
lines changed

4 files changed

+21
-8
lines changed

cli/pkg/spec/manual.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func RunSpecManualCommand(
102102
cmd.Stderr = os.Stderr
103103
cmd.Run()
104104

105-
policyChecker, err := policyProvider.GetPolicyProvider(spec.Policy, spec.Backend.BackendHostname, spec.Backend.BackendOrganisationName, spec.Backend.BackendJobToken)
105+
policyChecker, err := policyProvider.GetPolicyProvider(spec.Policy, spec.Backend.BackendHostname, spec.Backend.BackendOrganisationName, spec.Backend.BackendJobToken, spec.VCS.VcsType)
106106
if err != nil {
107107
usage.ReportErrorAndExit(spec.VCS.Actor, fmt.Sprintf("could not get policy provider: %v", err), 1)
108108
}

cli/pkg/spec/spec.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func RunSpec(
105105
reportError(spec, backendApi, message, err)
106106
}
107107

108-
policyChecker, err := policyProvider.GetPolicyProvider(spec.Policy, spec.Backend.BackendHostname, spec.Backend.BackendOrganisationName, spec.Backend.BackendJobToken)
108+
policyChecker, err := policyProvider.GetPolicyProvider(spec.Policy, spec.Backend.BackendHostname, spec.Backend.BackendOrganisationName, spec.Backend.BackendJobToken, spec.VCS.VcsType)
109109
if err != nil {
110110
message := fmt.Sprintf("could not get policy provider: %v", err)
111111
reportError(spec, backendApi, message, err)

ee/cli/pkg/policy/providers.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,26 @@ import (
1010

1111
type AdvancedPolicyProvider struct{}
1212

13-
func (p AdvancedPolicyProvider) GetPolicyProvider(policySpec lib_spec.PolicySpec, diggerHost string, diggerOrg string, token string) (policy.Checker, error) {
13+
func (p AdvancedPolicyProvider) GetPolicyProvider(policySpec lib_spec.PolicySpec, diggerHost string, diggerOrg string, token string, vcsType string) (policy.Checker, error) {
1414
managementRepo := os.Getenv("DIGGER_MANAGEMENT_REPO")
1515
if managementRepo != "" {
1616
log.Printf("info: using management repo policy provider")
17-
token := os.Getenv("GITHUB_TOKEN")
17+
var token = ""
18+
var tokenName = ""
19+
switch vcsType {
20+
case "github":
21+
token = os.Getenv("GITHUB_TOKEN")
22+
tokenName = "GITHUB_TOKEN"
23+
case "gitlab":
24+
token = os.Getenv("GITLAB_TOKEN")
25+
tokenName = "GITLAB_TOKEN"
26+
default:
27+
token = os.Getenv("GITHUB_TOKEN")
28+
tokenName = "GITHUB_TOKEN"
29+
}
30+
1831
if token == "" {
19-
return nil, fmt.Errorf("failed to get managent repo policy provider: GITHUB_TOKEN not specified")
32+
return nil, fmt.Errorf("failed to get managent repo policy provider: %v not specified", tokenName)
2033
}
2134
return policy.DiggerPolicyChecker{
2235
PolicyProvider: DiggerRepoPolicyProvider{
@@ -26,7 +39,7 @@ func (p AdvancedPolicyProvider) GetPolicyProvider(policySpec lib_spec.PolicySpec
2639
}, nil
2740
}
2841

29-
checker, err := lib_spec.BasicPolicyProvider{}.GetPolicyProvider(policySpec, diggerHost, diggerOrg, token)
42+
checker, err := lib_spec.BasicPolicyProvider{}.GetPolicyProvider(policySpec, diggerHost, diggerOrg, token, "")
3043
return checker, err
3144
}
3245

libs/spec/providers.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,12 +315,12 @@ func (v VCSProviderBasic) GetOrgService(vcsSpec VcsSpec) (ci.OrgService, error)
315315
}
316316

317317
type SpecPolicyProvider interface {
318-
GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string) (policy2.Checker, error)
318+
GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string, vcsType string) (policy2.Checker, error)
319319
}
320320

321321
type BasicPolicyProvider struct{}
322322

323-
func (p BasicPolicyProvider) GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string) (policy2.Checker, error) {
323+
func (p BasicPolicyProvider) GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string, vcsType string) (policy2.Checker, error) {
324324
slog.Debug("Getting policy provider",
325325
"policyType", policySpec.PolicyType,
326326
"diggerHost", diggerHost,

0 commit comments

Comments
 (0)