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 }