Skip to content

Commit

Permalink
feat/fix ee policy provider (#1598)
Browse files Browse the repository at this point in the history
* fix policy provider for ee
  • Loading branch information
motatoes committed Jul 1, 2024
1 parent 522b8d6 commit 96ce5fd
Show file tree
Hide file tree
Showing 9 changed files with 35 additions and 8 deletions.
2 changes: 1 addition & 1 deletion cli/cmd/digger/default.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ var defaultCmd = &cobra.Command{
lib_spec.LockProvider{},
lib_spec.ReporterProvider{},
lib_spec.BackendApiProvider{},
lib_spec.PolicyProvider{},
lib_spec.BasicPolicyProvider{},
lib_spec.PlanStorageProvider{},
comment_updater.CommentUpdaterProviderBasic{},
)
Expand Down
2 changes: 1 addition & 1 deletion cli/cmd/digger/run_spec.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ var runSpecCmd = &cobra.Command{
lib_spec.LockProvider{},
lib_spec.ReporterProvider{},
lib_spec.BackendApiProvider{},
lib_spec.PolicyProvider{},
lib_spec.BasicPolicyProvider{},
lib_spec.PlanStorageProvider{},
comment_summary.CommentUpdaterProviderBasic{},
)
Expand Down
2 changes: 1 addition & 1 deletion cli/pkg/spec/spec.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ func RunSpec(
lockProvider spec.LockProvider,
reporterProvider spec.ReporterProvider,
backedProvider spec.BackendApiProvider,
policyProvider spec.PolicyProvider,
policyProvider spec.SpecPolicyProvider,
PlanStorageProvider spec.PlanStorageProvider,
commentUpdaterProvider comment_summary.CommentUpdaterProvider,
) error {
Expand Down
2 changes: 1 addition & 1 deletion docs/ee/ee-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ Since you are using

To test digger with a plan you can create a PR to one of your terragrunt directories. You will see that digger will start performing a plan and comment it in your Pull request like in the image below:

![Screenshot 2024-06-05 at 18.56.26.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/3f5b7835-e421-4ee4-82ea-ac3b7af79507/81a7a374-6a6f-4472-b8f9-dbf26615fd36/Screenshot_2024-06-05_at_18.56.26.png)
![](images/ee/example-plan.png)

Now in order to perform the apply for this change you just need to comment `digger apply` which will go ahead and apply the changes in the right environment.
Binary file added docs/images/ee/example-plan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion ee/cli/cmd/digger/default.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ var defaultCmd = &cobra.Command{
lib_spec.LockProvider{},
lib_spec.ReporterProvider{},
lib_spec.BackendApiProvider{},
lib_spec.PolicyProvider{},
policy.AdvancedPolicyProvider{},
lib_spec.PlanStorageProvider{},
comment_summary.CommentUpdaterProviderBasic{},
)
Expand Down
3 changes: 2 additions & 1 deletion ee/cli/cmd/digger/run_spec.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
spec2 "github.com/diggerhq/digger/cli/pkg/spec"
"github.com/diggerhq/digger/cli/pkg/usage"
"github.com/diggerhq/digger/ee/cli/pkg/policy"
comment_summary "github.com/diggerhq/digger/libs/comment_utils/summary"
lib_spec "github.com/diggerhq/digger/libs/spec"
"github.com/spf13/cobra"
Expand Down Expand Up @@ -38,7 +39,7 @@ var runSpecCmd = &cobra.Command{
lib_spec.LockProvider{},
lib_spec.ReporterProvider{},
lib_spec.BackendApiProvider{},
lib_spec.PolicyProvider{},
policy.AdvancedPolicyProvider{},
lib_spec.PlanStorageProvider{},
comment_summary.CommentUpdaterProviderBasic{},
)
Expand Down
22 changes: 22 additions & 0 deletions ee/cli/pkg/policy/providers.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,31 @@ import (
"fmt"
core_policy "github.com/diggerhq/digger/cli/pkg/core/policy"
"github.com/diggerhq/digger/cli/pkg/policy"
lib_spec "github.com/diggerhq/digger/libs/spec"
"os"
)

type AdvancedPolicyProvider struct{}

func (p AdvancedPolicyProvider) GetPolicyProvider(policySpec lib_spec.PolicySpec, diggerHost string, diggerOrg string, token string) (core_policy.Checker, error) {
managementRepo := os.Getenv("DIGGER_MANAGEMENT_REPO")
if managementRepo != "" {
token := os.Getenv("GITHUB_TOKEN")
if token == "" {
return nil, fmt.Errorf("failed to get managent repo policy provider: GITHUB_TOKEN not specified")
}
return policy.DiggerPolicyChecker{
PolicyProvider: DiggerRepoPolicyProvider{
ManagementRepoUrl: managementRepo,
GitToken: token,
},
}, nil
}

checker, err := lib_spec.BasicPolicyProvider{}.GetPolicyProvider(policySpec, diggerHost, diggerOrg, token)
return checker, err
}

type PolicyCheckerProviderAdvanced struct{}

func (p PolicyCheckerProviderAdvanced) Get(hostname string, organisationName string, authToken string) (core_policy.Checker, error) {
Expand Down
8 changes: 6 additions & 2 deletions libs/spec/providers.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,9 +182,13 @@ func (v VCSProvider) GetPrService(vcsSpec VcsSpec) (orchestrator.PullRequestServ
}
}

type PolicyProvider struct{}
type SpecPolicyProvider interface {
GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string) (policy.Checker, error)
}

type BasicPolicyProvider struct{}

func (p PolicyProvider) GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string) (policy.Checker, error) {
func (p BasicPolicyProvider) GetPolicyProvider(policySpec PolicySpec, diggerHost string, diggerOrg string, token string) (policy.Checker, error) {
switch policySpec.PolicyType {
case "http":
return policy2.DiggerPolicyChecker{
Expand Down

0 comments on commit 96ce5fd

Please sign in to comment.