github.com/argoproj/argo-cd/v3@v3.2.1/applicationset/utils/policy.go (about)

     1  package utils
     2  
     3  import (
     4  	argov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
     5  )
     6  
     7  // Policies is a registry of available policies.
     8  var Policies = map[string]argov1alpha1.ApplicationsSyncPolicy{
     9  	"create-only":   argov1alpha1.ApplicationsSyncPolicyCreateOnly,
    10  	"create-update": argov1alpha1.ApplicationsSyncPolicyCreateUpdate,
    11  	"create-delete": argov1alpha1.ApplicationsSyncPolicyCreateDelete,
    12  	"sync":          argov1alpha1.ApplicationsSyncPolicySync,
    13  	// Default is "sync"
    14  	"": argov1alpha1.ApplicationsSyncPolicySync,
    15  }
    16  
    17  func DefaultPolicy(appSetSyncPolicy *argov1alpha1.ApplicationSetSyncPolicy, controllerPolicy argov1alpha1.ApplicationsSyncPolicy, enablePolicyOverride bool) argov1alpha1.ApplicationsSyncPolicy {
    18  	if appSetSyncPolicy == nil || appSetSyncPolicy.ApplicationsSync == nil || !enablePolicyOverride {
    19  		return controllerPolicy
    20  	}
    21  	return *appSetSyncPolicy.ApplicationsSync
    22  }