Skip to content

Commit

Permalink
fix ee entrypoints
Browse files Browse the repository at this point in the history
  • Loading branch information
motatoes committed Jun 5, 2024
1 parent eca39b5 commit c0d097e
Showing 1 changed file with 44 additions and 21 deletions.
65 changes: 44 additions & 21 deletions ee/cli/cmd/digger/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
core_policy "github.com/diggerhq/digger/cli/pkg/core/policy"
"github.com/diggerhq/digger/cli/pkg/policy"
"github.com/diggerhq/digger/cli/pkg/utils"
ee_policy "github.com/diggerhq/digger/ee/cli/pkg/policy"
"github.com/diggerhq/digger/libs/comment_utils/reporting"
"github.com/diggerhq/digger/libs/locking"
"github.com/diggerhq/digger/libs/orchestrator"
Expand Down Expand Up @@ -86,25 +85,11 @@ var lock locking.Lock

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

if os.Getenv("NO_BACKEND") == "true" {
log.Println("WARNING: running in 'backendless' mode. Features that require backend will not be available.")
PolicyChecker = policy.NoOpPolicyChecker{}
BackendApi = backend.NoopApi{}
} else {
if os.Getenv("DIGGER_ORGANISATION") == "" {
log.Fatalf("Token specified but missing organisation: DIGGER_ORGANISATION. Please set this value in action digger_config.")
}
PolicyChecker = policy.DiggerPolicyChecker{
PolicyProvider: &ee_policy.DiggerRepoPolicyProvider{
ManagementRepoUrl: os.Getenv("DIGGER_MANAGEMENT_REPO"),
GitToken: os.Getenv("GITHUB_TOKEN"),
}}
BackendApi = backend.DiggerApi{
DiggerHost: os.Getenv("DIGGER_HOSTNAME"),
AuthToken: os.Getenv("DIGGER_TOKEN"),
HttpClient: http.DefaultClient,
}
}
hostName := os.Getenv("DIGGER_HOSTNAME")
token := os.Getenv("DIGGER_TOKEN")
orgName := os.Getenv("DIGGER_ORGANISATION")
BackendApi = NewBackendApi(hostName, token)
PolicyChecker = NewPolicyChecker(hostName, orgName, token)

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

var err error
lock, err = locking.GetLock()
if os.Getenv("NO_BACKEND") == "true" {
lock, err = locking.GetLock()
} else {
log.Printf("Warning: not performing locking in cli since digger is invoked with orchestrator mode, any arguments to LOCKING_PROVIDER will be ignored")
lock = locking.NoOpLock{}
err = nil
}
if err != nil {
log.Printf("Failed to create lock provider. %s\n", err)
os.Exit(2)
}
log.Println("Lock provider has been created successfully")
}

func NewBackendApi(hostName string, authToken string) core_backend.Api {
var backendApi core_backend.Api
if os.Getenv("NO_BACKEND") == "true" {
log.Println("WARNING: running in 'backendless' mode. Features that require backend will not be available.")
backendApi = backend.NoopApi{}
} else {
backendApi = backend.DiggerApi{
DiggerHost: hostName,
AuthToken: authToken,
HttpClient: http.DefaultClient,
}
}
return backendApi
}

func NewPolicyChecker(hostname string, organisationName string, authToken string) core_policy.Checker {
var policyChecker core_policy.Checker
if os.Getenv("NO_BACKEND") == "true" {
log.Println("WARNING: running in 'backendless' mode. Features that require backend will not be available.")
policyChecker = policy.NoOpPolicyChecker{}
} else {
policyChecker = policy.DiggerPolicyChecker{
PolicyProvider: &policy.DiggerHttpPolicyProvider{
DiggerHost: hostname,
DiggerOrganisation: organisationName,
AuthToken: authToken,
HttpClient: http.DefaultClient,
}}
}
return policyChecker
}

var rootCmd = &cobra.Command{
Use: "digger",
Short: "An open source IaC orchestration tool",
Expand Down

0 comments on commit c0d097e

Please sign in to comment.