github.com/argoproj/argo-cd/v3@v3.2.1/applicationset/generators/utils.go (about) 1 package generators 2 3 import ( 4 "context" 5 6 "k8s.io/client-go/dynamic" 7 "k8s.io/client-go/kubernetes" 8 "sigs.k8s.io/controller-runtime/pkg/client" 9 10 "github.com/argoproj/argo-cd/v3/applicationset/services" 11 ) 12 13 func GetGenerators(ctx context.Context, c client.Client, k8sClient kubernetes.Interface, controllerNamespace string, argoCDService services.Repos, dynamicClient dynamic.Interface, scmConfig SCMConfig) map[string]Generator { 14 terminalGenerators := map[string]Generator{ 15 "List": NewListGenerator(), 16 "Clusters": NewClusterGenerator(ctx, c, k8sClient, controllerNamespace), 17 "Git": NewGitGenerator(argoCDService, controllerNamespace), 18 "SCMProvider": NewSCMProviderGenerator(c, scmConfig), 19 "ClusterDecisionResource": NewDuckTypeGenerator(ctx, dynamicClient, k8sClient, controllerNamespace), 20 "PullRequest": NewPullRequestGenerator(c, scmConfig), 21 "Plugin": NewPluginGenerator(c, controllerNamespace), 22 } 23 24 nestedGenerators := map[string]Generator{ 25 "List": terminalGenerators["List"], 26 "Clusters": terminalGenerators["Clusters"], 27 "Git": terminalGenerators["Git"], 28 "SCMProvider": terminalGenerators["SCMProvider"], 29 "ClusterDecisionResource": terminalGenerators["ClusterDecisionResource"], 30 "PullRequest": terminalGenerators["PullRequest"], 31 "Plugin": terminalGenerators["Plugin"], 32 "Matrix": NewMatrixGenerator(terminalGenerators), 33 "Merge": NewMergeGenerator(terminalGenerators), 34 } 35 36 topLevelGenerators := map[string]Generator{ 37 "List": terminalGenerators["List"], 38 "Clusters": terminalGenerators["Clusters"], 39 "Git": terminalGenerators["Git"], 40 "SCMProvider": terminalGenerators["SCMProvider"], 41 "ClusterDecisionResource": terminalGenerators["ClusterDecisionResource"], 42 "PullRequest": terminalGenerators["PullRequest"], 43 "Plugin": terminalGenerators["Plugin"], 44 "Matrix": NewMatrixGenerator(nestedGenerators), 45 "Merge": NewMergeGenerator(nestedGenerators), 46 } 47 48 return topLevelGenerators 49 }