argo-cd/applicationset/utils/policy.go
github-actions[bot] 4d9835927d
Bump major version to 3 (#21410)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-01-10 16:14:00 -05:00

22 lines
913 B
Go

package utils
import (
argov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
// Policies is a registry of available policies.
var Policies = map[string]argov1alpha1.ApplicationsSyncPolicy{
"create-only": argov1alpha1.ApplicationsSyncPolicyCreateOnly,
"create-update": argov1alpha1.ApplicationsSyncPolicyCreateUpdate,
"create-delete": argov1alpha1.ApplicationsSyncPolicyCreateDelete,
"sync": argov1alpha1.ApplicationsSyncPolicySync,
// Default is "sync"
"": argov1alpha1.ApplicationsSyncPolicySync,
}
func DefaultPolicy(appSetSyncPolicy *argov1alpha1.ApplicationSetSyncPolicy, controllerPolicy argov1alpha1.ApplicationsSyncPolicy, enablePolicyOverride bool) argov1alpha1.ApplicationsSyncPolicy {
if appSetSyncPolicy == nil || appSetSyncPolicy.ApplicationsSync == nil || !enablePolicyOverride {
return controllerPolicy
}
return *appSetSyncPolicy.ApplicationsSync
}