Skip to content

Commit c0d097e

Browse files
committed
fix ee entrypoints
1 parent eca39b5 commit c0d097e

File tree

1 file changed

+44
-21
lines changed

1 file changed

+44
-21
lines changed

ee/cli/cmd/digger/root.go

Lines changed: 44 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
core_policy "github.com/diggerhq/digger/cli/pkg/core/policy"
99
"github.com/diggerhq/digger/cli/pkg/policy"
1010
"github.com/diggerhq/digger/cli/pkg/utils"
11-
ee_policy "github.com/diggerhq/digger/ee/cli/pkg/policy"
1211
"github.com/diggerhq/digger/libs/comment_utils/reporting"
1312
"github.com/diggerhq/digger/libs/locking"
1413
"github.com/diggerhq/digger/libs/orchestrator"
@@ -86,25 +85,11 @@ var lock locking.Lock
8685

8786
func PreRun(cmd *cobra.Command, args []string) {
8887

89-
if os.Getenv("NO_BACKEND") == "true" {
90-
log.Println("WARNING: running in 'backendless' mode. Features that require backend will not be available.")
91-
PolicyChecker = policy.NoOpPolicyChecker{}
92-
BackendApi = backend.NoopApi{}
93-
} else {
94-
if os.Getenv("DIGGER_ORGANISATION") == "" {
95-
log.Fatalf("Token specified but missing organisation: DIGGER_ORGANISATION. Please set this value in action digger_config.")
96-
}
97-
PolicyChecker = policy.DiggerPolicyChecker{
98-
PolicyProvider: &ee_policy.DiggerRepoPolicyProvider{
99-
ManagementRepoUrl: os.Getenv("DIGGER_MANAGEMENT_REPO"),
100-
GitToken: os.Getenv("GITHUB_TOKEN"),
101-
}}
102-
BackendApi = backend.DiggerApi{
103-
DiggerHost: os.Getenv("DIGGER_HOSTNAME"),
104-
AuthToken: os.Getenv("DIGGER_TOKEN"),
105-
HttpClient: http.DefaultClient,
106-
}
107-
}
88+
hostName := os.Getenv("DIGGER_HOSTNAME")
89+
token := os.Getenv("DIGGER_TOKEN")
90+
orgName := os.Getenv("DIGGER_ORGANISATION")
91+
BackendApi = NewBackendApi(hostName, token)
92+
PolicyChecker = NewPolicyChecker(hostName, orgName, token)
10893

10994
if os.Getenv("REPORTING_STRATEGY") == "comments_per_run" || os.Getenv("ACCUMULATE_PLANS") == "true" {
11095
ReportStrategy = &reporting.CommentPerRunStrategy{
@@ -119,14 +104,52 @@ func PreRun(cmd *cobra.Command, args []string) {
119104
}
120105

121106
var err error
122-
lock, err = locking.GetLock()
107+
if os.Getenv("NO_BACKEND") == "true" {
108+
lock, err = locking.GetLock()
109+
} else {
110+
log.Printf("Warning: not performing locking in cli since digger is invoked with orchestrator mode, any arguments to LOCKING_PROVIDER will be ignored")
111+
lock = locking.NoOpLock{}
112+
err = nil
113+
}
123114
if err != nil {
124115
log.Printf("Failed to create lock provider. %s\n", err)
125116
os.Exit(2)
126117
}
127118
log.Println("Lock provider has been created successfully")
128119
}
129120

121+
func NewBackendApi(hostName string, authToken string) core_backend.Api {
122+
var backendApi core_backend.Api
123+
if os.Getenv("NO_BACKEND") == "true" {
124+
log.Println("WARNING: running in 'backendless' mode. Features that require backend will not be available.")
125+
backendApi = backend.NoopApi{}
126+
} else {
127+
backendApi = backend.DiggerApi{
128+
DiggerHost: hostName,
129+
AuthToken: authToken,
130+
HttpClient: http.DefaultClient,
131+
}
132+
}
133+
return backendApi
134+
}
135+
136+
func NewPolicyChecker(hostname string, organisationName string, authToken string) core_policy.Checker {
137+
var policyChecker core_policy.Checker
138+
if os.Getenv("NO_BACKEND") == "true" {
139+
log.Println("WARNING: running in 'backendless' mode. Features that require backend will not be available.")
140+
policyChecker = policy.NoOpPolicyChecker{}
141+
} else {
142+
policyChecker = policy.DiggerPolicyChecker{
143+
PolicyProvider: &policy.DiggerHttpPolicyProvider{
144+
DiggerHost: hostname,
145+
DiggerOrganisation: organisationName,
146+
AuthToken: authToken,
147+
HttpClient: http.DefaultClient,
148+
}}
149+
}
150+
return policyChecker
151+
}
152+
130153
var rootCmd = &cobra.Command{
131154
Use: "digger",
132155
Short: "An open source IaC orchestration tool",

0 commit comments

Comments
 (0)